Nachdem Gulli stirbt, ich aber die eine oder andere Anleitung verfasst hab, die ich selber öfter brauche, hier quasi das öffentliche Backup:
Problemstellung
Es existieren zwei User, die beide auf ein Verzeichnis und alle darin enthaltenen Dateien zugreifen können sollen, mit allen Rechten, unabhängig vom Besitzer. Alle Dateien und Verzeichnisse, die später in dieses Verzeichnis hinzugefügt werden sollen, sollen automatisch so eingestellt werden.
Voraussetzung
Gruppenzugehörigkeiten müssen stimmen, d. h. die Hauptgruppe des Benutzers sollte den gleichen Namen haben wie der User (ist Standard in Debian), zumindest aber exklusiv sein (also nur den User enthalten, keine zweite oder gar dritte Person). Auch das ist Standard in Debian.
Wir haben also zwei User und deren exklusive Gruppen:
gisela:gisela
hendrik:hendrik
Lösung
Schritt 1:
Zuerst muss eine neue Gruppe erstellt werden, zu der beide Nutzer hinzugefügt werden:
Dann die Nutzer an die Gruppe anhängen, entweder mit Kommando:
oder man editiert die /etc/group:
Übersetzt:
Gruppenname:Passwort_(normal_nicht_gesetzt,_daher_x):Group-ID:Usernamen_durch_Kommata_getrennt
Schritt 2:
Wir ändern die Gruppenzugehörigkeit unseres Verzeichnisses und seinem Inhalt:
Der effektive Besitzer des Verzeichnisses spielt keine Rolle.
Schritt 3:
Wir ändern die Zugriffsrechte von Verzeichnis und Inhalt:
In diesem Beispiel haben Besitzer und Mitglieder von Gruppe "sharing" alle Rechte (Lese-, Schreib-, Zugriffsrechte), alle anderen Systemnutzer haben keine Rechte. Wichtig ist die 2 am Beginn, sie setzt das SGID-Bit. Dieses bewirkt, dass alle Dateien und Verzeichnisse, die nachträglich darin erstellt werden, automatisch der Gruppe "sharing" gehören, unabhängig vom erstellenden Besitzer. Rekursiv haben wir nur gearbeitet, weil der Inhalt des Verzeichnisses sonst die alten Rechte (in Debian 755 (drwxrwxr-x) bzw. 644 (-rw-r--r--)) behalten hätte.
Schritt 4:
Wir müssen Debian beibringen, dass alles, was der Nutzer erstellt, nicht mehr 755 bzw. 644 als Rechteeinstellung hat, sondern 775 bzw. 664. Dazu editieren wir die .bashrc im Nutzerverzeichnis:
Aus diesem Grund war es wichtig, dass die Hauptgruppe des Nutzers exklusiv ist - denn jetzt hat jedes Mitglied seiner Hauptgruppe Lese- und Schreibrechte auf alle seine Daten, auch die vertraulichen (wie SSH-Private-Keys etc.). Solange er aber alleiniges Mitglied seiner Hauptgruppe ist, ändert das an der Sicherheit nichts. Deshalb haben wir auch bewusst die Rechte für "Others" von umask unberührt gelassen.
P.S.: Auch wenn in Umask für alles Ausführungsrechte vergeben werden, verbietet es die Debian-Systemeinstellung, dass Dateien automatisch Ausführungsrechte zugesprochen bekommen - aus gutem Grund. Umask ändert daran also nichts.
Nach einem neuen Login des jeweiligen Nutzers ist das Hexenwerk getan.
Ich hoffe, es hilft Nachfolgern - give a bit, take a bit... Sollte das irgendwo nicht so laufen oder andere Dinge beachtet werden müssen, bitte meldet euch - auch ich bin nicht perfekt!
Problemstellung
Es existieren zwei User, die beide auf ein Verzeichnis und alle darin enthaltenen Dateien zugreifen können sollen, mit allen Rechten, unabhängig vom Besitzer. Alle Dateien und Verzeichnisse, die später in dieses Verzeichnis hinzugefügt werden sollen, sollen automatisch so eingestellt werden.
Voraussetzung
Gruppenzugehörigkeiten müssen stimmen, d. h. die Hauptgruppe des Benutzers sollte den gleichen Namen haben wie der User (ist Standard in Debian), zumindest aber exklusiv sein (also nur den User enthalten, keine zweite oder gar dritte Person). Auch das ist Standard in Debian.
Wir haben also zwei User und deren exklusive Gruppen:
gisela:gisela
hendrik:hendrik
Lösung
Schritt 1:
Zuerst muss eine neue Gruppe erstellt werden, zu der beide Nutzer hinzugefügt werden:
Code:
sudo addgroup sharing
Code:
sudo adduser gisela sharing
Code:
sudo adduser hendrik sharing
Code:
sudo vim /etc/group
/etc/group schrieb:...
sharing:x:1002:gisela,hendrik
Übersetzt:
Gruppenname:Passwort_(normal_nicht_gesetzt,_daher_x):Group-ID:Usernamen_durch_Kommata_getrennt
Schritt 2:
Wir ändern die Gruppenzugehörigkeit unseres Verzeichnisses und seinem Inhalt:
Code:
sudo chown -R gisela:sharing /home/shared/
Schritt 3:
Wir ändern die Zugriffsrechte von Verzeichnis und Inhalt:
Code:
sudo chmod -R 2770 /home/shared/
Schritt 4:
Wir müssen Debian beibringen, dass alles, was der Nutzer erstellt, nicht mehr 755 bzw. 644 als Rechteeinstellung hat, sondern 775 bzw. 664. Dazu editieren wir die .bashrc im Nutzerverzeichnis:
Code:
sudo vim /home/gisela/.bashrc
(analog dazu auch die von hendrik)/home/gisela/.bashrc schrieb:...
# sets umask for new files and directories
umask u=rwx,g=rwx
Aus diesem Grund war es wichtig, dass die Hauptgruppe des Nutzers exklusiv ist - denn jetzt hat jedes Mitglied seiner Hauptgruppe Lese- und Schreibrechte auf alle seine Daten, auch die vertraulichen (wie SSH-Private-Keys etc.). Solange er aber alleiniges Mitglied seiner Hauptgruppe ist, ändert das an der Sicherheit nichts. Deshalb haben wir auch bewusst die Rechte für "Others" von umask unberührt gelassen.
P.S.: Auch wenn in Umask für alles Ausführungsrechte vergeben werden, verbietet es die Debian-Systemeinstellung, dass Dateien automatisch Ausführungsrechte zugesprochen bekommen - aus gutem Grund. Umask ändert daran also nichts.
Nach einem neuen Login des jeweiligen Nutzers ist das Hexenwerk getan.
Ich hoffe, es hilft Nachfolgern - give a bit, take a bit... Sollte das irgendwo nicht so laufen oder andere Dinge beachtet werden müssen, bitte meldet euch - auch ich bin nicht perfekt!
Zuletzt bearbeitet: