Chciałbym umożliwić użytkownikom chmod plik, który jest własnością roota lub innego użytkownika, który nie jest sobą. Plik chmod'ed do 777 i dostaję komunikat „operacja niedozwolona”. Dodałem użytkownika do grupy pliku i otrzymałem to samo. Dlaczego użytkownik nie może chmod pliku, do którego ma dostęp do zapisu?
permissions
ashleysmithgpu
źródło
źródło
sudo
: linux.die.net/man/8/sudo & linux.die.net/man/5/sudoersOdpowiedzi:
W przypadku normalnych praw dostępu jest to decyzja projektowa. Potrzebujesz richaclów :
WRITE_ACL
a możeWRITE_OWNER
.źródło
Uprawnienia Unix zostały zaprojektowane tak, aby były proste. Potrzebne jest uprawnienie do odczytu do odczytu z pliku, uprawnienie do zapisu do pliku oraz uprawnienie do wykonania pliku. Musisz mieć plik, aby zmodyfikować jego metadane¹.
Zezwolenie użytkownikowi, który może odczytać plik, aby udzielić innym uprawnień do odczytu, lub zezwolenie użytkownikowi, który może napisać plik, aby udzielić innym uprawnień do zapisu, nie zmieniłoby znacząco modelu bezpieczeństwa. Wynika to z faktu, że uprawnienia unix są uznaniowe: użytkownik, który może odczytać plik, może udostępnić jego zawartość innym użytkownikom, nawet jeśli ci inni użytkownicy nie byliby w stanie odczytać pliku (i podobnie do zapisu, użytkownik może działać jako serwer proxy i pisz w imieniu innych).
Z drugiej strony, zezwolenie użytkownikowi na udzielenie pozwolenia, którego nie ma, całkowicie zepsułoby system uprawnień: użytkownik mógłby udzielić sobie wszystkich uprawnień.
Bardzo rzadko trzeba zmieniać uprawnienia do pliku, którego nie jesteś właścicielem. Zwykle plik powinien mieć odpowiednie uprawnienia natychmiast po jego utworzeniu. Jeśli naprawdę tego potrzebujesz, możesz przyznać
sudo chmod
prawa użytkownika do określonego trybu i określonego pliku (npjoe: ALL = (ALL) chmod g+r /path/to/file
.).¹ Z wyjątkiem czasów dostępu i modyfikacji, które są szczególne, ponieważ ustawia je także odczyt lub zapis do pliku.
źródło