it-swarm.com.de

Geben Sie mehreren Benutzern Schreibberechtigungen für einen Ordner in Ubuntu

Es gibt einen Ordner, der dem Benutzer Tomcat6 gehört:

drwxr-xr-x 2 Tomcat6 Tomcat6 69632 2011-05-06 03:43 document

Ich möchte einem anderen Benutzer (ruser) Schreibrechte für den Dokumentordner gewähren. Die beiden Benutzer (Tomcat6 und ruser) gehören nicht derselben Gruppe an. Ich habe versucht, setfacl zu verwenden:

Sudo setfacl -m  u:ruser:rwx document

aber das gibt mir setfacl: document: Operation not supported fehler. Bitte hilf mir.

77
TheVillageIdiot

Dazu gibt es zwei Möglichkeiten: Setzen Sie das Verzeichnis auf "Welt", oder erstellen Sie eine neue Gruppe für die beiden Benutzer, und machen Sie das Verzeichnis für diese Gruppe schreibbar.

Offensichtlich ist es eine schlechte Sache, die Welt beschreibbar zu machen, daher ist die zweite Option vorzuziehen.

Benutzer in Linux können mehreren Gruppen angehören. In diesem Fall möchten Sie eine brandneue Gruppe erstellen. Nennen wir sie tomandruser:

Sudo groupadd tomandruser

Nachdem die Gruppe vorhanden ist, fügen Sie die beiden Benutzer hinzu:

Sudo usermod -a -G tomandruser Tomcat6
Sudo usermod -a -G tomandruser ruser

Jetzt müssen nur noch die Berechtigungen für das Verzeichnis festgelegt werden:

Sudo chgrp -R tomandruser /path/to/the/directory
Sudo chmod -R 770 /path/to/the/directory

Jetzt können nur Mitglieder der Benutzergruppe tomandruser irgendetwas im Verzeichnis lesen, schreiben oder ausführen. Beachten Sie das Argument -R für die Befehle chmod und chgrp: Dadurch werden sie angewiesen, in jedes Unterverzeichnis des Zielverzeichnisses zurückzukehren und alle gefundenen Dateien und Verzeichnisse zu ändern.

Sie können 770 auch in 774 ändern, wenn andere Benutzer die Dateien lesen können sollen, 775, wenn andere Benutzer die Dateien lesen und ausführen sollen usw. Änderungen an der Gruppenzuordnung werden erst wirksam, wenn sich die Benutzer abmelden und wieder rein.

Wenn Sie (wahrscheinlich auch) möchten, dass neue Dateien, die von einem der Benutzer im Verzeichnis erstellt wurden, automatisch von anderen Benutzern in der Gruppe beschrieben werden können, lesen Sie hier .

138
Andrew Lambert

Das Beispielskript zeigt ein Beispiel zum Erteilen der Berechtigung w (write)/ r (read) / x (execute) für den angegebenen Ordnerpfad /path/to/the/directory für USER1 und USER2. Wenn Sie nur Schreibzugriff gewähren möchten, ersetzen Sie rwx durch w.


#!/bin/bash

# Block others and people in the same group to do read/write/execute on give folder:    
Sudo chmod 700 /path/to/the/directory 

#Give read/write/execute access to USER1 on give folder:
Sudo setfacl -R -m user:USER1:rwx  /path/to/the/directory 

#Give read/write/execute access to USER2 on give folder:
Sudo setfacl -R -m user:USER2:rwx  /path/to/the/directory 
2
alper