背景:在配置工作站或者服务器时,需要为多个用户提供服务,但是需要各个用户之间操作互不干扰,自己所安装的各种环境不会对其他人或root账号下的主系统环境有影响,并且各用户每个用户需要分配额定的内存空间。
安装 quota
sudo apt-get install quota
修改 /etc/fstab 文件
sudo gedit /etc/fstab
在主目录 / 下,在 errors=remount-ro 后面增加usrquota,grpquota这两个选项,如下图所示。
修改之后重启服务器。
重新挂载磁盘,终端输入
sudo mount -a
并生成aquota.group和aquota.user文件,终端输入 ls / 查看
lilabws01@lilabws01:~$ ls /
aquota.group boot etc lib32 lost+found opt run srv tmp
aquota.user cdrom home lib64 media proc sbin swapfile usr
bin dev lib libx32 mnt root snap sys var
查看文件系统是否支持磁盘配额
lilabws01@lilabws01:~$ mount | grep /home/quota
/dev/sda1 on /home/quota type ext4 (rw,relatime,quota,usrquota,grpquota)
创建磁盘配额的记录文件
sudo quotacheck -cugm /home/quota
创建新的用户,终端输入
sudo adduser newuser
sudo adduser --home /home/quota/user0 user0
设置密码,然后一直回车,最后输入y,输出结果
正在添加用户"newuser"...
正在添加新组"newuser" (1002)...
正在添加新用户"newuser" (1002) 到组"newuser"...
创建主目录"/home/newuser"...
正在从"/etc/skel"复制文件...
新的 密码:
重新输入新的 密码:
passwd:已成功更新密码
正在改变 newuser 的用户信息
请输入新值,或直接敲回车键以使用默认值
全名 []:
房间号码 []:
工作电话 []:
家庭电话 []:
其它 []:
这些信息是否正确? [Y/n] y
此时可以看到在 /home 目录下多了一个 newuser 用户文件夹。
通过如下命令为用户配置限额:
sudo edquota -u newuser
单位是KB,根据需要为用户设定磁盘空间限额,hard通常设置为比soft稍大一些。
修改 soft 为1000,hard 为 1500,
ctrl+O保存,ctrl+X退出。
测试:
切换到 newuser 用户,并查看当前文件,终端输入
lilabws01@lilabws01:~$ cd /home/newuser/
lilabws01@lilabws01:/home/newuser$ sudo su newuser
newuser@lilabws01:~$ ls
公共的 模板 视频 图片 文档 下载 音乐 桌面 storage
创建 100K 文件,终端输入
newuser@lilabws01:~$ dd if=/dev/zero of=test bs=1K count=100
记录了100+0 的读入
记录了100+0 的写出
102400字节(102 kB,100 KiB)已复制,0.000740333 s,138 MB/s
成功创建。
创建 10M 文件