Samba: acces denied
Markus Wigge
markus at cultcom.de
Sun Jun 20 18:38:37 CEST 2004
Tag,
>> Laut Doku gilt die "write list" global für alle shares. Wenn ich mich
>> jetzt
>> aber über smbclient o.ä. für das backup-share anmelde und versuche eine
>> Datei anzulegen oder zu kopieren bekomme ich nur
>> NT_STATUS_NETWORK_ACCESS_DENIED!
>
>> Laut meiner log.smbd ist die Anmeldung als user "markus" erfolgreich.
>> Das Verzeichnis gehört nachweislich "samba.nogroup" und mit den Rechten
>> soll
>> Samba ja auch zugreifen... (force user/group)
> <Vermutung>
> Pack den User markus mal in die gruppe nogroup oder fummel das so um,
> dass da ne Gruppe steht in der markus auch drin ist.
> Ich tippe auf Dateisystemrechte.
> </Vermutung>
Nach viel rumprobieren scheint es eher ein Bug in Samba zu sein, oder
besser eine Unstimmigkeit mit der Doku...
Ich habe jetzt zusätzlich zu "write list = markus", "read list = nobody"
eingefügt und global "read only = no" gesetzt.
"read list" überschreit die Option "read only", damit können Gäste nur noch
lesend zugreifen, da sie als "nobody" gemappt werden.
Laut Doku soll "write list" diese Option auch überschreiben, tuts aber
nicht,
daher muß "read only" global abschalten.
Zur Vermutung mit der Gruppe:
force group = gruppex
-> Dateizugriffe erfolgen zwingend mit den Rechten der "gruppex"
force group = +gruppey
-> Dateizugriffe erfolgen nur dann mit den Rechten von "gruppey",
wenn der angemeldete Benutzer in dieser Gruppe ist.
Das alles habe ich mir dann folgendermassen zu Nutze gemacht:
------------------------ config ------------------------
[global]
...
force group = +samba
inherit permissions = yes
write list = markus, ..., ...
read list = nobody
read only = no
...
[share-x]
path = /home/samba/share-x
guest ok = yes
------------------------ config ------------------------
> ll /home/samba/
drwxrwxr-x 8 samba samba 4096 2004-06-20 18:09 share-x
Wenn der angemeldete Benutzer in der Gruppe samba ist, kann er in das
share schreiben, da er das als Gruppe "samba" tut.
Ein Gast kann nicht schreiben, da er explizit in der "read list" steht
und außerdem nicht die Gruppenberechtigung gesetzt wird (+samba).
Die Schreib- und Leserechte mit denen Dateien angelegt werden, werden
vom übergeordneten Verzeichnis übernommen (inherit permissions = yes).
Also alles in allem etwas komplizierter als ich es mir vorgestellt habe,
aber ein brauchbarer workaround für die nicht ganz korrekt funktionierende
Direktive "write list"...
Jetzt kann ich genau das was ich will: Ich kann Benutzer in die "write
list"
aufnehmen und der Gruppe "samba" zuordnen und schon haben sie
Schreibzugriff.
Darüberhinaus können User die Dateien von Anderen ändern oder löschen, da
sie
immer mit der Gruppenzugehörigkeit "samba" zugreifen.
Der Username im Dateisystem bleibt allerdings erhalten, wodurch
nachvollziebar
ist wer die Datei angelegt hat.
Nur falls sich einer mal was ähnliches aufsetzen will...
so far,
Markus
More information about the Linux
mailing list