Mounten Sie ein Laufwerk automatisch mit / etc / fstab und beschränken Sie den Zugriff auf alle Benutzer einer bestimmten Gruppe

9

Ich habe derzeit eine zusätzliche Festplatte, die ich als Arbeitsbereich verwende. Ich versuche, es beim Neustart automatisch zu mounten, indem ich die folgende Zeile zu / etc / fstab hinzufüge

/dev/sdb1 /media/workspace auto defaults 0 1

Dies funktioniert, um es automatisch zu mounten. Ich möchte jedoch den Lese- / Schreibzugriff auf Benutzer beschränken, die zu einer bestimmten Gruppe gehören. Wie würde ich das in / etc / fstab machen? Kann ich einfach nur chown oder chmod verwenden , um den Zugriff zu steuern?

Schlacke
quelle

Antworten:

19

Wenn der Dateisystem - Typ ist eine , die nicht über Berechtigungen, wie FAT, können Sie hinzufügen umask, gidund uiddie fstab - Optionen. Zum Beispiel:

 /dev/sdb1 /media/workspace auto defaults,uid=1000,gid=1000,umask=022 0 1

uid=1000 ist die Benutzer-ID.

gid=1000 ist die Gruppen-ID.

umask=022Dadurch werden Berechtigungen festgelegt, sodass der Eigentümer gelesen, geschrieben und ausgeführt hat. Group und andere haben gelesen und ausgeführt.

krt
quelle
Sie können uid und gid als Benutzer und Gruppen im Textmodus
zuweisen
@krt, Was ist, wenn der Dateisystemtyp NICHT einer ist, der keine Berechtigungen wie FAT hat?
Gmagno
7

Ich würde den Zugriff auf das Dateisystem über ein Verzeichnis steuern, das den Einhängepunkt enthält.

Als Wurzel:

mkdir -p /media/group1only/workspace
chgrp group1 /media/group1only
chmod 750 /media/group1only

Dies ist der vollständige Zugriff auf root und Lese- + Ausführungszugriff für Mitglieder der Gruppe1. Geben Sie ihnen hier keinen Schreibzugriff, da sie das versehentlich umbenennenworkspace Ihr System beim Einhängepunkts möglicherweise nicht mehr gestartet werden kann.

Und füge dies zu / etc / fstab hinzu:

/dev/sdb1 /media/group1only/workspace auto defaults 0 1

Nach dem Mounten des Dateisystems können Sie weitere Eigentümer- und Modusänderungen an Objekten im Dateisystem vornehmen, um einen genaueren Zugriff zwischen den Gruppenmitgliedern zu ermöglichen.

Mark Plotnick
quelle
2

Angenommen, das Dateisystem auf der Festplatte unterstützt ACLs, und der hypothetische Benutzer myusername und die hypothetische Gruppe für den Zugriff auf die Festplatte, die Diskuser, können wie folgt ausgeführt werden. $gab einen Befehl an, der als regulärer Benutzer ausgeführt wurde; #Gibt einen Befehl an, der als Benutzer root ausgeführt wird.

Erstellen Sie eine Gruppe, zu der ein Benutzer zu diesem Zweck gehören kann.

$ sudo groupadd diskusers
$ sudo usermod -a -G diskusers myusername
$ logout

Nochmal anmelden.

$ sudo -i
# mount /media/workspace
# chown root:root /media/workspace
# chmod 0750 /media/workspace/
# setfacl -d -m -g:diskusers:7 /media/workspace
# setfacl -m g:diskusers:7 /media/workspace

Die "7" in der setfacl Befehl ist oktal (Lesen = 4 + Schreiben = 2 + Ausführen = 1), ähnlich wie bei normalen Oktalberechtigungen (0400, 0200, 0100).

Dies -dist ein Schalter zum Angeben einer Standardmaske - neue Dateien und Verzeichnisse. Dies -mist die Maske, die auf das Verzeichnis angewendet werden soll.

Sie können die Maske auch zunächst auf alle Dateien anwenden, nachdem Sie die Standardeinstellung (oben) festgelegt haben:

find /media/workspace -exec setfacl -m g:diskusers:7 {} +

Zu diesem Zeitpunkt können nur Root und Mitglieder von Diskusern auf die Dateien zugreifen. Ich mag auch Mark Plotnicks Idee, Berechtigungen auf ein Unterverzeichnis anzuwenden. Diese Technik könnte auch so angewendet werden.

Christopher
quelle