實(shí)驗(yàn)背景:
Linux是個(gè)多用戶多任務(wù)系統(tǒng)劝术,出于安全等原因,對(duì)不同的用戶我們常常做一定的權(quán)限管理⊙空間配額限制就是其中一個(gè)需要考慮的點(diǎn)衬吆。配額是基于分區(qū)配置的,避免用戶數(shù)據(jù)占用太多磁盤空間绳泉,我們常常把home目錄單獨(dú)劃分一個(gè)分區(qū)逊抡,然后對(duì)不同用戶設(shè)定配額。
實(shí)驗(yàn)環(huán)境:
CentOS7.3
實(shí)驗(yàn)內(nèi)容:
一零酪、遷移home到獨(dú)立分區(qū)
二冒嫡、對(duì)用戶設(shè)定配額
實(shí)驗(yàn)命令:
- lsblk、fdisk四苇、mkfs.ext4孝凌、blkid、cp月腋、du蟀架、vim、mount
- setenforce榆骚、quotaon片拍、edquota、su寨躁、dd
一穆碎、遷移home到獨(dú)立分區(qū)
1、劃分分區(qū)
先用lsblk命令看一下當(dāng)前機(jī)器的硬盤使用情況:
[root@CentOS7 ~]#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 97.7G 0 part /
├─sda3 8:3 0 48.8G 0 part /app
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2G 0 part [SWAP]
sr0 11:0 1 7.7G 0 rom
從上面可以看到职恳,磁盤還有大概50G的空間未使用所禀。可以利用這50G添加一個(gè)新分區(qū)放钦。這里我劃分一個(gè)10G的新分區(qū)作為home的獨(dú)立分區(qū):
[root@CentOS7 ~]#fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (313497600-419430399, default 313497600):
Using default value 313497600
Last sector, +sectors or +size{K,M,G} (313497600-419430399, default 419430399): +10G
Partition 6 of type Linux and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
這里有個(gè)warming色徘。我們按提示 使用partprobe /dev/sda
命令刷新一下內(nèi)存的分區(qū)表。
2操禀、格式化新分區(qū)
[root@CentOS7 ~]#mkfs.ext4 /dev/sda6
mke2fs 1.42.9 (28-Dec-2013)
...
[root@CentOS7 ~]#blkid
/dev/sda1: UUID="4e02b896-3f74-4592-a44f-43a79a74627d" TYPE="xfs"
/dev/sda2: UUID="3b254514-1df1-4322-bf30-d14075937249" TYPE="xfs"
/dev/sda3: UUID="6b05345c-d2b7-42ed-bc15-411ffc962fe3" TYPE="xfs"
/dev/sda5: UUID="52074f6b-cdf3-49fd-bea2-09c0d5c92793" TYPE="swap"
/dev/sr0: UUID="2016-12-05-13-52-39-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda6: UUID="4530b0f0-a686-4dbe-80a1-5d425c40f3b9" TYPE="ext4"
新分區(qū)/dev/sda6褂策,UUID="4530b0f0-a686-4dbe-80a1-5d425c40f3b9"
3、備份/home目錄
備份/home目錄到/app
[root@CentOS7 ~]#cp -a /home /app
4颓屑、確認(rèn)一下備份數(shù)據(jù)
[root@CentOS7 ~]#du -sh /home /app/home
3.7M /home
3.7M /app/home
[root@CentOS7 ~]#ls /app/home
hyma luo
[root@CentOS7 ~]#ls /home
hyma luo
5斤寂、刪除/home目錄數(shù)據(jù)
[root@CentOS7 ~]#rm -rf /home
rm: cannot remove ‘/home’: Device or resource busy
刪除/home目錄時(shí)提示目錄在使用中。這種情況我們可以切換到單用戶模式操作揪惦。
注意遍搞!單用戶模式會(huì)中斷網(wǎng)絡(luò)連接的終端,只能在機(jī)器前操作器腋,請(qǐng)慎用溪猿。
6钩杰、配置/etc/fstab
[root@CentOS7 ~]#vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 17 14:26:36 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3b254514-1df1-4322-bf30-d14075937249 / xfs defaults 0 0
UUID=6b05345c-d2b7-42ed-bc15-411ffc962fe3 /app xfs defaults 0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot xfs defaults 0 0
UUID=52074f6b-cdf3-49fd-bea2-09c0d5c92793 swap swap defaults 0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot xfs defaults 0 0
UUID=4530b0f0-a686-4dbe-80a1-5d425c40f3b9 /home ext4 defaults 0 0
7、掛載/dev/sda6到/home目錄下
[root@CentOS7 ~]#mount -a
[root@CentOS7 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 102350000 4563984 97786016 5% /
devtmpfs 485296 0 485296 0% /dev
tmpfs 499968 4 499964 1% /dev/shm
tmpfs 499968 13524 486444 3% /run
tmpfs 499968 0 499968 0% /sys/fs/cgroup
/dev/sda3 51175000 36776 51138224 1% /app
/dev/sda1 1038336 172120 866216 17% /boot
tmpfs 99996 8 99988 1% /run/user/0
/dev/sr0 8086368 8086368 0 100% /run/media/root/CentOS 7 x86_64
/dev/sda6 10190100 36888 9612540 1% /home
8诊县、把備份在/app/home的文件拷貝到/home目錄下
[root@CentOS7 ~]#cp -a /app/home/* /home
二讲弄、對(duì)用戶設(shè)定配額
1、使能分區(qū)quota
我們通過配置/etc/fstab實(shí)現(xiàn)依痊,格式如下:
UUID=4530b0f0-a686-4dbe-80a1-5d425c40f3b9 /home ext4 defaults,usrquota,grpquota 0 0
[luo@CentOS7 ~]$vim /etc/fstab
# /etc/fstab
# Created by anaconda on Wed May 17 14:26:36 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3b254514-1df1-4322-bf30-d14075937249 / xfs defaults 0 0
UUID=6b05345c-d2b7-42ed-bc15-411ffc962fe3 /app xfs defaults 0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot xfs defaults 0 0
UUID=52074f6b-cdf3-49fd-bea2-09c0d5c92793 swap swap defaults 0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot xfs defaults 0 0
UUID=4530b0f0-a686-4dbe-80a1-5d425c40f3b9 /home ext4 defaults,usrquota,grpquota 0 0
2避除、重新掛載磁盤
[root@CentOS7 ~]#mount -o remount /home
3、創(chuàng)建磁盤quota數(shù)據(jù)庫
[root@CentOS7 ~]#setenforce 0
[root@CentOS7 ~]#quotacheck -cug /home
4抗悍、激活/home目錄配額功能
[root@CentOS7 ~]#quotaon /home
[root@CentOS7 ~]#quotaon -p /home
group quota on /home (/dev/sda6) is on
user quota on /home (/dev/sda6) is on
5驹饺、設(shè)定用戶配額
這里我對(duì)用戶luo設(shè)定配額钳枕,設(shè)定配額空間100M
[root@CentOS7 ~]#edquota luo
Disk quotas for user luo (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 52 0 100000 13 0 0
6缴渊、驗(yàn)證
請(qǐng)注意切換成用戶luo,在/home目錄下創(chuàng)建文件
[root@CentOS7 ~]#su - luo
Last login: Sat Jun 24 09:09:08 CST 2017 on pts/0
[luo@CentOS7 ~]$dd if=/dev/zero of=/home/luo/quotatest bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.0537142 s, 976 MB/s
[luo@CentOS7 ~]$dd if=/dev/zero of=/home/luo/quotatest bs=1M count=110
sda6: write failed, user block limit reached.
dd: error writing ‘/home/luo/quotatest’: Disk quota exceeded
98+0 records in
97+0 records out
102346752 bytes (102 MB) copied, 1.56307 s, 65.5 MB/s
當(dāng)用戶luo寫入50M時(shí)鱼炒,寫入正常
當(dāng)用戶luo寫入100M時(shí)衔沼,提示“write failed, user block limit reached.”