Website-Suche

Weisen Sie einem Benutzer in einem bestimmten Verzeichnis unter Linux Lese-/Schreibzugriff zu


In einem früheren Artikel haben wir Ihnen gezeigt, wie Sie unter Linux ein freigegebenes Verzeichnis erstellen. Hier beschreiben wir, wie man einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis unter Linux gewährt.

Hierfür gibt es zwei mögliche Methoden: Die erste besteht darin, ACLs (Zugriffskontrolllisten) zu verwenden, und die zweite darin, Benutzergruppen zu erstellen, um Dateiberechtigungen zu verwalten, wie unten erläutert.

Für dieses Tutorial verwenden wir das folgende Setup.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

Stellen Sie sicher, dass alle Befehle als Root-Benutzer ausgeführt werden, oder verwenden Sie den Befehl sudo mit entsprechenden Rechten.

Beginnen wir mit der Erstellung des Verzeichnisses reports mit dem Befehl mkdir:

mkdir -p /shares/project1/reports   				

Verwenden von ACL, um dem Benutzer im Verzeichnis Lese-/Schreibzugriff zu gewähren

Wichtig: Um diese Methode zu verwenden, stellen Sie sicher, dass Ihr Linux-Dateisystemtyp (z. B. Ext3 und Ext4, NTFS, BTRFS) ACLs unterstützt.

1. Überprüfen Sie zunächst wie folgt den aktuellen Dateisystemtyp auf Ihrem System und auch, ob der Kernel ACL unterstützt:

df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
grep -i acl /boot/config*

Im Screenshot unten ist der Dateisystemtyp Ext4 und der Kernel unterstützt POSIX-ACLs, wie durch die Option CONFIG_EXT4_FS_POSIX_ACL=y angegeben.

2. Überprüfen Sie als Nächstes, ob das Dateisystem (Partition) mit der Option ACL gemountet ist oder nicht:

tune2fs -l /dev/sda1 | grep acl

Aus der obigen Ausgabe können wir ersehen, dass die Standard-Mount-Option bereits Unterstützung für ACL bietet. Falls es nicht aktiviert ist, können Sie es für die jeweilige Partition aktivieren (in diesem Fall /dev/sda3):

mount -o remount,acl /
tune2fs -o acl /dev/sda3

3. Jetzt ist es an der Zeit, einem Benutzer tecmint Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis namens reports zu erteilen, indem Sie die folgenden Befehle ausführen.

getfacl /shares/project1/reports       		  # Check the default ACL settings for the directory 
setfacl -m user:tecmint:rw /shares/project1/reports     # Give rw access to user tecmint 
getfacl /shares/project1/reports    			  # Check new ACL settings for the directory

Im obigen Screenshot verfügt der Benutzer tecmint jetzt über Lese-/Schreibberechtigungen (rw) für das Verzeichnis /shares/project1/reports, wie aus der Ausgabe des zweiten hervorgeht getfacl-Befehl.

Weitere Informationen zu ACL-Listen finden Sie in unseren folgenden Leitfäden.

  1. So verwenden Sie ACLs (Zugriffskontrolllisten) zum Einrichten von Festplattenkontingenten für Benutzer/Gruppen
  2. So verwenden Sie ACLs (Zugriffskontrolllisten) zum Mounten von Netzwerkfreigaben

Sehen wir uns nun die zweite Methode zum Zuweisen von Lese-/Schreibzugriff auf ein Verzeichnis an.

Verwenden von Gruppen, um Benutzern im Verzeichnis Lese-/Schreibzugriff zu gewähren

1. Wenn der Benutzer bereits über eine Standardbenutzergruppe verfügt (normalerweise mit demselben Namen wie der Benutzername), ändern Sie einfach den Gruppeneigentümer des Verzeichnisses.

chgrp tecmint /shares/project1/reports

Alternativ können Sie wie folgt eine neue Gruppe für mehrere Benutzer erstellen (die Lese-/Schreibberechtigungen für ein bestimmtes Verzeichnis erhalten). Dadurch wird jedoch ein freigegebenes Verzeichnis erstellt:

groupadd projects

2. Fügen Sie dann den Benutzer tecmint wie folgt zur Gruppe projects hinzu:

usermod -aG projects tecmint	    # add user to projects
groups tecmint	            # check users groups

3. Ändern Sie den Gruppeneigentümer des Verzeichnisses in „Projekte“:

chgrp	projects /shares/project1/reports

4. Legen Sie nun den Lese-/Schreibzugriff für die Gruppenmitglieder fest:

chmod -R 0760 /shares/projects/reports
ls  -l /shares/projects/	    #check new permissions

Das ist es! In diesem Tutorial haben wir Ihnen gezeigt, wie Sie einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis unter Linux gewähren. Wenn Sie Probleme haben, fragen Sie im Kommentarbereich unten nach.