NFS Rechtevergabe auf gemounteten Verzeichnissen klappt nich
NFS Rechtevergabe auf gemounteten Verzeichnissen klappt nich
Habe auf einem Etch Server den nfs-kernel-server und portmap installiert und möchte im Familiennetzwerk Verzeichnisse freigeben. Für die Rechtezuordnung habe ich die Gruppen angelegt, die User den Gruppen zugeordnet und mit chown die Gruppen den exportierten Verzeichnissen zugeordnet. Die uid und gid sind für alle Gruppen und User auf dem Server und den Clients (Debian Sid) identisch. Die Datei- und Verzeichnisrechte sind mit chmod 775 und 770 gesetzt. Um Fehlerquellen auszuschließen, habe ich in hosts.allow alles erlaubt und in hosts.deny nichts verboten. Ich habe das Problem, dass alle Verzeichnisse mit den Rechten 775 nicht beschreibbar sind.
exports:
---------------------------------------------------------------------------------------------------------------
/home 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/var/tmp 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/dos 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check,no_root_squash)
/samba_public/md1/texte 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/dwg 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/media 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/mp3 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/fotos 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/sam 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
---------------------------------------------------------------------------------------------------------------
Die uid und gid für den User sind auf dem Server und Client gleich:
---------------------------------------------------------------------------------------------------------------
uid=1110(musicman) gid=1110(musicman) Gruppen=1110(musicman),201(winsec),202(winpriv),203(winpub),204(winmusic),205(windos)
---------------------------------------------------------------------------------------------------------------
Ein ls -l der gemounteten Verzeichnisse auf dem Server sieht so aus:
---------------------------------------------------------------------------------------------------------------
drwxrwxr-x 19 root windos 4096 2007-10-22 22:56 dos
drwxrwx--- 11 root winpub 4096 2007-11-13 08:45 dwg
drwxrwx--- 31 root winpriv 4096 2007-11-13 08:55 fotos
drwxrwx--- 5 root winpub 4096 2007-11-13 08:56 media
drwxrwxr-x 36 root winmusic 4096 2007-11-11 14:28 mp3
drwxrwx--- 23 mpiroth mpiroth 4096 2007-10-02 22:03 sam
drwxrwx--- 23 root winpub 4096 2007-11-11 14:32 texte
---------------------------------------------------------------------------------------------------------------
Ich blicke nicht mehr durch, habe schon Google leergesaugt und alle Howtos verschlungen, aber ich bekomme die Rechtegeschichte mit NFS nicht hin. Wenn ich mich mit den Useraccounts lokal auf dem Server einlogge, klappt alles prächtig: Lesen, Schreiben und Freigabe. Und auf Samba will ich im Linux-Netzwerk nicht ausweichen, das hatte ich testweise in 10 Minuten richtig konfiguriert ;-(. Wo steckt mein Denkfehler, was muss ich ändern damit die Verzeichnisfreigabe von gemounteten Laufwerken funktioniert?
Im Voraus vielen Dank für alle Tipps.
exports:
---------------------------------------------------------------------------------------------------------------
/home 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/var/tmp 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/dos 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check,no_root_squash)
/samba_public/md1/texte 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/dwg 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/media 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/mp3 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/md1/fotos 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
/samba_public/sam 192.168.50.0/255.255.255.0(async,rw,nohide,subtree_check)
---------------------------------------------------------------------------------------------------------------
Die uid und gid für den User sind auf dem Server und Client gleich:
---------------------------------------------------------------------------------------------------------------
uid=1110(musicman) gid=1110(musicman) Gruppen=1110(musicman),201(winsec),202(winpriv),203(winpub),204(winmusic),205(windos)
---------------------------------------------------------------------------------------------------------------
Ein ls -l der gemounteten Verzeichnisse auf dem Server sieht so aus:
---------------------------------------------------------------------------------------------------------------
drwxrwxr-x 19 root windos 4096 2007-10-22 22:56 dos
drwxrwx--- 11 root winpub 4096 2007-11-13 08:45 dwg
drwxrwx--- 31 root winpriv 4096 2007-11-13 08:55 fotos
drwxrwx--- 5 root winpub 4096 2007-11-13 08:56 media
drwxrwxr-x 36 root winmusic 4096 2007-11-11 14:28 mp3
drwxrwx--- 23 mpiroth mpiroth 4096 2007-10-02 22:03 sam
drwxrwx--- 23 root winpub 4096 2007-11-11 14:32 texte
---------------------------------------------------------------------------------------------------------------
Ich blicke nicht mehr durch, habe schon Google leergesaugt und alle Howtos verschlungen, aber ich bekomme die Rechtegeschichte mit NFS nicht hin. Wenn ich mich mit den Useraccounts lokal auf dem Server einlogge, klappt alles prächtig: Lesen, Schreiben und Freigabe. Und auf Samba will ich im Linux-Netzwerk nicht ausweichen, das hatte ich testweise in 10 Minuten richtig konfiguriert ;-(. Wo steckt mein Denkfehler, was muss ich ändern damit die Verzeichnisfreigabe von gemounteten Laufwerken funktioniert?
Im Voraus vielen Dank für alle Tipps.
- C_A
- Beiträge: 1082
- Registriert: 22.04.2004 14:51:01
- Lizenz eigener Beiträge: GNU General Public License
Es koennte zB sein dass du zu dem Zeitpunkt zu dem du versuchtst auf das Share zuzugreifen das fuer die Gruppe winpub beschreibbar ist mit deiner Gruppe gid=1110(musicman) unterwegs bist.
versuch also mal den Befehl newgrp
und dann einen Schreibzugriff auf dwg
versuch also mal den Befehl newgrp
Code: Alles auswählen
newgrp winpub
und dann einen Schreibzugriff auf dwg
Vielen Dank für die Antwort. Grundsätzlich klappt es mit newgrp. Meine Vorgehensweise: In einer Shell als User musicman rufe ich "newgrp - winmusic" auf. Innerhalb der Shell kann ich dann schreibend auf die entsprechende Freigabe zugreifen, soweit super. Allerdings klappt das nicht im Konqueror und auch nur nach Aufruf des Befehls. Was mich dabei auch wundert ist, dass der User musicman schon Mitglied bei der Group winmusic ist, warum klappt es mit dem Schreibzugriff erst nachdem der User explizit der Gruppe winmusic mit newgrp zugeordnet wird? Wie kann ich denn erreichen, dass musicman mit allen Gruppennummern "unterwegs" ist, für die er in groups eingetragen ist?
- C_A
- Beiträge: 1082
- Registriert: 22.04.2004 14:51:01
- Lizenz eigener Beiträge: GNU General Public License
Die Standartgruppe in der sich ein user nach dem login befindet kannst du mit usermod einstellen.mikel65 hat geschrieben: Wie kann ich denn erreichen, dass musicman mit allen Gruppennummern "unterwegs" ist, für die er in groups eingetragen ist?
Code: Alles auswählen
usermod -g <gruppenname> <username>
Habe ich probiert, leider löst es mein Problem nicht. Beispiel: Ich habe dem User musicman mit dem Befehl "usermod -g windos musicman" die Group windos als primäre Gruppe zugeteilt. Der User musicman ist allerdings auch in der Group winmusic und hat dort auch die gleichen Rechte entsprechend den Einträgen in der Datei groups, sollte als entsprechend dem Beispiel in der Freigabe "mp3" auch Schreiben dürfen. Obwohl nun in der Freigabe "dos" alles klappt, kann er in der Freigabe "mp3" immer noch nicht lesen. Also müsste ich dem User "theoretisch gesehen" mehrere "initial login groups" mitgeben können. Und ich verstehe nicht, warum die Rechte, die ich in groups definiert habe, nicht vom System umgesetzt werden. In den Freigaben mit 770, wo also die "Others" gar nichts machen dürfen, kann der User musicman Lesen, Schreiben und Verzeichnisse wechseln, er wird also offensichtlich als Mitglied der Group vom System erkannt. In Freigaben mit 775, wo die "Others" nur lesen und Verzeichnis wechseln können, kann er trotz Mitgliedschaft in der entsprechenden Group nur Lesen, nicht jedoch Schreiben. Er wird also vom System behandelt wie ein "Others".
Oder mache ich da einen Denkfehler bzw. fehlt mir eine wichtige Information bzgl. Definition von Gruppen unter NFS?
Oder mache ich da einen Denkfehler bzw. fehlt mir eine wichtige Information bzgl. Definition von Gruppen unter NFS?
- C_A
- Beiträge: 1082
- Registriert: 22.04.2004 14:51:01
- Lizenz eigener Beiträge: GNU General Public License
Ich habe jetzt einen kleine Vorfuehrung gemacht....
Durch diese Vorfuehrung ist mir bewusst geworden wo vielleicht dein Problem liegt. Wenn du sagst dass du keine Schreibrechte hast, was genau hast du versucht
a) neue Datei angelegt
b) bestehende Datei geloescht
c) bestehende Datei editiert
Wenn a und b funktionieren c aber nicht dann hast du die Rechte auf dem Ordner korrekt, die Dateien im Ordner gehoeren aber nicht der gewollten Gruppe an. Dateien werden immer mit der primaeren Gruppe angelegt. ZB koennen die im konkreten Fall angelegten Dateien mp3/u und txt/p nicht von Gruppenmitgliedern der txt und mp3 Gruppen veraendert werden. Wieso? Weil diese Files nicht dieser Gruppe gehoeren. Sie duerfen aber von Gruppenmitgliedern geloescht werden.
Falls dies dein Problem ist so wird die das GUID Bit am Ordner helfen.
Wenn das Problem damit noch nicht beseitigt ist mache bitte ein konkretes Beispiel mit id und ls -l output und paste es in code Tags oder auf nopaste.df.de.
C_A
PS: Bitte formatiere deinen Text etwas, eine lange "Wurst" ist sehr anstrengend zu lesen.
Code: Alles auswählen
ca@m:/tmp/grptst$ id
uid=1000(ca) gid=1000(ca) groups=1001(mp3),1002(txt)
ca@m:/tmp/grptst$ ls -lR
.:
total 8.0K
drwxrwx--- 2 root mp3 4.0K 2007-11-13 17:29 mp3
drwxrwx--- 2 root txt 4.0K 2007-11-13 17:34 txt
./mp3:
total 0
./txt:
total 0
ca@m:/tmp/grptst$ > mp3/u
ca@m:/tmp/grptst$ > txt/p
ca@m:/tmp/grptst$ ls -lR
.:
total 8.0K
drwxrwx--- 2 root mp3 4.0K 2007-11-13 17:35 mp3
drwxrwx--- 2 root txt 4.0K 2007-11-13 17:35 txt
./mp3:
total 0
-rw-r--r-- 1 ca ca 0 2007-11-13 17:35 u
./txt:
total 0
-rw-r--r-- 1 ca ca 0 2007-11-13 17:35 p
a) neue Datei angelegt
b) bestehende Datei geloescht
c) bestehende Datei editiert
Wenn a und b funktionieren c aber nicht dann hast du die Rechte auf dem Ordner korrekt, die Dateien im Ordner gehoeren aber nicht der gewollten Gruppe an. Dateien werden immer mit der primaeren Gruppe angelegt. ZB koennen die im konkreten Fall angelegten Dateien mp3/u und txt/p nicht von Gruppenmitgliedern der txt und mp3 Gruppen veraendert werden. Wieso? Weil diese Files nicht dieser Gruppe gehoeren. Sie duerfen aber von Gruppenmitgliedern geloescht werden.
Falls dies dein Problem ist so wird die das GUID Bit am Ordner helfen.
Wenn das Problem damit noch nicht beseitigt ist mache bitte ein konkretes Beispiel mit id und ls -l output und paste es in code Tags oder auf nopaste.df.de.
C_A
PS: Bitte formatiere deinen Text etwas, eine lange "Wurst" ist sehr anstrengend zu lesen.
Vielen Dank für Deine Geduld Habe Deine Vorführung nachvollzogen, bei meiner "Problemfreigabe" komme ich zu folgendem Ergebnis:
Ein kurzes Beispiel aus dem Unterverzeichnis von /media/mp3/
Was ich nicht nachvollziehen konnte, sind Deine Angaben zum Unterverzeichnis /tmp, bei mir sieht das so aus:
Datei oder Verzeichnis anlegen klappt nicht, löschen oder bearbeiten einer bestehenden Datei ebenfalls nicht:
Kannst Du mit diesen Informationen etwas anfangen?
Ich verstehe nicht wo das Problem ist, es ist gegen meine Logik. Das einzige was ich mir denken könnte, dass für NFS-Freigaben andere Gruppen angelegt werden müssen als nur in der Datei groups. Gerade da klemmt es scheinbar, da der User musicman offensichtlich nicht die Rechte hat, die ihm in groups zugeteilt wurden und die per id auch bestätigt werden.
Nochmals vielen Dank für Deine Hilfe!
Code: Alles auswählen
musicman@den-ws155:/media$ id
uid=1110(musicman) gid=1110(musicman) Gruppen=20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),
44(video),46(plugdev),100(users),101(fuse),108(vdr),110(netdev),113(powerdev),
201(winsec),202(winpriv),203(winpub),204(winmusic),205(windos),1110(musicman)
musicman@den-ws155:/media$ ls -l
drwxrwxr-x 36 root winmusic 4096 2007-11-13 11:01 mp3
Code: Alles auswählen
/media/mp3/0-9/50 Cent:
insgesamt 4
drwxrwxr-x 2 root winmusic 4096 2006-01-23 15:51 2Hot4U - Get Rich Or Die Tryin
Code: Alles auswählen
musicman@den-ws155:/tmp$ ls -lR
.:
insgesamt 32
drwx------ 2 musicman musicman 4096 2007-11-14 08:50 flashgot.2577610.default
drwx------ 3 musicman musicman 4096 2007-11-14 08:50 gconfd-musicman
drwx------ 2 musicman musicman 4096 2007-11-14 08:51 kde-musicman
drwx------ 2 musicman musicman 4096 2007-11-14 08:36 ksocket-musicman
drwx------ 2 musicman musicman 4096 2007-11-14 08:50 orbit-musicman
drwx------ 2 vdr vdr 4096 2007-11-14 08:35 radio.wmFSBc
drwx------ 2 musicman musicman 4096 2007-11-14 08:35 ssh-uMXGHc3755
-rw------- 1 root root 53 2007-11-14 08:34 vdr-err.CC3454
./flashgot.2577610.default:
insgesamt 8
-rwx------ 1 musicman musicman 587 2007-11-14 08:50 flashgot.fgt
-rw-r--r-- 1 musicman musicman 103 2007-11-14 08:50 flashgot.sh.test
./gconfd-musicman:
insgesamt 4
drwx------ 2 musicman musicman 4096 2007-11-14 08:50 lock
./gconfd-musicman/lock:
insgesamt 4
-rwx------ 1 musicman musicman 617 2007-11-14 08:50 ior
./kde-musicman:
insgesamt 16
-rw-r--r-- 1 musicman musicman 11940 2007-11-14 08:35 de..xkm
-rw------- 1 musicman musicman 194 2007-11-14 08:36 konqueror-crash-EpSUcc.log
lrwxrwxrwx 1 musicman musicman 34 2007-11-14 08:35 ksycoca -> /var/tmp/kdecache-musicman/ksycoca
./ksocket-musicman:
insgesamt 4
srw------- 1 musicman musicman 0 2007-11-14 08:35 kdeinit__0
srw------- 1 musicman musicman 0 2007-11-14 08:35 kdeinit-:0
srwxr-xr-x 1 musicman musicman 0 2007-11-14 08:35 klauncherx4ijpb.slave-socket
-rw-r--r-- 1 musicman musicman 41 2007-11-14 08:35 KSMserver__0
./orbit-musicman:
insgesamt 0
srwxr-xr-x 1 musicman musicman 0 2007-11-14 08:50 linc-f1d-0-27989c2dec4a1
srwxr-xr-x 1 musicman musicman 0 2007-11-14 08:50 linc-f1d-0-6e457bb169936
srwxr-xr-x 1 musicman musicman 0 2007-11-14 08:50 linc-f2b-0-34a6d20e2ede
ls: ./radio.wmFSBc: Keine Berechtigung
./ssh-uMXGHc3755:
insgesamt 0
srw------- 1 musicman musicman 0 2007-11-14 08:35 agent.3755
Code: Alles auswählen
musicman@den-ws155:/media/mp3$ mkdir test
mkdir: kann Verzeichnis „test“ nicht anlegen: Keine Berechtigung
musicman@den-ws155:/media/mp3$ touch test.conf
touch: kann „test.conf“ nicht berühren: Keine Berechtigung
Ich verstehe nicht wo das Problem ist, es ist gegen meine Logik. Das einzige was ich mir denken könnte, dass für NFS-Freigaben andere Gruppen angelegt werden müssen als nur in der Datei groups. Gerade da klemmt es scheinbar, da der User musicman offensichtlich nicht die Rechte hat, die ihm in groups zugeteilt wurden und die per id auch bestätigt werden.
Nochmals vielen Dank für Deine Hilfe!
- C_A
- Beiträge: 1082
- Registriert: 22.04.2004 14:51:01
- Lizenz eigener Beiträge: GNU General Public License
/tmp hat damit ueberhaupt nichts zu tun, dort waren nur meine Testordner (/tmp/grptst/mp3, /tmp/grptst/txt)mikel65 hat geschrieben:Was ich nicht nachvollziehen konnte, sind Deine Angaben zum Unterverzeichnis /tmp, bei mir sieht das so aus:
Versuchst du das jetzt lokal auf der Maschine oder ist das schon per nfs gemountet? (zuerst lokal das "Problem" loesen)
output von:
Code: Alles auswählen
ls -lnd /media/mp3
touch /media/mp3/blub-bbb
in einer chat session oder "screen -x" waere das Problem evt. leichter behoben
Das ist ja das verrückte, lokal auf dem Server klappt es einwandfrei, das hatte ich zuerst getestet, aber auf den Clients nicht. Es klappt lediglich auf den Clients, wenn ich wie von Dir beschrieben mit newgrp temporär dem User eine andere primäre Gruppe zuweise. Das deutet doch darauf hin, dass die Gruppenmitgliedschaft auf dem Client aus irgend welchen Gründen nicht funktioniert. Das verstehe ich aber auch nicht, da id auf dem Server und auf dem Client für den User genau das gleiche Ergebnis ausgibt.
Ein Vergleich des Verzeichniszugriffes lokal auf dem Server und auf dem Client sieht so aus:
User musicman auf dem Server, alles klappt wie es soll:
User musicman auf dem Client, Schreibzugriffe werden abgewiesen, er wird wie ein "other" behandelt, obwohl er Mitglied der Group "winmusic" ist:
Die Rechte auf dem Server und auf dem Client sind ebenfalls gleich, nachfolgend die Ausgabe vom Client:
Und die id von User winmusic:
Gibt es ein Debugger für nfs wo man genau beobachten kann, was Client und Server so miteinander austauschen? Oder hast Du sonst irgend eine Idee?
Ein Vergleich des Verzeichniszugriffes lokal auf dem Server und auf dem Client sieht so aus:
User musicman auf dem Server, alles klappt wie es soll:
Code: Alles auswählen
musicman@den-serv01:~$ ls -lnd /samba_public/md1/mp3
drwxrwxr-x 36 0 204 4096 2007-11-13 11:01 /samba_public/md1/mp3
musicman@den-serv01:~$ touch /samba_public/md1/mp3/blabla
musicman@den-serv01:~$
Code: Alles auswählen
musicman@den-ws155:/media$ ls -lnd /media/mp3
drwxrwxr-x 36 0 204 4096 2007-11-13 11:01 /media/mp3
musicman@den-ws155:/media$ touch /media/mp3/blabla
touch: kann „/media/mp3/blabla“ nicht berühren: Keine Berechtigung
musicman@den-ws155:/media$
Code: Alles auswählen
musicman@den-ws155:/media$ ls -l
drwxrwxr-x 36 root winmusic 4096 2007-11-14 15:10 mp3
Code: Alles auswählen
musicman@den-ws155:/media$ id musicman
uid=1110(musicman) gid=1110(musicman) Gruppen=1110(musicman),20(dialout),24(cdrom),25(floppy),27(sudo),
29(audio),30(dip),44(video),46(plugdev),100(users),101(fuse),108(vdr),
110(netdev),113(powerdev),201(winsec),202(winpriv),203(winpub),
204(winmusic),205(windos)
- C_A
- Beiträge: 1082
- Registriert: 22.04.2004 14:51:01
- Lizenz eigener Beiträge: GNU General Public License
ok wenn es auf dem Server direkt funktioniert lass uns zu NFS spezifischeren Sachen bzw. zum Client gehen...
a) wie mountest du es
b) ist der NFS Share rw oder ro freigegeben (gegen ro spricht aber bereits dass es nach newgrp funktioniert)
c) "mount" und showmount Richtung Server output am client
..langsam wirds eng
a) wie mountest du es
b) ist der NFS Share rw oder ro freigegeben (gegen ro spricht aber bereits dass es nach newgrp funktioniert)
c) "mount" und showmount Richtung Server output am client
..langsam wirds eng
Die Ausgaben sehen für mich normal aus.
showmount auf dem Server:
mount auf dem Client:
?????
showmount auf dem Server:
Code: Alles auswählen
192.168.50.0/255.255.255.0:/samba_public/md1/mp3
Code: Alles auswählen
root@den-ws155:~# mount -l -t nfs
192.168.50.1:/samba_public/md1/mp3 on /media/mp3 type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.50.1)
Gelöst: NFS Rechtevergabe auf gemounteten Verzeichnissen kla
Hallo C_A,
nach weiteren unendlichen Versuchen habe ich den Fehler nun hoffentlich gefunden Auf dem Server habe ich die Rechte immer mit "chmod 770" gesetzt. Das ist aber offensichtlich falsch, wenn ich die Rechte mit "chmod 0770" setzte, klappt alles so wie es soll. Ich habe testweise ein Etch-System aufgesetzt, damit hat es dann auch mit der alten Rechtevergabe einwandfrei funktioniert. Verrückt, dass keine eindeutige Fehlermeldung ausgegeben wurde und nichts im Log stand, weder beim Client noch beim Server, so dass man hätte zielgerichtet suchen können.
Auf jeden Fall nochmals vielen Dank für Deine unermüdliche Hilfe und die vielen Tipps!
nach weiteren unendlichen Versuchen habe ich den Fehler nun hoffentlich gefunden Auf dem Server habe ich die Rechte immer mit "chmod 770" gesetzt. Das ist aber offensichtlich falsch, wenn ich die Rechte mit "chmod 0770" setzte, klappt alles so wie es soll. Ich habe testweise ein Etch-System aufgesetzt, damit hat es dann auch mit der alten Rechtevergabe einwandfrei funktioniert. Verrückt, dass keine eindeutige Fehlermeldung ausgegeben wurde und nichts im Log stand, weder beim Client noch beim Server, so dass man hätte zielgerichtet suchen können.
Auf jeden Fall nochmals vielen Dank für Deine unermüdliche Hilfe und die vielen Tipps!