PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist die directory mask?



markeese
02.06.06, 16:12
Ich komm ja doch nicht umhin, wieder doof zu fragen :-(
Dabei lese ich hier schon wie ein wilder.

Was ist denn die directory mask?

Gruß.
Markeese...

mattias1
02.06.06, 16:47
man smb.conf


directory mask (S)
This parameter is the octal modes which are used when converting DOS modes to UNIX modes when creating UNIX directories.

When a directory is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the
resulting UNIX mode is then bit-wise 'AND'ed with this parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of
a directory. Any bit not set here will be removed from the modes set on a directory when it is created.

The default value of this parameter removes the 'group' and 'other' write bits from the UNIX mode, allowing only the user who owns the
directory to modify it.

Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the force directory mode parameter.
This parameter is set to 000 by default (i.e. no extra mode bits are added).

Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors. If the administrator wishes to enforce a mask on
access control lists also, they need to set the directory security mask.

Default: directory mask = 0755

Example: directory mask = 0775

kreol
02.06.06, 17:22
Das sind so Fragen, die nach www.google.de/linux schreien...

Suchergebnisse (http://www.google.de/linux?num=20&hl=de&newwindow=1&q=directory+mask&btnG=Suche&meta=cr%3DcountryDE)


Kreol

markeese
02.06.06, 17:49
Vielen Dank.

Myst
02.06.06, 17:55
Ok, wenn du es gar nicht hinbekommst hier ne kleine Erklärung:

Wenn Dateien angelegt werden, so kann man sagen, mit welchen Attributen diese Dateien angelegt werden sollen. Das hat einen Sicherheitsgrund. Denn ein normaler User sollte keine Zugriffsrechte verwalten (müssen).

Daher legt man eine umask fest (POSIX) oder im speziellen bei Samba eine "create mask" oder eine "directory mask".

Diese Masken arbeiten so:

4 = read (r)
2 = write (w)
1 = execute (x)

Ein Verzeichniseintrag (Datei oder Unterverzeichnis) kann Attribute für Eigentümer (owner-user [u]), Eigentümer-Gruppe (owner-group [g]) oder Andere (others [o]) annehmen.

Daraus abgleitet:

-rwxr-xr-x blub

Dies wäre eine Datei mit Zugriffsrechten rwx für den Owner, rx für die Gruppe und rx für andere. Wenn man das nun auf das oktale System (weiter oben beschrieben) umlegt, bekommt man als Wert 7 für Eigentümer, 5 für die Gruppe und 5 für andere, denn die Werte werden "addiert". Ich nehme diese Sachen jetzt zusammen und erhalte den Wert 755 als Datei-Attributswert. Wenn du

$ chmod 755 blub

machst, kannst du das sogar verifizieren.

Eine Umask, wie schon erwähnt sorgt dafür, das diese Attribute beim erstellen der Datei schon festgelegt werden. Die umask für diese Einstellung müsste 022 sein, die Maske abgezogen von 777 ergibt die Initial-Attribute der Datei, ergo 755.

Zusätzlich kann eine umask aber auch mit einem vierten Wert belegt werden, der folgende Bedeutung hat: 4755, gemeint ist die 4 in diesem Wert.

4 setzt den Eintrag auf "set uid on execution", 2 setzt den Wert auf "set gid on execution" und 1 setzt den Eintrag "Sticky", also kann nur vom Eigentümer gelöscht werden, alle anderen Rechte aber wie per User-, Group- und Other-Attribute festgelegt.


Ich hoffe, das war einigermaßen verständlich.

markeese
02.06.06, 18:06
Die Rechteeinstufungen der Dateien und Verzeichnisse mittels des oktalen Systems sind mir einigermaßen verständlich.
Für mich war unklar, wofür der Parameter 'directory mask' hergenommen wird.
Ich dachte bisher, daß der Eintrag 'create mask' sowohl zur Erstellung von Dateien, also auch zur Erstellung von Verzeichnissen ausreichen würde!?!

Lieben Dank für die ausführliche Hilfestellung.

Myst
02.06.06, 18:15
Ok, aber gerade interessant sind die Werte an der ersten Stelle eines vier-stelligen Wertes. Angewendet auf "directory mask" sorgt "set gid on execution" dafür, das neue Dateien in diesem Verzeichnis als Eigentümer-Gruppe die Gruppe des übergeordneten Verzeichnis-Eintrags bekommen:

foo => Directory Owner-User bar, Owner-Group r

User f Mitglied der Gruppen b (primär), a und r

f legt eine Datei foobar in foo an, so bekommt die Datei, wenn "set gid on execution" auf foo gesetzt ist, als Owner-Group r und nicht b.

Das liegt daran, das, wenn f den Ordner foo "betritt" automatisch die Owner-Group annimmt, die der Ordner hat.

Ich hoffe, es is nich zu kompliziert.