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
Max Koretskyi aka Wizard
źródło
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.

Charo
źródło
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.

użytkownik3689208
źródło
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
Pabi
źródło
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