环境:centos6.3+vsftpd
目标:①让每个用户都能访问自己的家目录,并锁定在家目录内不得往上跳转。此目录拥有rw所有权限
②同时让每个用户能看到共享目录,共享目录只有管理员有权限rw,其余者则只有读取权限。
对于VSFTP而言,一般只能指定一个用户单个目录。
参看网上文档,得知挂载功能可以实现(软连接不行,建了软连接以后,从FTP目录的软连接打不开文件夹,或许就算打开进去了,退回上级目录也是个问题。软连接应该也可以搞定,但是现在暂时还没找到方法)
安装VSFTPD:
#yum -y install vsftpd
修改配置文件,让每个用户锁定在自己的家目录
#vim /etc/vsftpd/vsftpd
chroot_local_user=YES
新增3个用户
#useradd -s /sbin/nologin admin(此用户主要用作公共目录的管理,对公共目录有rw权限)
#useradd -s /sbin/nologin user1(只能访问公共目录,但是对自己的私有目录有rw权限)
#useradd -s /sbin/nologin user2(同user1)
修改3个用户的密码:略过
新建公共目录,随意创建
#mkidr /vsftpd/pub
将此公共目录的权限直接给admin用户,将所属组改成admin组,或者直接暴力点所有者所属组全部改为admin,这样admin对这个目录就有rw权限了。
①如果只改所属组则如下操作
#chgrp -R admin /vsftpd/pub(修改/vsftpd/pub目录的所属组)
#chmod 664 /vsftpd/pub(让admin所在的admin组对/vsftpd/pub目录有操作权限)
①如果所有者所属组全部修改则如下操作
#chown -R admin /vsftpd/pub(修改/vsftpd/pub目录的所有者)
#chgrp -R admin /vsftpd/pub(修改/vsftpd/pub目录的所属组)
#chmod 664 /vsftpd/pub(让admin和admin组对/vsftpd/pub目录有操作权限)
接下来就是重点了。
在这3个用户的家目录都新建一个目录,用于挂载/vsftpd/pub目录,以便每个用户都能访问此目录的文件。
#mkdir /home/admin/pub
#mkdir /home/user1/pub
#mkdir /home/user2/pub
然后执行下面的命令把/vsftpd/pub挂载到上面3个目录即可。
#mount --bind /vsftpd/pub /home/admin/pub
#mount --bind /vsftpd/pub /home/user1/pub
#mount --bind /vsftpd/pub /home/user2/pub
接下来就是见证奇迹的时候了,高手勿喷。
#service vsftpd start
#service iptables stop(由于我这里是测试,所以我直接把防火墙关了)
好了,到此结束。
admin用户登录ftp就能对公共目录有创建下载删除等等权限。(此用户用作管理公共目录)
其他用户登录ftp对公共目录就只有读取权限,对自己的私有家目录有所有权限。
后续如果需要增加用户,每增加一个都要给这个用户绑定一次。如果有多个公共目录,则根据上面也全部绑一次,这个比较麻烦。
如果需要增加公共目录的管理员,只需将想要变成管理员的用户账号添加进admin组即可。
如果想要解除挂载可以使用如下命令
#umount /home/user2/pub(这里以user2为例)
后续进一步学习中,希望大家指点指点,有的位置可能打错,或者有问题,但是应该不影响大家阅读。谢谢大家观看。
欢迎加2000人技术QQ群一起学习探讨linux相关知识:100094104
-
« 上一篇:
/var/log目录下的日志文件功能粗解