Daj konkretnemu użytkownikowi uprawnienia do zapisu w folderze, używając notacji + w


152

Wiem, że mogę przypisać uprawnienia do pisania właścicielowi / grupie / innym osobom w następujący sposób:

chmod u+w myfolder

Czy mogę tutaj podać konkretnego użytkownika? Niektórzy lubią to:

chmod username u+w myfolder

Nie sądzę, żeby to było możliwe. Dlaczego po prostu nie dodasz użytkownika do grupy?
Emil

Odpowiedzi:


157

Jeśli chcesz zmienić użytkownika będącego właścicielem tego pliku lub katalogu (folderu), musisz użyć polecenia chown. Na przykład, jeśli uruchomisz

sudo chown username: myfolder

użytkownik będący właścicielem mojego folderu będzie nazwą użytkownika. Następnie możesz wykonać

sudo chmod u+w myfolder

aby dodać uprawnienie do zapisu do nazwy użytkownika.

Ale jeśli chcesz dodać tego użytkownika do grupy powiązanej z „myfolder”, możesz uruchomić

sudo usermod -a -G groupname username

a następnie wykonać

sudo chmod g+w myfolder

aby dodać uprawnienie do zapisu do grupy.


Istnieje sposób, w jaki obaj użytkownicy będą mieli dostęp do folderu, a grupa nie jest potrzebna; zasugerowano w odpowiedzi na to samo pytanie tutaj: superuser.com/a/235398/191720.
Luan Nico,

Czy mogę to zrobić bez sudo?
becko

1
@becko: Możesz, jeśli spadniesz do powłoki roota.
Charo

1
@Charo Miałem na myśli bez korzenia
becko

1
@AER: W pierwszym poleceniu, jeśli dwukropek podąża usernameza grupą właściciela, zmienia się również na username(jeśli pominiesz taki dwukropek, grupa właściciela nie zmieni się).
Charo,

191

Możesz użyć setfacl:

setfacl -m u:username:rwx myfolder

Ustawia to uprawnienia dla określonych użytkowników, bez zmiany własności katalogu.

Sprawdź stronę podręcznika dla dalszych szczegółów i przykładów.


8
Idealna odpowiedź! setfaclJest również dostępny w CentOS ( yum -y install acl) i FreeBSD.
Wietnam

7
tylko uwaga: setfacl = ustaw plik ACL, ACL = lista kontroli dostępu, stąd skrót „setFacl” - myślę, że łatwiejszy sposób na zapamiętanie.
Yawar Murtaza,

12
Jeśli chcesz zastosować go rekurencyjnie do wszystkich podkatalogów: dodaj flagę -R w następujący sposób:setfacl -R -m u:username:rwx myfolder
Jose A

najłatwiejszy sposób na
wyrażenie

1
Czy istnieje sposób przyznania użytkownikowi rwbez zmiany istniejącego xuprawnienia, jeśli działa on na wielu plikach lub rekurencyjnie?
Qi Fan

8

Nie, to nie jest możliwe. Możesz zmienić właściciela pliku za pomocą

[sudo] chown username: foldername

lub możesz dodać użytkownika do grupy, do której należy plik

usermod -a -G {group-name} username

useradd -G {group-name} usernamemówi mi, że nazwa użytkownika już istnieje
Erdal G.

próbowałem tego, ale mój użytkownik nadal nie może pisać do tego folderu
Sonic Soul
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.