2011-05-09 08:44:23 +0000 2011-05-09 08:44:23 +0000
81
81

Erteilen 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) Schreibberechtigungen für einen Dokumentordner erteilen. 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 ergibt den Fehler setfacl: document: Operation not supported. Bitte helfen Sie mir.

Antworten (2)

151
151
151
2011-05-09 10:06:57 +0000

Es gibt zwei Möglichkeiten, dies zu tun: Setzen Sie das Verzeichnis auf “world” beschreibbar oder erstellen Sie eine neue Gruppe für die beiden Benutzer und machen Sie das Verzeichnis für diese Gruppe beschreibbar.

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

Benutzer in Linux können mehr als einer Gruppe angehören. In diesem Fall wollen Sie eine ganz neue Gruppe erstellen, nennen wir sie tomandruser:

sudo groupadd tomandruser

Nun, da die Gruppe existiert, fügen Sie ihr die beiden Benutzer hinzu:

sudo usermod -a -G tomandruser tomcat6
sudo usermod -a -G tomandruser ruser

Nun müssen nur noch die Berechtigungen für das Verzeichnis gesetzt werden:

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

Nun können nur noch Mitglieder der tomandruser-Gruppe alles innerhalb des Verzeichnisses lesen, schreiben oder ausführen. Beachten Sie das Argument -R für die Befehle chmod und chgrp: Damit wird ihnen mitgeteilt, dass sie in jedes Unterverzeichnis des Zielverzeichnisses zurückkehren und jede gefundene Datei und jedes gefundene Verzeichnis ändern sollen.

Vielleicht möchten Sie auch 770 in etwas wie 774 ändern, wenn Sie möchten, dass andere die Dateien lesen können, 775, wenn Sie möchten, dass andere die Dateien lesen und ausführen können, usw. Änderungen der Gruppenzuordnung werden erst wirksam, wenn sich die Benutzer aus- und wieder einloggen.

Wenn Sie auch wollen (was Sie wahrscheinlich tun), dass neue Dateien, die von einem der Benutzer innerhalb des Verzeichnisses angelegt werden, automatisch von anderen in der Gruppe schreibbar sind, dann siehe hier .

3
3
3
2018-07-23 14:26:48 +0000

Das Beispielskript zeigt ein Beispiel für die Erteilung 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 wollen, ersetzen Sie bitte 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