linux服务器
在工作中管理了一个linux服务器。这个服务器的用户在40个左右,初始设置所有用户使用一个公用的账户登陆服务器。使用了一段时间之后,发现服务器空间不足,希望用户自行删除不用的文件。结果就是需要经常提醒用户删除。
为了解放管理员,因此使用quota工具来配置磁盘限额,给每个用户一定的空间。这样就需要给每个用户设置一个账号和私有目录。
同时由于用户在使用时需要用到sudo进行提权进而执行部分命令,因此配置了/etc/sudoers, 给用户执行制定命令的sudo的权限。
此外还使用了samba服务,方便用户从windows进行访问。
1. quta(磁盘配额)
推荐一篇quota的介绍:link
节选部分内容
1)注意事项
1.针对 www server,例如对个人的网页空间的容量限额。
2.针对mail server,例如对个人的邮件空间进行限额。
3.针对file server,例如对个人最大的可用网络硬盘空间限额。
在这里我们就主要讲解下第三种对硬盘空间进行限额
(2)注意事项
1.核心必须支持quota:Linux核心必须有支持quota这个功能才行,在centos7版本中系统都预设支持quota功能,但如果你是自行编译的核心,那你就要留意是否真的开启了quota功能,否则后面做的可能都会白做。
2.只适用于ext2.ext3.ext4文件系统,对于目录是不起作用的,虽然我们的挂载点是一个目录,但实际上它是个文件系统设备。
3.只针对普通用户和组有效:因为在Linux系统中root身份的特殊所以这些设定对root是不起作用的因为整个系统都归他管啊。
4.针对用户组使用的限额是指某个组中的所有成员一起使用的限额,而不是每个人使用的限额。
关于quota的几个配置
inode:限制用户可以建立的文件数量
block:限制用户磁盘容量(默认以KB为单位)
而不论是inode还是block它们都有一个soft/hard,也就是软限制和硬限制。
soft:这是最低容量的意思,在用户宽限期内他的容量可以超过这个值,但不能超过硬限制,也必须在规定的宽限期内将容量降到soft容量限制之下。
hard:这是最高的限制,是绝对不能超过的,通常hard值都会比soft值高,如果用户超过了hard值那么系统就会锁定该用户对该磁盘的使用权限。
grace time:这就是上面提到的宽限时间,这个宽限时间只有用户对磁盘的使用量介于soft和hard之间时才会出现,这是为了提醒用户,因为磁盘容量一旦达到hard,使用者的磁盘使用权限将会被锁住,为了担心使用者没有注意到这个问题,因此设计了soft,而当你的磁盘使用量超过soft即将达到hard时,系统会给予警告,但也会给使用者一段时间让使用者自行管理磁盘,一般预设的宽限时间为7天,但如果你7天内都不对磁盘进行管理,那么soft限制将会取代hard限制来作为quota的限制。
1.1 quota的安装与使用
a. 安装quota
yum install quota
b. 开启磁盘quota功能
[root@localhost ~]# vim /etc/fstab
/dev/sda6 /disk2 ext4 defaults,usrquota,grpquota 0 0
#由于我们增加了用户和组的配额,所以这里我们要重新mount一次,使我们的修改生效
[root@localhost ~]# mount -o remount /disk2
[root@localhost ~]# mount
/dev/sda6 on /disk2 type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)
其中usrquota,grpquota为新增属性值。
c. 生成磁盘配额数据库
[root@localhost disk2]# quotacheck -acgu
[root@localhost disk2]# ls
aquota.group aquota.user lo
st+found
这里的参数意思分别是
-a 所有分区(已支持配额)
-c 创建
-u 用户
-g 组
d.启动磁盘配额
quotaon -a
e.编辑磁盘配额文件
[root@localhost ~]# edquota myquota1
Disk quotas for user myquota1 (uid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
修改对应列下面的数字即可限制用户的磁盘空间
f. 配置用户组的限额
[root@localhost ~]# edquota -g usergroup
2 samba
samba用于在linux与windows之间共享文件。
2.1 安装
可以使用apt 或者yum安装samba软件
sudo apt install samba
2.2 配置/etc/samba/smb.conf
此文件用于配置共享文件的目录,是否需要验证等,可以参照说明与举例进行配置。
2.3 将系统用户添加为samba用户
smbpasswd -a username
此配置用于需要进行用户验证的情况,若共享目录为支持匿名验证,则无需此步骤。
2.4重启samba服务
service smb restart