Saya mencoba "chattr + i DIRNAME", itu hebat, tetapi saya tidak dapat membuat file di DIR setelah chattr. Apa lagi yang ada untuk mencegah pengguna menghapus direktori?
root@HOST ~] mkdir test
[root@HOST ~] chattr +i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
touch: cannot touch `sth': Permission denied
[root@HOST ~/test] cd ..
[root@HOST ~] chattr -i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
[root@HOST ~/test]
UPDATE: hanya penghapusan direktori yang penting, jadi saya masih perlu file yang akan dihapus di dalamnya
permissions
files
peter gasko
sumber
sumber
/tmp
dan/var/tmp
. Meskipun setiap pengguna dapat membuat file di sana, ia hanya dapat menghapus file / direktori sendiri, tetapi tidak pada direktori itu sendiri.Jawaban:
Jadi apa yang salah dengan chown / chmod yang sederhana ?:
OK, izinkan saya memberi tahu Anda apa yang salah dengan ini: setiap pengguna memiliki semua akses ke setiap file dalam
question
direktori karena777
izin. Lebih baik untukgroupadd question
mkdir question
chown root:question ./question
chmod 770 ./question
usermod -G group user
Trik penting di sini adalah direktori tersebut memiliki pemilik yang berbeda dari pengguna mana pun yang akan mencoba menghapusnya.
sumber
sudo chmod o+t ..
untuk mengaturt
bendera pada direktori induk. Thet
bendera akan melarang untuk menghapus file yang tidak dimiliki oleh pengguna.t
biasanya digunakan/tmp
untuk melakukan hal itu. UserA tidak dapat menghapus file yang dimiliki oleh UserB.Buat file ".protected" dan lakukan sebagai root
Anda kemudian dapat menghapus semua file kecuali
.protected
dalam direktori ini, sehingga direktori tidak dapat dihapus oleh pengguna lain.sumber
harus melakukan pekerjaan. Anda dapat membuat file di dalamnya tetapi Anda tidak akan bisa menghapusnya.
sumber