PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : create mask, directory mode ???



Cyberduck
29.04.02, 17:08
Hallihallo Linuxer...
So nu läuft die Samba-Kiste endlich.
Wie muss ich denn nun die folgenden Rechte einstellen?
- create mask
- force create mode
- directory mask
- force directory mode.
Die Windows-User sollen wie bisher auf Ihren NT-Worstations die Rechte erhalten und setzen (Schreibgeschützt oder nicht)
Dokumente die nur einer gewissen Gruppe zugänglich sein sollen, sind in anderen shares.
Wie funktioniert das mit den 0770 und so?
Ich habe im Prinzip einige User die einer Gruppe angehören und einige User die zusätzlich einer zweiten Gruppe angehören. Diese sollen auf einer andere Share zusätzliche Rechte bekommen.

Hilfeee

Me
30.04.02, 09:47
Moin,

da Windows das Linux Dateisystem nicht kennt muss Samba ja irgendwelche Vorgaben bekommen, wie eine Datei Rechtemässig in Linux anzulegen ist. Als erstes muss der Share für den Windows User erreichbar sein, d.h. der User muss entweder auf dem Linuxsystem existieren (useradd 'user', smbpasswd -a 'user') oder der Share muss für den Nobody User erreichbar und, je nach dem was der User tun darf, ggf. auch beschreibbar sein.
Die Datei/Verzeichnismaske setzt sich wie folgt zusammen:

SUID/SGID Userrecht Gruppenrecht Everyonerecht
0 6 4 0

Werte:
0 - kein Recht
1 - darf ausführen
2 - darf schreiben
4 - darf lesen

Durch addieren der Werte kann man die Berechtigungen kombinieren.
Bsp:
0764
würde bedeuten: der User darf ausführen/lesen/schreiben, die Gruppe darf schreiben/lesen, alle anderen dürfen nur lesen.
Das SUID/SGID Bit am Anfang (die erste null) kann so gesetzt werden, das beim Ausführen der Datei diese die Berechtigungen des Owners / der Gruppe bekommt. Falls es nicht gesetzt ist, bleibt die Berechtigung beim ausführenen User und seiner zugehörigen Gruppe. Dies gilt allerdings nur für binäre, ausführbare Dateien. Für ausführbare Scripte gilt das nicht. Alle nicht ausführbaren Dateien sind hiervon nicht betroffen. Man kann bei der Vergabe der Maske auch darauf verzichten.
Wichtig: Bei Verzeichnissen gilt der Wert 1 für 'darf ins Verzeichnis wechseln', nicht für ausführen !!!
Um auf der Linuxbox die Berechtigungen zu setzen, verfährt man wie folgt:
chown user datei -> Setzt den Owner der Datei/Verzeichnis
chgrp user datei -> Setzt die Ownergruppe der Datei/Verzeichnis
chmod maske datei -> Setzt die Berechtigungsmaske (siehe oben)
über das optionale flag -R ( chmod 0770 verzeichnis -R ) kann man rekursiv die Berechtigungen alle Subfolders und Dateien eines Folders setzen.
Funktioniert bei allen drei o.g. Befehlen.

Samba muss die Berechtigungen natürlich auch setzen. Falls der an Windows angemeldete Benutzer auf der Linuxbox (und in Samba) existiert, wird der Dateiowner und seine zugehörige group als Ersteller mit der angegebenen Maske zur Erstellung benutzt. Die Maske gibt man über 'create mask = maske' in der smb.conf unter dem Share an.
Falls der User auf dem Linuxsystem nicht existiert, wird (soweit nicht verändert) der User Nobody benutzt.

Die Directory Mask gibt an, mit welcher Maske die Verzeichnisse erstellt werden sollen.

cu

Cyberduck
30.04.02, 20:03
Erstmal danke, für diesen sehr ausführlichen Exkurs.
Wenn ich das richtig verstehe könnte ich Dateien wie folgt schützen:
User, Gruppe: User
Admin, Gruppen: Admin / User
Share AllUsers: Rechte 0770, forcegroup User
Share Admins: Rechte 0770, forcegrop Admin

Dann könnte Admin in allen shares alles tun, User aber nur in AllUsers ?

Me
02.05.02, 09:01
Jo.

würde funzen.

cu