Erteilen Sie einem bestimmten Benutzer die Berechtigung, in einen Ordner mit der + w-Notation zu schreiben

153

Ich weiß, dass ich die Berechtigung zum Schreiben an einen Eigentümer / eine Gruppe / andere Personen wie folgt vergeben kann:

chmod u+w myfolder

Kann ich hier den spezifischen Benutzer angeben? Etwas wie das:

chmod username u+w myfolder
Maxim Koretskyi
quelle
Ich denke nicht, dass es möglich ist. Warum fügst du den Benutzer nicht einfach der Gruppe hinzu?
Emil

Antworten:

158

Wenn Sie den Benutzer ändern möchten, dem diese Datei oder dieses Verzeichnis (Ordner) gehört, müssen Sie den Befehl verwenden chown. Zum Beispiel, wenn Sie rennen

sudo chown username: myfolder

Der Benutzer, dem mein Ordner gehört, ist der Benutzername. Dann können Sie ausführen

sudo chmod u+w myfolder

um die Schreibberechtigung dem Benutzernamen hinzuzufügen.

Wenn Sie diesen Benutzer jedoch zu der mit "myfolder" verknüpften Gruppe hinzufügen möchten, können Sie ausführen

sudo usermod -a -G groupname username

und dann ausführen

sudo chmod g+w myfolder

um der Gruppe die Schreibberechtigung hinzuzufügen.

Charo
quelle
Es gibt eine Möglichkeit, auf die beide Benutzer Zugriff auf den Ordner haben, und es wird keine Gruppe benötigt. es wurde in einer Antwort auf dieselbe Frage hier vorgeschlagen: superuser.com/a/235398/191720.
Luan Nico
Kann ich das ohne machen sudo?
Becko
1
@becko: Das kannst du, wenn du auf eine Root-Shell fällst.
Charo
1
@Charo meinte ich ohne root
becko
1
@AER: Wenn im ersten Befehl ein Doppelpunkt auf usernamedie besitzende Gruppe folgt , wird auch in geändert username(wenn Sie einen solchen Doppelpunkt weglassen, wird die besitzende Gruppe nicht geändert).
Charo
192

Sie könnten verwenden setfacl:

setfacl -m u:username:rwx myfolder

Dadurch werden Berechtigungen für bestimmte Benutzer festgelegt, ohne dass der Besitz des Verzeichnisses geändert wird.

Weitere Details und Beispiele finden Sie auf der Manpage .

user3689208
quelle
8
Perfekte Antwort! Ist setfaclauch unter CentOS ( yum -y install acl) und FreeBSD verfügbar .
Viet
7
nur eine Anmerkung: setfacl = set File ACL, ACL = Access Control List daher für kurze "setFacl" - einfacher Weg, sich zu erinnern, denke ich.
Yawar Murtaza
12
Wenn Sie es rekursiv auf alle Unterverzeichnisse anwenden möchten: setfacl -R -m u:username:rwx myfolder
Jose A
Der einfachste Weg, um die Erlaubnis für einen neuen Benutzer zu geben
Rajesh Mbm
1
Gibt es eine Möglichkeit, einem Benutzer rwohne Änderung einer vorhandenen xBerechtigung eine Berechtigung zu erteilen , wenn er mit mehreren Dateien oder rekursiv arbeitet?
Qi Fan
8

Nein das ist nicht möglich. Sie können entweder den Eigentümer der Datei mit ändern

[sudo] chown username: foldername

oder Sie können den Benutzer der Gruppe hinzufügen, der die Datei gehört

usermod -a -G {group-name} username
Pabi
quelle
useradd -G {group-name} usernamesagt mir, dass der Benutzername bereits existiert
Erdal G.
Ich habe es versucht, aber mein Benutzer kann immer noch nicht in diesen Ordner schreiben
Sonic Soul