In einem früheren Artikel haben wir Ihnen gezeigt, wie Sie ein freigegebenes Verzeichnis unter Linux erstellen. Hier beschreiben wir, wie Sie einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis in Linux gewähren.
Hierfür gibt es zwei mögliche Methoden:Die erste besteht in der Verwendung von ACLs (Access Control Lists) und die zweite darin, Benutzergruppen zu erstellen, um Dateiberechtigungen zu verwalten, wie unten erläutert.
Für dieses Tutorial verwenden wir folgendes 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 namens reports
mit dem mkdir Befehl:
# mkdir -p /shares/project1/reports
ACL verwenden, um Benutzern Lese-/Schreibzugriff auf das Verzeichnis zu gewähren
Wichtig Hinweis: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 zuerst den aktuellen Dateisystemtyp auf Ihrem System und auch, ob der Kernel ACL wie folgt 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 CONFIG_EXT4_FS_POSIX_ACL=y angegeben Option.
2. Überprüfen Sie als Nächstes, ob das Dateisystem (Partition) mit ACL gemountet ist Option oder nicht:
# tune2fs -l /dev/sda1 | grep acl
Aus der obigen Ausgabe können wir ersehen, dass die standardmäßige Mount-Option bereits Unterstützung für ACL bietet . Falls es nicht aktiviert ist, können Sie es für die jeweilige Partition aktivieren (/dev/sda3 für diesen Fall):
# mount -o remount,acl / # tune2fs -o acl /dev/sda3
3. Jetzt ist es an der Zeit, einem Benutzer tecmint
einen Lese-/Schreibzugriff zuzuweisen in ein bestimmtes Verzeichnis namens reports
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 Screenshot oben der Benutzer tecmint
hat jetzt Lese-/Schreibberechtigungen (rw) für das Verzeichnis /shares/project1/reports wie aus der Ausgabe des zweiten getfacl ersichtlich Befehl.
Weitere Informationen zu ACL-Listen finden Sie in unseren folgenden Leitfäden.
- So verwenden Sie ACLs (Access Control Lists) zum Einrichten von Festplattenkontingenten für Benutzer/Gruppen
- Verwenden von ACLs (Access Control Lists) zum Mounten von Netzwerkfreigaben
Sehen wir uns nun die zweite Methode zum Zuweisen von Lese-/Schreibzugriff auf ein Verzeichnis an.
Gruppen verwenden, um Benutzern Lese-/Schreibzugriff auf das Verzeichnis zu gewähren
1. Wenn der Benutzer bereits eine Standardbenutzergruppe hat (normalerweise mit dem gleichen Namen wie der Benutzername), ändern Sie einfach den Gruppeneigentümer des Verzeichnisses.
# chgrp tecmint /shares/project1/reports
Erstellen Sie alternativ wie folgt eine neue Gruppe für mehrere Benutzer (die Lese-/Schreibberechtigungen für ein bestimmtes Verzeichnis erhalten). Dadurch wird jedoch ein gemeinsames Verzeichnis erstellt:
# groupadd projects
2. Fügen Sie dann den Benutzer tecmint
hinzu zur Gruppe projects
wie folgt:
# usermod -aG projects tecmint # add user to projects # groups tecmint # check users groups
3. Ändern Sie den Gruppeneigentümer des Verzeichnisses in projects:
# chgrp projects /shares/project1/reports
4. Stellen Sie nun den Lese-/Schreibzugriff für die Gruppenmitglieder ein:
# 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 in Linux gewähren. Fragen Sie bei Problemen über den Kommentarbereich unten.