环境:CentOS 6.7 最小化安装
需求:公司行政部有4名工作人员,3名员工(usera,userb,userc),1名经理(userd)。
每名员工拥有自己的文件夹,在文件夹内可读,可写,可执行,但员工之间不能互相访问。只能在自己的文件夹内进行操作。
经理同样拥有自己的文件夹,在自己文件夹内可读,可写,可执行,而且可以访问行政部其他员工的文件夹,对其有读取和执行的权限,但不能修改。
部门普通员工拥有8G使用空间,部门经理拥有15G使用空间。
实施步骤:
1.首先安装vsftpd服务器 #yum -y install vsftpd
2.修改配置文件vsftpd.conf ,修改结果如下:
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=300
data_connection_timeout=60
ftpd_banner=Welcome to YingChi FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
reverse_lookup_enable=NO #这个是为了加快VSFTPD的访问速度
local_max_rate=3000000 #最大下载速度为3M/S
guest_username=virtual_user #这个主要是为每个员工安排不同的目录。而不是/home下的子目录
user_config_dir=/etc/vsftpd_user
user_sub_token=$USER
pasv_enable=YES #这个是启动被动模式
pasv_min_port=5500 #这个是限制被动模式的端口范围
pasv_max_port=6000
use_localtime=YES
3.建立文件夹及子文件夹。
#mkdir /home/ad
#mkdir /home/ad/usera /home/ad/userb /home/ad/userc /home/ad/userd
4.建立用户以及组ad,并将用户usera,userb,userc,userd加入到ad组中。
#useradd usera
#useradd userb
#useradd userc
#useradd userd
#groupadd ad
#usermod -a -G ad usera
#usermod -a -G ad userb
#usermod -a -G ad userc
#usermod -a -G ad userd
5:新建/etc/vsftpd_user目录,创建以员工用户名为名称的文件。将每个文件内添加local_root=/home/ad/$USER
#mkdir /etc/vsftd_user
#touch usera userb userc userd
#vi usera 将local_root=/home/ad/$USER插入后保存退出
#cp usera userb
#cp usera userc
将经理的文件内修改成local_root=/home/ad 指定经理的文件夹为/home/ad
将ad文件夹属主改为userd,将usera,userb,userc,userd的属于分别改为usera,userb,userc,userd
#chown userd /home/ad
#chown userb /home/ad/userb
#chown usera /home/ad/usera
#chown userc /home/ad/userc
6.新建/etc/vsftpd/chroot_list文件,将要锁定在家目录的用户添加到里面。
7.安装磁盘配额软件。
#yum search quota
#yum install quota.i686
安装完成后,将/etc/fstab文件内加上要进行磁盘配额的分区。
按照本文案例,我们应该添加/home目录进行磁盘配额,在文件最后一行加上如下:
/dev/sda2 /home ext4 defaults,usrquota,grpquota 0 0
保存退出后,重新启动计算机,查看自动挂载情况
可以看到最后一行显示如下,证明配置生效
mount
/dev/sda2 on /home type ext4 (rw,usrquota,grpquota)
# quotacheck -vug /home
接着就能看到分区目录中自动生成了两个配置文件
# ls /home
aquota.group aquota.user
配置usera用户使用/home/ad/usera分区的限额
# edquota -u usera
输入上面的命令后,会进入一个vi编辑界面,会看到类似下面的结构,
对各字段解释如下:
Filesystem下面显示的是分区,指明是对哪个分区实施磁盘配额,
blocks下面为当前已经使用的大小,不用修改,
soft为软限制,超过后会给出警告,并且超过的部分会保存默认7天,
hard为硬限制,不可超越的限制(软硬限制单位都是KB),
后面的两个相同的soft、hard分别表示分区中这个用户可以创建的文件数目,
此例中,我将qingsword可以使用/dev/sdb1分区的软限制大小修改成10KB,
硬限制修改成20KB,可创建的文件个数软限制是3个,硬限制5个。
Disk quotas for user qingsword (uid 500):
Filesystem blocks soft hard inodes soft hard
/home/ad/usera 0 4500000 5000000 0 0 0
修改保存退出,依次将userb,userc,userd配置好。通过下面的命令开启这个分区的磁盘配额
# quotaon /home
然后重新启动iptables和vsftpd测试结果。
Linux如何关闭磁盘配额
可以使用下面的方法关闭磁盘配额,删除配额配置文件:
点击(此处)折叠或打开
- /*需要root权限才能关闭quota*/
- [qingsword@localhost sdb1]$ su -
- Password:
- [root@localhost sdb1]# quotaoff /home
- /*或者直接关闭所有/etc/fstab中配置了磁盘配额的分区的空间限制*/
- [root@localhost sdb1]# quotaoff -a
- /*如果不再使用磁盘配额,可以将配置文件也删除*/
- [root@localhost sdb1]# rm -rf /home/aquota.*
- /*补充一个查看用户磁盘配额以及更改默认宽限时间的方法*/
- [root@localhost sdb1]$ quota -vugs //查看当前用户的磁盘配额
- [root@localhost sdb1]# edquota -t //修改宽限时间
|
|