Załóżmy, że użytkownik ma Directory1 i zawiera File1 File2 CantBeDeletedFile Jak to zrobić, aby użytkownik nigdy nie mógł usunąć pliku CantBeDeletedFile ?
Jeśli zmienię własność Directory1 i usunę uprawnienia do zapisu, użytkownicy nie będą mogli usunąć żadnego pliku. Nie będą też mogli dodawać nowych plików itp.
Chcę tylko móc ustawić niektóre pliki, które nigdy nie zostaną usunięte.
Bardziej szczegółowy opis.
Tworzę profile użytkowników. Tworzę pliki uruchamiające aplikacje na pulpicie . Chcę więc ustawić niektóre pliki uruchamiania (.desktop) i sprawić, aby użytkownik mógł je tylko uruchamiać i nie mogli zmienić nazwy ani usunąć, po prostu uruchom.
Obecnie, jeśli użytkownik jest właścicielem katalogu zawierającego dowolny plik. On może usunąć.
Jeśli nie ma ogólnego sposobu dla wszystkich * nix, jest to Linux i ext4 FS.
źródło
cp /here/is/the/master/ThisDesktopFile $HOME
. : BOfH ”Ustaw plik jako niezmienny za pomocą tego
i
atrybutu.zobacz
man chattr
po więcej informacji.źródło
chattr
działa tylko na systemach plików ext2 / ext3 / ext4.chattr -i file.desktop
bacula
do tworzenia kopii zapasowych, aby zignorował folder.Nie sądzę, że istnieje sposób, aby zapobiec usunięciu pojedynczego pliku z uprawnieniami do plików uniksowych, ale mogę wymyślić obejście: napisz demona, który zastąpi go po usunięciu.
inotify-tools
jest idealny do tego typu rzeczy, jeśli korzystasz z Linuksa.Istnieje kilka sposobów na zastąpienie usuniętego elementu: skopiuj nowy na miejscu lub zachowaj prawdziwy plik w bezpiecznym miejscu i po prostu skopiuj link do katalogu użytkownika. W przypadku linku możesz użyć dowiązania symbolicznego lub twardego. Zacznę od dowiązania symbolicznego, ale niektóre (bardzo niewiele) programów nie obsługuje poprawnie dowiązań symbolicznych. Jeśli okaże się, że użytkownik napotka taki program, użyj zamiast tego twardego łącza.
źródło
Prosty
„ochroni” ten plik przed usunięciem.
Nadal możesz go usunąć, ale przynajmniej musisz mieć pewność co do tego, co robisz.
źródło