需求:公司多个部门,行政,财务,人事,运营,每个部门都能上传下载文件,pub目录是共享目录,每个部门都可以上传下载,但是无法删除。每个部门都可以在本部门目录,上传,下载和删除。
安装ftp,配置虚拟用户和设置权限这块,网上很多,不再写,主要写配置共享目录。
我们都知道local_root就是每个虚拟用户的家目录,这样每个用户登录到ftp后后面的目录就是工作目录,如果我们想实现多个用户共享一个目录,我们需要在每个虚拟用户的家目录下设置一个共享的空间,但是ftp中没有相关的配置,我们可以想办法,比如做目录的软连接,就是在每个虚拟用户的家目录下创建一个pub目录,然后把这个pub目录连接到真实的pub目录,但是这种方法我试了后,虽然每个用户下都有pub,单pub变成了文件而不是目录,通过网上查找,我们可以使用 mount --bind命令具体这块,我在每个用户的家目录下创建了一个pub目录,然后mount --bind /home/hr/pub /home/pub 绑定到具体的共享目录,这样就可以实现了,然后我们还要实现不同部门的人多pub目录只有上传和下载而不能删除的权限,这时我们需要给这个目录加锁
若递归的设置文件夹的此种权限,使用-R属性: chattr +a -R file(filename) 递归取消文件夹的此属性: chattr -a -R file(filename)
这样就实现了需求描述的功能