PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba: Probleme mit Gruppenrechten



Carcass
02.07.04, 19:21
hallo

also zunächst mal die erklärung meines systems.
ich hab einen fileserver im netzwerk, der mit samba dateifreigaben für linux- und windows-clients im netzwerk bereitstellt.
eine les- und schreibbare freigabe ist nur für bestimmte benutzer gedacht, die alle in der gruppe "samba" auf dem fileserver eingetragen sind.
logischweise haben alle dateien in der freigabe die dateimaske:


rwxrwxrwx [benutzer in samba-gruppe] samba größe datum datei


"rwxrwxrwx" hab ich noch, weil die eingeloggten benutzer anscheinend nicht der gruppe "samba" auf dem fileserver zugeordnet werden, obwohl sie in /etc/group bei "samba" eingetragen sind, eigentlich sollte "rwxrwxr-x" schon reichen, wenn alles funktionieren würde...
/etc/group


[...]
samba:x:501:arre,phil,root


nun will ich aber die dateimaske rwxrwxr-x (775) auf die dateien setzen, weil ich nebenbei noch einen ftp-server betreibe und da sollen die benutzer nicht alle rechte haben... (bei pureFTPd kann man seitens virtual-users keine rechte einschräken, schade)
hier noch meine smb.conf


[global]
workgroup = GROUP1
server string = FileServer
guest account = nobody
interfaces = 192.168.0.1/255.255.255.0
bind interfaces only = Yes
security = SHARE
socket options = TCP_NODELAY
keepalive = 30
os level = 2
character set = ISO8859-15
encrypt passwords = Yes

[root]
writeable = yes
admin users = root
path = /mnt/raid
write list = @samba
valid users = @samba
force directory mode = 0775
force group = samba
force create mode = 0775
comment = raid_root_dir
create mode = 0775
directory mode = 0775


ohne "force group = samba" und "write list = @samba" gehts auch nicht, hab ich schon alles getestet

mein mount-kommando lautet:
mount -t smbfs -o username=phil,password=xxx,uid=phil,guid=samba,ioc harset=iso8859-15 //192.168.0.1/root /mnt/server

den user "phil" kennt der fileserver und samba auch (sonst könnte ich mich eh nicht einloggen :) )

wie werden nun die user in der gruppe "samba" aufm fileserver erkannt und somit die rechte anerkannt, dass ich mit den rechten "775" arbeiten kann?
ich bin ratlos und bin für jeden tipp dankbar!!!
danke schonmal im vorraus

mfg
phil

aheinhold
02.07.04, 20:09
Hallo,

meld dich doch mal an der Konsole des Servers als User phil an.
Gib dann id ein und schau mal, ob phil wirklich in der Gruppe samba ist.

Carcass
02.07.04, 20:17
ja, der benutzer ist in der gruppe samba :)


uid=500(phil) gid=100(users) Gruppen=100(users),501(samba)

oder muss samba als primäre gruppe eingetragen werden??
was nu?

aheinhold
02.07.04, 20:27
Nein, primäre Gruppe muss natürlich nicht sein.
- phil ist also in der Gruppe Samba
- die Gruppe Samba hat rwx auf das Verzeichnis
und die Gruppenmitglieder von samba dürfen nicht in das Verzeichnis schreiben, wenn die Berechtigungen auf 775 gesetzt sind?!?!

Kann eigentlich nicht sein!

Carcass
02.07.04, 20:32
genau das is das problem! eigentlich sollten die user in der gruppe samba mit den rechten "775" schreib-, lese- und ausführrechte haben ;-/


die Gruppe Samba hat rwx auf das Verzeichnis
hmm, wie legt man das eigentlich fest???
das legt man doch in der smb.conf fest, ne?
mit "write list = @samba" und "valid users = @samba"?
oder nicht?

aheinhold
02.07.04, 20:53
Nein, das ist so nicht korrekt! Wenn man das ganze mal mit nem Windows-Share vergleicht ist es so: Du kanns auf eine Freigabe Freigabe-Berechtigungen und NTFS-Berechtigungen (unter Sicherheitseinstellungen) vergeben.
Selbst wenn du Jedem auf die Freigabe Vollzugriff erteilst heißt das noch lange nicht, dass Jeder dort auch schreiben darf, denn danach greifen die NTFS-Berechtigungen.
Ähnlich ist es bei Samba: Du erstellst in der smb.conf eine Freigabe mit writeable = yes , das heißt jedoch nicht, dass auch jeder schreiben darf! Das geht nur, wenn die Berechtigungen auf Filesystem-Ebene auch dazu passen.

Um das ganze jetzt in die Tat umzusetzen, ist es notwendig zu wissen, welche Berechtigungen auf Filesystem-Ebene gesetzt sind. Das erfährst du wenn du ein Konsolenfenster öffnest und das Kommando ls -la /verzeichnis/unterverzeichnis ausführst.
Poste doch mal, was da dann angezeigt wird.

Carcass
02.07.04, 21:01
s.o.
da hab ich schon eine datei-maske meiner daten aufm fileserver gepostet, aber hier nochmal ein beispiel aus der praxis:


-rwxrwxrwx 1 arre users 594K 15. Jun 18:18 ipfilter.dat
-rwxrwxrwx 1 phil samba 98K 15. Apr 15:34 kkrieger-beta.zip
drwxrwxrwx 106 arre users 3.9K 29. Jun 17:45 lanzeugs
-rwxrwxrwx 1 phil users 477K 13. Jun 15:42 liste.txt
drwxrwxrwx 5 phil samba 120 7. Mär 19:24 MlDonkey
drwxrwxrwx 16 phil samba 1.2K 1. Jul 00:09 Mp3s
drwxrwxrwx 5 phil samba 552 27. Jun 11:31 nfos
-rwxrwxrwx 1 phil samba 364K 9. Apr 06:20 putty.exe
drwxrwxrwx 24 phil samba 584 4. Mär 19:04 SOURCE
drwxrwxrwx 2 phil samba 408 30. Jun 14:47 Telefonrechnungen
drwxrwxrwx 3 phil samba 120 9. Jun 22:10 temp
drwxr-xr-x 2 phil samba 248 2. Jul 17:47 upload
drwxrwxrwx 7 arre samba 360 29. Jun 14:37 so halt

aheinhold
02.07.04, 21:04
Hab ich gelesen. Wie sieht das Verzeichnis . aus?
Auch so:

drwxrwxrwx 5 phil samba .

Carcass
02.07.04, 21:08
das sieht so aus:
in meinem root-verzeichnis der freigabe

drwxrwxrwx 21 root samba 1.7K 2. Jul 20:33 .
und so in einem unterverzeichnis

drwxrwxrwx 16 phil samba 1.2K 1. Jul 00:09 .

Fly
02.07.04, 21:14
Ich verwende ebenfalls pure-ftpd sowie samba. Bei mir dürfen die ftp user zum Teil keine Dateien in bestimmte Verzeichnisse hochladen da habe ich gleich einfach die freizugebene Verzeichnisse einfach den Besitzer und Gruppe auf Sambauser geändert (nicht root), die ftp user sind in eine andere Gruppe, da habe ich die Berechtigung folgend gesetzt: rwxrwxr-x da können die FTP User keine Dateien in das Verzeichnis hochladen und die Samba user problemlos ändern....

aheinhold
02.07.04, 21:19
Jetzt nochmal ne Frage:
Hast du dieses Problem nur dann, wenn du über Samba zugreifst, oder auch, wenn du direkt als User phil an der Konsole arbeitest? Kannst du in besagtem Verzeichnis eine Datei erstellen?
z. B. mit touch testfile

Carcass
02.07.04, 21:33
@Fly
ja was denkst du was ich machen will?? ^^
ich hab auch eine eigene gruppe für die FTP user und genauso will ich eine drwxrwxr-x - maske einsetzten, aber das geht ja nicht, falls du nicht gelesen hast....

@aheinhold
ja, sicherlich geht das :)
der user phil kann mit den samba-gruppen dateien machen was er will, ausführen, löschen, ändern und neue dateien im ordner erzeugen.

und nu?

aheinhold
03.07.04, 15:11
Hallo nochmal,

wechsle doch mal in das genannte Verzeichnis (Konsole).
Mach dann:
chgrp samba *
chmod -R 775 .
chmod g+s .

Dann sollte alles Funktionieren wie du willst. Nimm dann aus der smb.conf folgende Zeile aus der [root]-Freigabe raus und starte den smbd durch.
force group = samba

Carcass
03.07.04, 18:11
geht immer noch nicht :(((
was kann ich da nur machen... verdammt...

Pixelbrei
08.07.04, 17:38
Hi Phil :)

Hab das ganze bei mir mal getestet, das funktioniert problemlos.

SERVER:
======
meine smb.conf:


[global]
workgroup = FSK
security = SHARE
write list = root, pixelbrei
encrypt passwords = Yes

[test-share]
writeable = yes
admin users = root
path = /mnt/big/mp3
write list = @samba
valid users = @samba
force directory mode = 0775
force group = samba
force create mode = 0775
comment = raid_root_dir
create mode = 0775
directory mode = 0775

test-share is (bis auf pfad) von deiner config kopiert.
pixelbrei ist in der gruppe samba.


CLIENT:
======
smbmount //<ip>/test-share mnt/ -o username=pixelbrei
<passwort>


$ ls -l mnt/
total 1572864
drwxr-xr-x 1 pixelbrei users 0 Apr 26 20:30 amule
drwxr-xr-x 1 pixelbrei users 0 Jun 25 01:46 funny
drwxr-xr-x 1 pixelbrei users 0 Apr 13 13:09 music
drwxr-xr-x 1 pixelbrei users 0 Jul 8 18:26 rip
drwxr-xr-x 1 pixelbrei users 0 Jul 8 14:54 slsk
drwxr-xr-x 1 pixelbrei users 0 Jun 8 00:12 videos
$ touch mnt/test
$ ls -l mnt/
total 1572864
drwxr-xr-x 1 pixelbrei users 0 Apr 26 20:30 amule
drwxr-xr-x 1 pixelbrei users 0 Jun 25 01:46 funny
drwxr-xr-x 1 pixelbrei users 0 Apr 13 13:09 music
drwxr-xr-x 1 pixelbrei users 0 Jul 8 18:26 rip
drwxr-xr-x 1 pixelbrei users 0 Jul 8 14:54 slsk
-rwxrwxr-x 1 pixelbrei samba 0 Jul 8 20:39 test
drwxr-xr-x 1 pixelbrei users 0 Jun 8 00:12 videos

wenn ich einen anderen samba-user nehme (gast), kann ich nicht schreiben.
HTH, und wenn nicht, meld dich ;)

Carcass
09.07.04, 04:45
so, jetzt wurde das problem endlich gelöst, nochmal danke pixelbrei auf diesem wege!
nach einer längeren IRC-konversation wurde das problem entlarvt:
ich hatte auf dem client nicht die gleiche uid für den jeweiligen user, wie auf dem samba-server, deshalb konnte der server den user auch nicht zu der gruppe zuordnen, und somit wurde ich halt immer als "other" behandelt und konnte bei einer datenmaske von 775 weder schreiben noch dateien erstellen :ugly:
eigentlich seltsam, weil beim einloggen schon der user-name übergeben wird und eigentlich zu der uid auf dem server aufgelöst wird... naja so einfach isses leider nicht ;-/

Dr-Rotz
09.07.04, 11:49
Sauber Carcass, jetzt dürfte auch der Maulwurf wieder glücklich sein :).

Carcass
09.07.04, 14:35
meinst damit den arre oder was? ^^
normalerweise bist du doch der maulwurf, rüdiger der maulwurf (aus dem comic) :ugly:

Dr-Rotz
09.07.04, 22:20
Nein Phil, das ist einfach nur falsch.
Schau doch mal genau hin, der reudige Rüdiger ist ein IGEL !!!!!
Der Maulwurf ist der Are..du weißt schon, der kleine Maulwurf aus der Sendung mit der Maus...mit seinem Schäufelchen :D .

Flightbase
15.03.07, 11:37
Hallo,

jetzt hab ich hier auch mal nen problem mit den gruppenrechten.
im dateisystem werden die rechte richtig erstellt - über samba kommt jedoch was anderes an.

ziel: jeder user soll vollen zugriff haben. also a darf auch die datein von b löschen.
ich erstelle die ordner in der smb.conf nun schon per dampfhammer mit 777 - aber trotzdem kann user a nicht die datein von user b löschen....

jemand nen quick and dirty trick zur hand?

greets, Nik

Carcass
15.03.07, 12:54
wie mountest du die smb-shares?
hab nämlich vor langer zeit auch noch rausgefunden, dass man auf den smb-clients nicht extra die UID's und GID's an den smb-server anpassen muss, man trägt als mount-option lediglich die uid und gid auf dem lokalen smb-client ein, somit kann man ganz easy seine UID's und GID's umsetzen, wenns nur bei NFS so einfach wäre *seufz* http://www.linuxforen.de/forums/showthread.php?t=232456.

das ganze sieht in der fstab dann z.b. so aus:


# smb-share
//192.168.0.1/root_dir /mnt/server/ smbfs auto,user,username=phil,password=GEHEIM,uid=phil,g id=users,codepage=cp850,codepage=cp1250,iocharset= utf8 0 0

Flightbase
15.03.07, 13:25
ich mounte sie gar nicht....
einfach per smb:// drauf und gut....

greets, Nik

Flightbase
15.03.07, 13:52
so, nun gehen mir wirklich die ideen aus:

[Test]
path = /data/test
writeable = yes
read only = no
write mode = 0777
force create mode = 0777
force directory mode = 0777
browseable = yes
inherit permissions = yes
inherit acls = yes
public = yes

wenn ich den share im konqueror aufrufe, gibt er bei den rechten folgendes an:
user: nik group: nik chmod: 700

die ordner und datein haben aber auf dem server den owner root, die gruppe users - und chmod 777.

heissen dank, Nik

Carcass
15.03.07, 14:34
aso läuft der hase...
naja, ich glaub so funktioniert das mit UID/GID mapping nicht so einfach, du musst die shares schon explizit mounten, damit du das deinen wünschen entsprechend hinbekommst.
da brauchst du evtl. NIS oder LDAP.

Flightbase
15.03.07, 15:16
in der freigabe gibt es diverese unterordner. bei einigen geht es - bei anderen nicht....

greets, Nik