防止在 CentOS 中删除特定文件夹

Ral*_*lph 6 linux permissions centos ftp pureftpd

我有一台运行 PureFTPd 的 CentOS 服务器,其中多个虚拟用户映射到一个系统用户。这些虚拟用户中的每一个都被 chroot 到与其用户名对应的目录。目录树是:

  • /ftp_accounts
    • /虚拟用户_1
    • /虚拟用户_2
    • ...
    • /虚拟用户_N

这些 FTP 虚拟用户中只有一个(我们称他为“master_virtual_user”)主ftp_accounts目录被 chroot ,允许访问所有子文件夹。

对于这个特定的“master_virtual_user”,我想,以防止删除唯一virtual_user_*文件夹,但仍保持在这一目录树中的一切完全读写访问。

鉴于所有这些 FTP 虚拟用户都映射到同一个系统用户,有没有办法实现这一点?

chi*_*cks 5

如果您可以在目录上使用 immutable 标志会很好,但是您可以通过在该目录中创建一个不可变的文件来作弊。因此,touch virtu_user_X/.immutable然后chattr +i 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
Run Code Online (Sandbox Code Playgroud)