Korzystam z serwera Ubuntu 10.04 i mam pewne sprzeczne z intuicją doświadczenia z użytkownikami / grupami. Na przykład:
sudo touch test_file # create empty file
sudo groupadd test # create 'test' group
sudo chown root:test test_file # change group of file to 'test'
sudo chmod g+rwx test_file # give write permissions to group
sudo usermod -a -G test {my-user} # add my user to 'test' group
touch test_file # touch the file as my current user
Ostatni wiersz powoduje błąd uprawnień.
Zapewniłem, że mój użytkownik należy do grupy „testowej” ( groups {my-user}
potwierdza to). Grupa pliku test_file jest również zdecydowanie ustawiona na „test”, a uprawnienia grupy są ustawione.
Dlaczego mój użytkownik nie może zapisać pliku testowego pliku?
su - username
do działającej konsoli. nie musisz się wylogowywać, aby zalogować w ten sposób :)Zarówno wylogowanie, jak i zrestartowanie metod serwera nie działało dla mnie.
Ta metoda jednak działa dla mnie: (odniesienie do tej odpowiedzi )
źródło
+s
część? Dzięki.x
: wygląda na to, żetouch
do działania potrzebne są uprawnienia do wykonywania.Za pomocą tego
newgrp
polecenia można zmienić bieżący identyfikator grupy użytkownika. Odman newgrp
:źródło
-R
opcją!Uruchom ponownie komputer, aby upewnić się, że żadne zablokowane procesy nie uniemożliwiają poprawnego egzekwowania użytkownika i grup podczas wylogowywania i logowania.
Te kroki powinny dać użytkownikowi grupy
test
uprawnienie do zapisutest_file
Uruchom ponownie komputer lub wyloguj się z systemu operacyjnego użytkownika. Ponowne uruchomienie terminala nie wystarczy.
Użytkownik może pisać do pliku, ponieważ jest on częścią grupy „testowej”, a grupa ma uprawnienia rwx.
źródło