PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gemountete NFS Partition für user freischalten?



MATI
04.12.08, 15:47
Hallo,

ich mounte eine NFS Partition über /etc/conf.d/local.start mit dem Befehl:



mount -t nfs -o rw,hard,intr,rsize=8192,wsize=8192 <ziel>:/<dir>/<dir> /mnt/<dir>


Nun habe ich in der man mount was von der option "users" gelesen und auch ausprobiert doch das half nichts. Die Partitions wird zwar korrekt gemountet doch nur als root hab ich hier die möglichkeit was zu ändern bzw. daten hin und herzuschieben...

Wie mache die partition für mich als user auch benutzbar?

Bei normal gemounteten Patitionen erreiche ich das ja über umask=000 0 0
Nur wie mache ich das mit nfs mounts?

Desweiteren interessiert mich warum ich bei gemounteten partitionen (also nicht nfs) sogar als root nicht über chgrp und chown diese auf meinen user ändern kann? Alle directories udn dateien bleiben immer root...

drcux
04.12.08, 16:00
Indem du die Rechte auf dem Server korrekt setzt...

MATI
04.12.08, 16:05
Hmm also das verstehe ich nicht. Ich mounte mein home-verzeichnis (z.B. home/franz) vom server auf meinen Laptop nach /mnt/. Auf dem Laptop habe ich jedoch nur zugriff auf franz wenn ich als root auf meinem laptop eingeloggt bin...

Umgekehrt wenn ich vom Laptop in das home kopiere (geht natürlich nur als root) dann stehen dort plötzlich als rechte "root root'".

Sicher dass ich die Rechte am server schalten muss und wenn ja wie denn? Dort heiße ich "franz" und auf meinem Laptop z.B. "michi".

drcux
04.12.08, 16:16
was sagt denn ein "ls -al /mnt"? Passen die UIDs auf beiden Rechnern?

Und ja, die Rechte müssen auf dem Server passen. Man kann auf einem NFS-Server aber auch einen User erzwingen. http://www.linux-praxis.de/lpic2/lpi201/manpages/exports.html

Iluminat23
04.12.08, 16:19
ändert an deinem problem zwar nix,aber wiso mountest du das nfs nicht über die fstab wie man es mit sonstigen filesystems auch macht?

gruß iluminat23

MATI
04.12.08, 16:20
Auf dem client: "767 users"
Auf dem server: "<ich> users"

also das "ls -al /mnt " mache ich nur bei mir auf dem client und auf dem server mache ich im verzeichnis das gemeountet werden soll ls -al .

Also meine vermutung ist dass die UIDs nicht stimmen?

@Iluminat: Hmm...wenn das geht werde ich das machen ja...

drcux
04.12.08, 16:26
Also meine vermutung ist dass die UIDs nicht stimmen?


Richtig...

MATI
04.12.08, 16:30
Sprich das heißt jetzt wiederum ich muss einen weg finden diese äquivalent zu setzen?

drcux
04.12.08, 16:34
Sprich das heißt jetzt wiederum ich muss einen weg finden diese äquivalent zu setzen?

Richtig....


;)

thecarpy
05.12.08, 12:05
auf dem Desktop machst du


id
dann kommt da sowas:
uid=1000(frans) gid=1000(frans) ....

Dann, das home-Verzeichnis per chown -R uid:gid /pfad/zum/Verzeichnis an dich geben (als root ausfuehren).
:D
also
chown -R 1000:1000 /pfad/zum/Verzeichnis

Benutzer mit uid 1000 muss nicht unbedingt auf dem server bestehen ... ;-)

MATI
08.12.08, 10:35
danke - du meinst das home-verzeichnis das auf dem server liegt muss
über chown -R uid:gid /pfad/zum/Verzeichnis an mich gegeben werden oder?

danke

kreol
08.12.08, 17:47
Die UID (bzw. die GID, je nach Rechtevergabe) müssen auf Server und Client identisch sein. Ggf. halt die UID/GID jeweils für die berechtigten User abgleichen.

Ein gutes, deutschsprachiges NFS-Howto gibts hier (http://mysite.verizon.net/res0yizl/id12.html).


Kreol

MATI
04.05.09, 10:56
Könnte ich denn auch die Uid auf meinem Laptop an die des NFS Servers abgleichen? Also z.B. andie 767?

UzumakiNaruto
04.05.09, 13:59
NIS (Network Information Service)

der NIS server vergibt dort die IDs ;)

MATI
04.05.09, 14:23
ehm...heißt das jetzt "nein" auf meine frage von vorhin ? Sorry versteh den einwurf net so ganz...

marce
04.05.09, 14:51
Du kannst natürlich auch die lokale User-ID abändern. Was weniger Aufwand ist und was weniger "Nacharbeit" nach sich zieht - darfst gerne Du herausfinden...

kreol
04.05.09, 16:28
"Die UID (bzw. die GID, je nach Rechtevergabe) müssen auf Server und Client identisch sein." ist doch eigentlich recht eindeutig, oder? Wie Du das bewerkstelligst (Über NIS oder eine händische Änderung entweder am Server oder am Client) bleibt vollkommen Dir überlassen.

Btw: Welchen Username der User mit der UID 1000 auf Server und Client hat ist egal, intern wird nur die UID berücksichtigt. Also kannst Du den Effekt auch mit dem schon genannten chown erreichen indem Du die Datei der passenden UID zuweist, dann dürfte aber der User auf dem Server Schwierigkeiten bekommen (bzw. umgekehrt). Am saubersten ist es, für jeden User auf Server und Client die gleiche UID/GID zu vergeben.

Vllt. ist NIS für nur einen oder zwei User etwas oversized, da bist Du mit einer händischen Anpassung der /etc/passwd bzw. /etc/groups vermutlich schneller davon. Und es gibt ja auch noch useradd und groupadd mit verschiedenen Optionen...


Kreol

MATI
04.05.09, 17:14
Ja danke. Ich frage deshalb immer zweimal nach weil ich mir sicherer sein will...
und deswegen jetzt auch nochmal :):

ich möchte also jetzt die UID meines users auf meinem Laptop an die angleichen die im NFS benutzt (Server) benutzt wird. Wie ich mich informiert habe kann ich dazu in der /etc/passwd wo steht



franz:x:1000:1000::/home/franz:/bin/bash


ändern zu


franz:x:767:767::/home/franz:/bin/bash

.
Jetzt könnte ich doch alle Dateien meines systems mit der alten UID ändern lassen zu:



find / -uid 1000 -exec chown 767 {} \;


Muss ich letzteres tun oder gibt es eine sauberere Art? Gibt es eigentlich gefahren wenn ich die UID meines users ändere?

BedriddenTech
04.05.09, 20:36
Um das mal kurz auf Protokollebene zu erklären: Der NFS-Server (zumindest bis NFSv3) kriegt vom Klienten eine UID und eine GID -- und nimmt die so hin, ohne Nachfrage, ohne nichts. Der Nutzer oder die Gruppe müssen auf dem Server nicht mal existieren. Wenn eine Datei (oder ein Ordner, bzw. genauer eine Inode) angefordert werden, dann wird einfach die numerische UID/GID mit ausgeliefert, fertig.

Das ist ganz anders als bei CIFS, wo Du Dich mit einem Benutzernamen und einem Paßwort anmelden mußt und durch diese Anmeldeinformationen dann Nutzer, Gruppen und Rechte klar sind. (Das ist etwas vereinfacht, zugegeben, aber beschreibt grob den Menchanismus.)

Was Du gerne hättest, ist eine Möglichkeit, UID/GID auf Server und Klient gleich zu halten. Dafür gibts mehrere, je nach Aufwand: Du kannst es manuell tun. "usermod" und "chown" auf Klient wie Server sind dann Deine Freunde. Oder Du nutzt OpenLDAP (oder etwas äquivalentes) als Verzeichnisdienst zusammen mit pam_ldap und nss_ldap. Dann verwaltest Du Deine Nutzer zentral. Etwas grob ähnliches kriegst Du mit NIS, aber hier ist ein ganz anderer Mechanismus am Werk: Kurz gesagt kopiert der Server Teile von /etc/passwd, /etc/shadow und /etc/groups auf den Klient.

HTH.