Najlepiej bez używania sudo?
permissions
filesystem
Evan
źródło
źródło
Odpowiedzi:
Próbować:
W ten sposób plik będzie niemożliwy do usunięcia nawet przez
root
użytkownika - należy zachować ostrożność.źródło
touch test && chattr +i test
to robi , generuje błąd;chattr: Operation not permitted while setting flags on test
. Potrzebujeszsudo
tego. Ponadto: nadal można usunąć plik:sudo chattr -i test && rm test
działa.Nie, to nie jest możliwe. Usunięcie pliku przez zwykłych użytkowników jest niemożliwe.
Musisz
sudo
uniemożliwić użytkownikom usuwanie plików. Twój administrator będzie zawsze mógł usunąć plik.sudo chattr +i test
może zapobiec usunięciu, ale wymagasudo
. Prostysudo chattr -i test
umożliwia usunięcie pliku. Nikt inny niż administrator nie może korzystaćchattr
.I ... po prostu ponowne uruchomienie i przejście w tryb ratunkowy pozwoli tej osobie na usunięcie tego pliku. Byłoby to zagrożenie bezpieczeństwa, gdyby istniała metoda, która nigdy nie byłaby w stanie usunąć pliku.
źródło
To trochę prymitywne, ale jest blisko - jeśli usuniesz dostęp do zapisu w katalogu, plików w nim nie będzie można usunąć. I nie wymaga,
sudo
jeśli jesteś właścicielem:Możesz więc ustawić uprawnienia do samego pliku, jak chcesz.
Ponadto, jak stwierdził @Rinzwind, jest na pewno wiele sposobów na obejście tego.
źródło
Aby usunąć plik, musisz mieć uprawnienia do zapisu we wszystkich katalogach, z którymi plik jest powiązany. Aby odłączyć go od jednego katalogu, musisz mieć uprawnienia do zapisu w tym katalogu.
Tak długo, jak dasz uprawnienia do zapisu (lub nawet prawo własności) do pliku, ale nie do katalogu lub katalogów, z którymi plik jest powiązany, plik ten nie może zostać usunięty.
Najlepszym sposobem na osiągnięcie tego byłoby połączenie tego pliku z katalogiem, który jest własnością roota i który nie może być zapisany przez nikogo. Zamiast tego możesz uczynić go własnością, co oznaczałoby, że ty i root moglibyście go usunąć.
Pozwoliłoby to innym użytkownikom połączyć ten plik z innymi katalogami i odłączyć go od tego momentu, ale nadal nie byliby w stanie usunąć pliku, ponieważ mogliby odłączyć go od twojego katalogu.
Zauważ, że aby to w pełni działało, należy kontrolować uprawnienia do zapisu każdego komponentu ścieżki do pliku. Ponieważ na przykład, jeśli plik jest
/a/b/the-file
i/a/b
nikt nie może go zapisać, ale każdy ma dostęp do zapisu/a
, wówczas może zmienić nazwę/a/b
na coś innego i odtworzyć własne/a/b
i utworzyć/a/b/the-file
tam własne .źródło