Gruppe festlegen für Verzeichnis

Michael

Re-aktions-Pinguin
Registriert
Okt. 2002
Beiträge
3.213
Ich habe mehrere Benutzer im Netzwerk, die sich in Arbeitsgruppen aufgeteilt haben. Jede Arbeitsgruppe hat auch eine eigene Gruppe zugewiesen bekommen. Manche sind auch in zweien oder allen drei Gruppen Mitglied.

Gruppe1
Gruppe2
Gruppe3

So, wenn jetzt ein User aus Gruppe zwei eine neue Datei anlegt, wird als Gruppe immer die primäre Gruppe genommen. Dann darf aber keiner der anderen Gruppenmitglieder diese Datei verändern.

Wie stelle ich es an, dass alle Dateien in einem bestimmten Verzeichnis(-Baum) immer einer speziellen Gruppe zugehörig sind? Cronjob?
 
Put files and/or directories in the group
At the UNIX prompt ($) type chgrp -R groupname . from within the directory you want to add to the group. This will add the directory itself as well as all files in that directory. Note the period (.) at the end of this command. For example:
$ cd /www/data/cu/directory
$ chgrp -R ourgroup .

Ensure that new files added later will be owned by your group

To force new files uploaded to a directory to have the same group designation as the directory, you must "turn the sticky bit on." For a particular directory type:
$ chmod g+s directory-name
where directory-name is, of course, the name of a directory.

auf gut deutsch: das sticky bit aktivieren^^
 
OK. Neue Dateien haben nun automatisch die Gruppe des Ordners. Fine :)

ABER: Die Rechte der neuen Dateien werden nicht wie im Ordner drwxrws--- gesetzt, sondern -rw-r--r--:freak:

Was soll das denn nun? Was nützt mir eine Arbeitsgruppe, die in ihrem eigenen Ordner keine Dateien gemeinsam bearbeiten darf?

Ich möchte also, dass die Rechte des Ordners automatisch auf alle neu erstellten Dateien vererbt werden.

In einem anderen Forum wurde "umask" erwähnt (Shell-Befehl, keine manpage vorhanden). Kann man das mit umask machen ohne in /etc/profile die systemweite Einstellung zu verändern?
 
Zuletzt bearbeitet:
Michael schrieb:
In einem anderen Forum wurde "umask" erwähnt (Shell-Befehl, keine manpage vorhanden). Kann man das mit umask machen ohne in /etc/profile die systemweite Einstellung zu verändern?

man umask

UMASK(2) Linux Programmer's Manual UMASK(2)

NAME
umask - set file creation mask [...]

Naja, egal, umask bestimmt, mit welchen Berechtigungen Dateien standardmäßig erstellt werden.
Das was du suchst, dürfte umask 0002 sein (benutzer+gruppe dürfen schreiben, andere nur lesen), eventuell auchh 0007 (andere dürfen gar nichts).
Das "Problem" bei umask ist aber, dass es sich nur generell anwenden lässt, und nicht Ordnerbezogen. Entsprechende /home-Ordner müssen dann also auf jeden Fall nur für den User einsehbar sein (also chmod 700).
Ansonsten gibts zu umask noch zu sagen, dass es genau entgegengesetzt zu chmod funktioniert. Also ein umask 0000 bewirkt das selbe wie ein chmod 777.
Falls ddu das benutzen willst, kannst du den entsprechenden umask-Befehl in die /home/<user>/.bashrc, /home<user>/.profile,... eintragen.

Ach so, mir fällt gerade noch was ein. Falls du SuSE benutzt, könnten dir eventuell (!) ACLs helfen. Die sind bei SuSE nämlich schon standardmäßig im Kernel eincompiliert (ich weiß nicht, wie es bei anderen Distributionen aussieht, Slackware hats nicht mit drin).
Link:
http://www.suse.de/~agruen/acl/linux-acls/online/
Du musst dann die Partiton mit der Option "acl" mounten. Ich hab aber ehrlich gesagt bisher auch nur kurz damit rumgespielt, und eine SuSE zum ausprobieren hab ich derzeit auch nirgends laufen.

// Einmal editiert... :)
// zweitesmal editiert und ein paar Rechtschreibfehler korrigiert... seufz.
 
Zuletzt bearbeitet:
arkelanfall schrieb:
Das was du suchst, dürfte umask 0002 sein (benutzer+gruppe dürfen schreiben, andere nur lesen).
umask 0002 wäre ja schon gut. Ich müßte dann nur darauf achten, dass die Benutzer in entsprechend geschützten Verzeichnissen ihre Dateien ablegen.
Aber das ist mit den Homeverzeichnissen ja auch eigentlich der Fall.
Bei Debian und Konsorten (was ich einsetze) ist es so, dass jeder Benutzer automatisch eine eigene Gruppe mit dem selben Namen zugeteilt bekommt. Bei SuSE war es glaube ich Gruppe "users".
Die einzige Hausmittel-Möglichkeit ist demnach die Zugriffsteuerung über die Ordner. :(

Danke für die vielen Tipps!

P.S.: man umask gibts bei mir nicht. Das muss ein SuSE-Special sein.
 
Michael schrieb:
Die einzige Hausmittel-Möglichkeit ist demnach die Zugriffsteuerung über die Ordner. :(

Danke für die vielen Tipps!

Ja, das Rechtesystem ist ein "bisschen" altmodisch. Aber bis sich ACLs durchsetzen (wenn überhaupt), kann es ja nur noch jahre dauern :)

P.S.: man umask gibts bei mir nicht. Das muss ein SuSE-Special sein.

Glaub ich weniger. Isch abe gar kein SuSE... Slackware 10.1 hier. :D
Such...Such.. Ah, bei man bash gibts auch eine Kurzbeschreibung... aber wo kommt die umask manpage her...?
arkelanfall@fdsa:/var/log/packages$ grep -R umask *
bitchx-1.1-i486-1:usr/lib/bx/help/6_Functions/umask.bz2
epic4-2.0-i486-1:usr/share/epic/help/6_Functions/umask
man-pages-1.64-noarch-1:usr/man/man2/umask.2.gz
man-pages-1.64-noarch-1:usr/man/man3/getumask.3.gz[...]

Hm. Komisch. Naja, ist ja auch egal.
 
arkelanfall schrieb:
Ja, das Rechtesystem ist ein "bisschen" altmodisch. Aber bis sich ACLs durchsetzen (wenn überhaupt), kann es ja nur noch jahre dauern :)
Wo liegt das Problem?
Dann installier dir ACL doch einfach.

Nur weil die Distributionen das standardmäßig nicht einbauen braucht uns das doch nicht aufhalten :).
 
Ich bin faul. Und ich habe ungern Zeug installiert, das ich nicht wirklich brauche. Vor allem, wenn es sich um Dinge handeln, die tief ins System eingreifen. Hinterher kommt irgendein dringendes Update raus, das ich im Unverstand installiere, und plötzlich können mount, ls,... keine ACLs mehr, und alles geht drunter und drüber.
Mal davon abgesehen, dass viele andere Tools, die keine ACLs verstehen, dann nichtmehr wirklich durchblicken.

Da mir das "alte" Rechtesystem ausreicht, seh ich also keinen Grund mir das anzutun. Trotzdem ist das Fehlen von ACLs meiner Meinung nach etwas altmodisch.
 
Zurück
Oben