GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Weisen Sie einem Benutzer Lese-/Schreibzugriff auf ein bestimmtes Verzeichnis in Linux zu

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.

  1. So verwenden Sie ACLs (Access Control Lists) zum Einrichten von Festplattenkontingenten für Benutzer/Gruppen
  2. 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.


Linux
  1. So extrahieren Sie Tar-Dateien in ein bestimmtes oder anderes Verzeichnis in Linux

  2. So löschen Sie Benutzerkonten mit Home-Verzeichnis in Linux

  3. So verwenden Sie sudo, um einem Benutzer auf einem Linux-Server Root-Zugriff zuzuweisen

  4. Linux – Execute Vs Read Bit. Wie funktionieren Verzeichnisberechtigungen in Linux?

  5. Lesezugriff auf alle Dateien in einem bestimmten Unterordner?

Erstellen Sie ein Home-Verzeichnis für einen bestehenden Benutzer in Linux

So treten Sie einem Linux-System einer Active Directory-Domäne bei

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

So beschränken Sie den SSH-Zugriff auf bestimmte Benutzer in Linux

So erstellen/fügen Sie Benutzer in Linux hinzu

Execute- vs. Read-Bit. Wie funktionieren Verzeichnisberechtigungen in Linux?