我有一台运行PureFTPd的CentOS服务器,多个虚拟用户映射到单个系统用户.这些虚拟用户中的每一个都被chroot到与其用户名对应的目录.目录树是:
> / ftp_accounts
> / virtual_user_1
> / virtual_user_2
> ……
> / virtual_user_N
这些FTP虚拟用户中只有一个(让我们称之为“master_virtual_user”)在主ftp_accounts目录中被chroot,允许访问所有子文件夹.
对于此特定的“master_virtual_user”,我想阻止仅删除virtual_user_ *文件夹,但仍保持对此目录树中其他所有内容的完全读写访问权限.
解决方法
如果你可以在目录上使用不可变标志会很好,但你可以通过在该目录中创建一个不可变的文件来作弊.所以触摸virtu_user_X / .immutable然后chattr我virt_user_x / .immutable.例如:
[root@hellonurse ~]# cd /root [root@hellonurse ~]# mkdir z [root@hellonurse ~]# cd z [root@hellonurse z]# touch .i [root@hellonurse z]# chattr +i .i [root@hellonurse z]# cd .. [root@hellonurse ~]# rm -rf z rm: cannot remove ‘z/.i’: Operation not permitted [root@hellonurse ~]# chattr -i z/.i [root@hellonurse ~]# rm -rf z [root@hellonurse ~]# ls z ls: cannot access z: No such file or directory