NFS-Ordner ohne Schreibzugriff
Hallo Liste, ich habe zwei Rechner (beide SuSE8.2) in einem "mini-lan" und möchte einen Ordner des einen Rechners (muh) auf dem anderen (gack) als NFS einbinden. "muh" habe ich per Yast als NFS-Server configuriert mit "rw"-Rechten für "gack". Wenn ich dann per mount -t nfs muh:/video/ /home/papi/Video von "gack" aus einbinde, kann ich zwar als user und root im Verzeichnis lesen, aber weder als user noch als root schreiben, obwohl ich doch "rw"-Rechte verteilt habe?! Kann mir da jemand weiterhelfen? Danke für jeden Tip Siegfried
Am Freitag, 28. Mai 2004 22:16 schrieb Siegfried Haas:
ich habe zwei Rechner (beide SuSE8.2) in einem "mini-lan" und möchte einen Ordner des einen Rechners (muh) auf dem anderen (gack) als NFS einbinden. "muh" habe ich per Yast als NFS-Server configuriert mit "rw"-Rechten für "gack". Wenn ich dann per mount -t nfs muh:/video/ /home/papi/Video von "gack" aus einbinde, kann ich zwar als user und root im Verzeichnis lesen, aber weder als user noch als root schreiben, obwohl ich doch "rw"-Rechte verteilt habe?!
Grundsätzlich darf der Client mal nichts, was ihm der Server nicht erlaubt, interessant wäre also die /etc/exports von muh. Auch da muss rw erlaubt sein ich hab da normal (rw,sync) drin. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Hallo, Siegfried Haas schrieb:
ich habe zwei Rechner (beide SuSE8.2) in einem "mini-lan" und möchte einen Ordner des einen Rechners (muh) auf dem anderen (gack) als NFS einbinden. "muh" habe ich per Yast als NFS-Server configuriert mit "rw"-Rechten für "gack". Wenn ich dann per mount -t nfs muh:/video/ /home/papi/Video von "gack" aus einbinde, kann ich zwar als user und root im Verzeichnis lesen, aber weder als user noch als root schreiben, obwohl ich doch "rw"-Rechte verteilt habe?!
Du hast keine Schreibrechte für das Verzeichnis eingerichtet? -> man chmod Gruss horst
Am Freitag, 28. Mai 2004 22:16 schrieb Siegfried Haas:
Hallo Liste,
ich habe zwei Rechner (beide SuSE8.2) in einem "mini-lan" und möchte einen Ordner des einen Rechners (muh) auf dem anderen (gack) als NFS einbinden. "muh" habe ich per Yast als NFS-Server configuriert mit "rw"-Rechten für "gack". Wenn ich dann per mount -t nfs muh:/video/ /home/papi/Video von "gack" aus einbinde, kann ich zwar als user und root im Verzeichnis lesen, aber weder als user noch als root schreiben, obwohl ich doch "rw"-Rechte verteilt habe?!
Kann mir da jemand weiterhelfen? Danke für jeden Tip
Siegfried
hallo! drei grosse knackpunkte sind möglich: A.) wie hier schon erwähnt muh muss rw exportieren (default ist ro) überprüfen z.B.: user@exporter:~> cat /etc/exports /exdir gack(rw) ------------^^ B.) importiert gack rw (da ist der default rw), also hier korrekt z.B.: user@importer:~> mount -t nfs exporter:/exdir /impdir C.) welche dateisystemrechte sind gesetzt user@exporter:~> ls -ld /exdir drwxr-xr-x user group ..... user@importer:~> ls -ld /impdir drwxr-xr-x user group ... hier hat der user auf beiden rechnern schreibrecht. das ist kein problem solange die uids der user auf beiden rechnern gleich sind, da das system die rechte immer den uids zuweist! also test: user@exporter:~> id uid=507(user) .... user@importer:~> id uid=505(user) .... heisst kein schreibrecht ... obwohl alles oben okay scheint! zwei lösungen: 1.) händisches ändern der uids und danach die (home-)verzeichnisse wieder an den user verschenken(!), da der username dann nicht mehr dieselbe uid hat und auch der besitz über uids geregelt wird ändern der uids: a.) in der /etc/passwd mit einem editor root@...porter:~> vi /etc/passwd # oder emacs oder ... user:x:505:500:.... ^^^ uid-----+ b.) via yast=> benutzer => erweitert 2.) zentrale benutzerverwaltung mit a.) NIS (altehrwürdig) System howtos usw. b.) LDAP (der Renner zur Zeit) dto. bei alldem gehe ich davon aus, dass der portmapper auf beiden systemen gestartet ist und auf dem server ein nfs-server root@exporter:~> rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper ... 100003 2 udp 2049 nfs ... 100021 1 udp 1028 nlockmgr ... 100005 1 udp 1029 mountd ... 100024 1 udp 1030 status alles mehrfach (tcp/udp ...) war alles mehr oder weniger ein schnellschuss ... kann ein paar sachen vergessen haben oder bin u.u. nicht immer auf dem neuesten stand also: ohne gewähr, wie beim lotto grüsse d
Dominik Schopper wrote:
Am Freitag, 28. Mai 2004 22:16 schrieb Siegfried Haas:
Hallo Liste,
ich habe zwei Rechner (beide SuSE8.2) in einem "mini-lan" und möchte einen Ordner des einen Rechners (muh) auf dem anderen (gack) als NFS einbinden. "muh" habe ich per Yast als NFS-Server configuriert mit "rw"-Rechten für "gack". Wenn ich dann per mount -t nfs muh:/video/ /home/papi/Video von "gack" aus einbinde, kann ich zwar als user und root im Verzeichnis lesen, aber weder als user noch als root schreiben, obwohl ich doch "rw"-Rechte verteilt habe?!
Kann mir da jemand weiterhelfen? Danke für jeden Tip
Siegfried
hallo!
drei grosse knackpunkte sind möglich: A.) wie hier schon erwähnt muh muss rw exportieren (default ist ro) überprüfen z.B.:
user@exporter:~> cat /etc/exports /exdir gack(rw) ------------^^
B.) importiert gack rw (da ist der default rw), also hier korrekt z.B.: user@importer:~> mount -t nfs exporter:/exdir /impdir
C.) welche dateisystemrechte sind gesetzt user@exporter:~> ls -ld /exdir drwxr-xr-x user group .....
user@importer:~> ls -ld /impdir drwxr-xr-x user group ...
hier hat der user auf beiden rechnern schreibrecht. das ist kein problem solange die uids der user auf beiden rechnern gleich sind, da das system die rechte immer den uids zuweist! also test:
user@exporter:~> id uid=507(user) ....
user@importer:~> id uid=505(user) ....
heisst kein schreibrecht ... obwohl alles oben okay scheint! zwei lösungen: 1.) händisches ändern der uids und danach die (home-)verzeichnisse wieder an den user verschenken(!), da der username dann nicht mehr dieselbe uid hat und auch der besitz über uids geregelt wird ändern der uids: a.) in der /etc/passwd mit einem editor
root@...porter:~> vi /etc/passwd # oder emacs oder ...
user:x:505:500:.... ^^^ uid-----+
b.) via yast=> benutzer => erweitert
2.) zentrale benutzerverwaltung mit a.) NIS (altehrwürdig) System howtos usw. b.) LDAP (der Renner zur Zeit) dto.
bei alldem gehe ich davon aus, dass der portmapper auf beiden systemen gestartet ist und auf dem server ein nfs-server
root@exporter:~> rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper ... 100003 2 udp 2049 nfs ... 100021 1 udp 1028 nlockmgr ... 100005 1 udp 1029 mountd ... 100024 1 udp 1030 status
alles mehrfach (tcp/udp ...)
war alles mehr oder weniger ein schnellschuss ... kann ein paar sachen vergessen haben oder bin u.u. nicht immer auf dem neuesten stand also: ohne gewähr, wie beim lotto
grüsse
d
Danke für die Antworten! Habe folgendes gemacht: In /etc/exports des servers "muh" "no_root_squash,no_all_squash" ergänzt! Ergebnis - keine Änderung! Weiterhin kein Schreibrecht! Und die uid´s überprüft - Da ich auf beiden Rechnern in dieser Situation per root unterwegs bin ist die uid auf beiden Systemen "0" - sollte also nicht das Problem sein! portmapper läuft auch! Wie könnte ich weiterkommen? Siegfried
Am Samstag, 29. Mai 2004 14:55 schrieb Siegfried Haas:
Danke für die Antworten!
Habe folgendes gemacht:
In /etc/exports des servers "muh" "no_root_squash,no_all_squash" ergänzt! Ergebnis - keine Änderung! Weiterhin kein Schreibrecht!
Und die uid´s überprüft - Da ich auf beiden Rechnern in dieser Situation per root unterwegs bin ist die uid auf beiden Systemen "0" - sollte also nicht das Problem sein! portmapper läuft auch!
Wie könnte ich weiterkommen?
Siegfried
hallo siegfried! also ... root ist per nfs ein sonderfall (den hab ich nicht erwähnt/vergessen) da root prinzipiell auf nobody gemappt wird, sprich im nfs-gemounteten verz. die zugriffsrechte aus dem letzten triplet rwxr-xr-x hat, ^^^ ^^^ 1.^^^ 3. 2. normalerweise eben r-x mit no_root_sqash hast du das aufgehoben und root hat seine üblichen supermannrechte ... hmmm die /etc/exports enthält bei dir jetzt: ....(rw,no_root_squash) das no_all_squash ist sowieso default ... hast du nach der änderung auf no_root_squash den nfs-server neu gestartet? root@exporter:~> rcnfsserver restart versuch es mal mit einem "normalen" unser! achte darauf, dass die rechte gesetzt und die uid's gleich sind ... das ist eigentlich eine ganz straighte geschichte ... btw: sind die rechte auf die verzeichnisse gesetzt? w im verzeichnis heisst der user darf im verz. dateien anlegen!?! arbeitest du mit den rechnernamen oder der ip-adr? bei namen: überprüfe mal die /etc/hosts wenn du mit den rechnernamen arbeitest, dann versuchs mal mit dem vollen rechnernamen (bei eigenenm dns, bzw. der ersten spalte nach der ip-addr. in der /etc/hosts) wenn das nicht hilft, versuch mal die ip! (das sind strohhalme, aber mir fällt gerade nix anderes ein!) gruss d. wenn es nach einigem rumprobieren immer noch nicht klappt, dann schick mal: ls -ld /exportverz ls -ld /importverz cat /etc/exports cat /etc/fstab showmount -e exportserver
Dominik Schopper wrote:
Am Samstag, 29. Mai 2004 14:55 schrieb Siegfried Haas:
Danke für die Antworten!
Habe folgendes gemacht:
In /etc/exports des servers "muh" "no_root_squash,no_all_squash" ergänzt! Ergebnis - keine Änderung! Weiterhin kein Schreibrecht!
Und die uid´s überprüft - Da ich auf beiden Rechnern in dieser Situation per root unterwegs bin ist die uid auf beiden Systemen "0" - sollte also nicht das Problem sein! portmapper läuft auch!
Wie könnte ich weiterkommen?
Siegfried
hallo siegfried!
also ... root ist per nfs ein sonderfall (den hab ich nicht erwähnt/vergessen) da root prinzipiell auf nobody gemappt wird, sprich im nfs-gemounteten verz. die zugriffsrechte aus dem letzten triplet rwxr-xr-x hat, ^^^ ^^^ 1.^^^ 3. 2. normalerweise eben r-x mit no_root_sqash hast du das aufgehoben und root hat seine üblichen supermannrechte ... hmmm
die /etc/exports enthält bei dir jetzt: ....(rw,no_root_squash) das no_all_squash ist sowieso default ... hast du nach der änderung auf no_root_squash den nfs-server neu gestartet? root@exporter:~> rcnfsserver restart
versuch es mal mit einem "normalen" unser! achte darauf, dass die rechte gesetzt und die uid's gleich sind ... das ist eigentlich eine ganz straighte geschichte ... btw: sind die rechte auf die verzeichnisse gesetzt? w im verzeichnis heisst der user darf im verz. dateien anlegen!?!
arbeitest du mit den rechnernamen oder der ip-adr? bei namen: überprüfe mal die /etc/hosts wenn du mit den rechnernamen arbeitest, dann versuchs mal mit dem vollen rechnernamen (bei eigenenm dns, bzw. der ersten spalte nach der ip-addr. in der /etc/hosts) wenn das nicht hilft, versuch mal die ip! (das sind strohhalme, aber mir fällt gerade nix anderes ein!)
Dem habe ich Rechnung getragen - siehe /etc/exports
gruss
d.
wenn es nach einigem rumprobieren immer noch nicht klappt, dann schick mal:
ls -ld /exportverz
drwxr-xr-x 25 root root 1352 May 29 19:42 /video/
ls -ld /importverz
drwxr-xr-x 25 root root 1352 2004-05-29 19:42 Video/
cat /etc/exports
/suse/cdrom 192.168.0.*(ro) gack.dazu(ro) gack(ro) /video gack.dazu (rw,no_root_squash) gack (rw,no_root_squash) 192.168.0.* (rw,no_root_squash)
cat /etc/fstab
Auf dem server-Rechner "muh" /dev/hda2 / reiserfs defaults 1 1 /dev/hda1 swap swap pri=42 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 proc /proc proc defaults 0 0 usbdevfs /proc/bus/usb usbdevfs noauto 0 0 /dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0 /dev/dvd /media/dvd auto ro,noauto,user,exec 0 0 Auf dem Client "gack": /dev/hdb2 / reiserfs defaults 1 1 /dev/hda6 /data1 auto noauto,user 0 0 /dev/hda1 /windows/C vfat users,gid=users,umask=0002,iocharset=is /dev/hdb1 swap swap pri=42 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 proc /proc proc defaults 0 0 usbdevfs /proc/bus/usb usbdevfs noauto 0 0 /dev/fd0 /media/floppy auto noauto,user,sync 0 0 /dev/dvd /media/dvd auto ro,noauto,user,exec 0 0 /dev/dvdram /media/dvdram auto ro,noauto,user,exec 0 0 muh.dazu:/video /media/video nfs noauto,user 0 0
showmount -e exportserver Export list for muh: /video (everyone) /suse/cdrom 192.168.0.*,gack.dazu
Hallo noch mal und Danke für die Ausführungen! Also, so sieht es bei mir aus: Der server "muh" ist eine vdr-box an der unteren CPU-Leistungsgrenze und ich mounte mir zum DVD-Brennen immer das Verzeichnis /video/ nach ../Video in meinem home-Verzeichnis auf "gack" (dann per vdrsync.pl multiplexen usw.). Auf der vdr-box bin ich quasi nur als root unterwegs, auch vdr läuft bei mir als root - der Einfachheit halber (shame on me). Fällt Dir dazu was ein? Danke und Tschüß Siegfried
Am Samstag, 29. Mai 2004 20:01 schrieb Siegfried Haas:
cat /etc/exports
/suse/cdrom 192.168.0.*(ro) gack.dazu(ro) gack(ro) /video gack.dazu (rw,no_root_squash) gack (rw,no_root_squash) ^ ^ 192.168.0.* (rw,no_root_squash) ^
Nimm die Leerzeichen raus! -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Manfred Tremmel wrote:
Am Samstag, 29. Mai 2004 20:01 schrieb Siegfried Haas:
cat /etc/exports
/suse/cdrom 192.168.0.*(ro) gack.dazu(ro) gack(ro) /video gack.dazu (rw,no_root_squash) gack (rw,no_root_squash)
^ ^
192.168.0.* (rw,no_root_squash)
^
Nimm die Leerzeichen raus!
Hallo, Danke! Die Leerzeichen haben den ganzen Murx ausgelöst! Jetzt hat root tatsächlich r- und w-Rechte! Gruß Siegfried
participants (4)
-
Dominik Schopper
-
Horst Mueller
-
Manfred Tremmel
-
Siegfried Haas