Linux Verzeichnis-Berechtigungen für verschiedene Gruppen
Ich habe zwei Ordner: "öffentlich" und "privat".
Ich habe drei Benutzer: "chris", "john", "dan". Ich habe zwei Gruppen: "pub", "priv" und "Gott".
- Die Gruppe "Gott" sollten Sie haben vollen Zugriff auf die "öffentlichen" und "privaten".
- Die Gruppe "pub" sollte die einzige Gruppe, die Berechtigungen über "öffentliche"
- Die Gruppe "priv" sollte die einzige Gruppe, die Berechtigungen verfügen, die über "private".
Als root:
useradd chris
useradd john
useradd dan
usermod -g god chris
usermod -g pub john
usermod -g priv dan
chgrp god public private
chgrp pub public
chgrp priv private
su chris
Als "chris":
cd public/
touch test
= Erlaubnis verweigert
Das gleiche für die anderen Nutzer ... unter "dan" ich habe keine Berechtigungen über das "private" - Ordner, althou "dan" ist Mitglied von "priv" - Gruppe.
Haben Sie eine Idee?
InformationsquelleAutor Schutzstaffel | 2012-11-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, ich weiß, das ist relativ alt, aber twalberg ist richtig: es ist eigentlich eine relativ einfache Möglichkeit, dies zu erreichen mit POSIX-ACLs. Sie haben es seit den späten 90/frühen 2000 ' s, also ich weiß nicht warum die Menschen nicht mehr verwenden.
, Wie es zu tun: Tun als Sie bereits getan habe, dann einfach diesen Befehl ausführen:
ist und in einem Befehl, den Sie bekommen, was Sie wollen, sind. Sie verbringen immer versuchen, herauszufinden, wie es zu tun mit NUR die traditionellen unix-Berechtigungen.
Mikic Ratschläge immer gut sein kann (je nachdem, was Sie versuchen zu erreichen), und es könnte mehr geradlinig zu verweisen, so wenige Gruppen wie möglich in Ihrer Berechtigungen (oder vielleicht wollen Sie es offensichtlich sein, dass "chris" kein normaler Benutzer, sondern eine administrative eins, wieder, es hängt davon ab, was man bauen will).
Bot ich etwas näher zu dem, was Sie versuchen zu erreichen, denn es kann Situationen geben, wo Sie versuchen zu geben, ein sekundärer Benutzer/Gruppe Zugriff auf ein Verzeichnis, aber Sie wollen nicht wählen zwischen "chris" nicht immer Zugriff auf diese beiden Verzeichnisse und "chris" Zugriff auf alle anderen Verzeichnisse und Dateien "pub" und "priv" könnte Zugriff haben. Mit ACL ' s, die Sie nicht haben, um diese Entscheidungen, das ist, warum Sie wurden Hinzugefügt und sind jetzt ein integraler Bestandteil der meisten Unix - (und BSD und Linux) Plattformen.
Sie sagte, dass die Gruppe "pub" sollte die einzige Gruppe, die Berechtigungen verfügen, die über den "öffentlichen". Aber gerade vor, dass Sie sagte, dass "Gott" sollte auch Zugriff haben. So "pub" kann nicht der einzige sein, der Zugang hat. Dito für "priv".
Ihnen auch sagen:
Gut, dass die drei Gruppen. (Erinnert mich an das berühmte Zitat: "Es gibt drei Arten von Menschen auf dieser Welt; diejenigen, die zählen können und diejenigen, die es nicht können." :-P)
Ihre Basis-Konzept erscheint mir falsch. Die Funktionsweise ist ziemlich einfach. Erstellen Sie zwei Gruppen, "pub" und "priv". Legen Sie alle Benutzer Zugriff auf die Verzeichnisse entsprechend. Benutzer benötigen Zugriff auf beide Verzeichnisse sollten die beiden Gruppen angehören.
In diesem Fall "chris" gestellt werden sollte, in der "Kneipe" sowie der "priv" - Gruppe. "john", sollte in die "pub" - Gruppe. "dan", sollte in der "priv" - Gruppe.
Was Sie versuchen zu tun, ist, die Verzeichnisse werden im Besitz von zwei Gruppen. Das ist nicht möglich. Es können Benutzer, die Teil mehrerer Gruppen, keine Dateien oder Verzeichnisse. Sie einfach bekommen es von hinten 🙂
Gibt es zwei problematische Dinge in Ihrem Ansatz. Die erste ist:
Mit dem zweiten Befehl, Sie verworfen, die Wirkung der ersten. Verzeichnis
public
gehört jetzt zupub
Gruppe, nicht aufgod
mehr.Die zweite Sache ist, dass Sie wahrscheinlich gar nicht geben, die Schreibrechte auf Verzeichnis
public
Gruppe, die es besitzt (die Tatsache, dass der Benutzer, der den Befehl ausführttouch
gehört zum Verzeichnis, die Gruppe ist egal).Versuchen Sie dies:
und ähnliche mit anderen Verzeichnissen. Jedoch, was Sie zunächst versuchen, zu erreichen, ist unmöglich, weil das Verzeichnis gehören zu einer Gruppe nur. Nikos erarbeitet sowie in seiner Antwort - Ort-Benutzer in mehreren Gruppen.
Müssen Sie ein Dateisystem verwenden, das unterstützt ACLs. Wie bereits in anderen Antworten, die
pub
undpriv
Gruppenzugehörigkeit ist möglich mit den grundlegenden Linux-Berechtigungen, aber der Zugriff auf diegod
Gruppe, da die Dateien/Verzeichnisse, kann nur eine einzige Gruppe tag erforderlich, die mit einer ACL. Die meisten der aktuellen Datei-Systeme sollten diese Funktion unterstützen, die - siehe die manual-Seiten fürgetfacl
undsetfacl
.