Linux

防止在 CentOS 中刪除特定文件夾

  • September 1, 2015

我有一個執行 PureFTPd 的 CentOS 伺服器,其中多個虛擬使用者映射到單個系統使用者。這些虛擬使用者中的每一個都被 chroot 到與其使用者名對應的目錄。目錄樹是:

  • /ftp_accounts

    • /virtual_user_1
    • /virtual_user_2
    • /virtual_user_N

這些 FTP 虛擬使用者中只有一個(我們稱他為“master_virtual_user”)被 chroot 主ftp_accounts目錄,允許訪問所有子文件夾。

對於這個特定的“master_virtual_user”,我想防止刪除文件夾,但仍保持對該目錄樹中其他所有內容的virtual_user_*完全讀寫訪問權限。

鑑於所有這些 FTP 虛擬使用者都映射到同一個系統使用者,有沒有辦法實現這一點?

如果您可以在目錄上使用不可變標誌,那就太好了,但是您可以通過在該目錄中創建一個不可變的文件來作弊。那麼。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

引用自:https://serverfault.com/questions/675700