在日常的网站运行维护中,作为运维人员,经常会为第三方网站开发的程序员提供帐号及密码。如果只使用vsftp的功能,是很繁琐、很不方便的。下面提供一个案例解决这个问题。
使用acl+vsftpd的方式实现:
首先,系统中必须有acl工具,如果没有,那么用以下命令来安装。
yum -y install acl
其次,系统安装vsftpd服务,并做配置。
yum -y install vsftpd
1.更改vsftpd的配置文件。将下面的这几个地方改成同下面配置文件一样。
vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO chroot_local_user=NO chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
2.建立vsftpd本地登录用户。
useradd test1 -d /var/www -s /sbin/nologin
3.禁止test1用户访问除家目录之外的目录。
vi /etc/vsftpd/chroot_list test1
然后,使用acl给/var/www/目录做目录继承权限。
setfacl -R -m u:test1:rwx /var/www/
最后,验证一下是否成功。
1.使用getfacl验证是否授权成功。
getfacl /var/www/ # file: . # owner: root # group: root user::rwx user:test1:rwx 出现此行为成功 group::r-x mask::rwx other::r-x
2.通过资源管理器,访问ftp服务器。观察是否成功。
注:此时需要将设置防火墙策略,关闭selinux。
结尾:
经测试,删除文件及上传文件都没有问题。此方案成功。
二〇一五年三月六日 12:25:00
评论区