Ich habe ein freigegebenes Verzeichnis „Abteilung“, es hat 3 Unterverzeichnisse für die einzelnen Abteilungen: „Account“, „Sales“, „Presales“ und jedes Unterverzeichnis hat ein Mitarbeiterverzeichnis für die Abteilungen, z. B. „acc1“, „acc2“, „acc3“ / „sale1“, „sales2“ / „ps1“, „ps2“, „ps3“, „ps4“.
wie jeder Mitarbeiter einen Benutzernamen und ein Passwort hat, um nur auf sein Verzeichnis zuzugreifen, ohne andere Verzeichnisse anzeigen zu müssen.
dasselbe, was ich im Windows Server gemacht habe.
wie ich es mache ?
Antwort1
Zuerst muss jeder Mitarbeiter zur Abteilungsgruppe gehören, d. h. acc1 gehört zu Account und ps3 zu Presales. Dann muss auf Abteilungsebene jedes Unterverzeichnis unter „Abteilung“ die Gruppen-ID haben, die der jeweiligen Abteilungsgruppe entspricht, mit Lese- und Ausführungszugriff auf Gruppenebene und allen anderen Benutzern wird der Zugriff entzogen, sodass es folgendermaßen aussieht ls -la Departments
:
drwxr-x--- 5 root Account 4096 Jul 25 08:43 Account
drwxr-x--- 6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x--- 4 root Sales 4096 Jul 25 08:44 Sales
Weisen Sie dann jeder Benutzer- und Gruppen-ID des Mitarbeiterverzeichnisses die Rolle des Benutzers zu, gewähren Sie dem Benutzer Vollzugriff auf das Verzeichnis und entziehen Sie der Gruppe und anderen sämtlichen Zugriff, beispielsweise für das Konto:
drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3
chown
, chgrp
und chmod
sind Ihre Freunde, wenn Sie dies auf der Kommandozeile tun. Siehe zBhttp://www.perlfect.com/articles/chmod.shtmlfür Einzelheiten zu ihrer Verwendung.
Diese Methode funktioniert, sofern die Berechtigungen/Mitgliedschaften hierarchisch und einheitlich definiert werden können, d. h. es besteht keine Notwendigkeit, unterschiedliche Arten und/oder Stufen von Berechtigungen auf einer bestimmten Ebene zu vermischen (z. B. haben einige einzelne Benutzer Lese-/Schreibzugriff, aber Benutzer, die nur zu einer Gruppe gehören, haben nur Lesezugriff) – für diese Fälle werden ACLs benötigt.
Antwort2
Alternativ können Sie FACLS für diese Verzeichnisse einrichten. Dies ist die sauberste, beste und bevorzugte Methode, wenn Sie kompliziertere Zugriffskontrolllisten benötigen.
Verwenden Sie Manpages für:
Mann getfacl
Mann Setfacl
Die Verwendung wird ungefähr so aussehen:
setfacl -md:g:"Gruppenname":rwx /Pfad/zum/gewünschten/Verzeichnis
setfacl -mg:"Gruppenname":rwx /Pfad/zum/gewünschten/Verzeichnis
Die erste Zeile richtet die Regel so ein, dass sie automatisch auf neu erstellte Dateien/Ordner im Verzeichnis angewendet wird. Die zweite gilt für dasselbe übergeordnete Verzeichnis, auf das diese angewendet werden, ermöglicht jedoch den Zugriff auf dieses Verzeichnis, da es bereits existiert.
***HINWEIS: Die Anführungszeichen um den Gruppennamen zeigen an, dass Sie den Namen der Gruppe in Ihren Befehl eingeben sollen. Verwenden Sie beim Ausführen des Befehls nicht die tatsächlichen Anführungszeichen, der Gruppenname soll ohne Anführungszeichen enthalten sein.