Toon posts:

[FreeBSD] NFS server, gebruikers instellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een FreeBSD 7.1 server staan waarop ik een NFS server heb draaien. De client is in dit geval een laptop met Arch Linux. Momenteel heb ik de NFS server aan de praat en kan ik deze mounten op de client. Ik zou echter graag willen dat mijn normale user account schrijfrechten zou hebben op deze share. Zowel op de client als op de server heb ik een test gebruiker. Momenteel zien mijn exports er als volgt uit:
/home/test -maproot=test 172.21.8.37

Als ik echter deze share mount op mijn laptop, dan hebben alle bestanden de gebruiker 'man' als eigenaar. Als ik kijk naar de UID van de test gebruiker op mijn server:
server # grep test /etc/passwd
test:*:1001:1001:Test:/home/test:/usr/local/bin/bash

Dan komt deze UID overeen met de 'man' gebruiker op mijn laptop:
client # grep man /etc/passwd
man:x:1001:1001::/var/cache/man:/bin/bash

Wat ik dus vermoedt is dat FreeBSD ipv de gebruikersnaam de UID uitwisselt, welke op mijn laptop overeenkomt met de gebruiker man. Is er een nette manier hoe ik kan zorgen dat mijn test gebruiker schrijfrechten krijgt op mijn share?

Verder lukt het me momenteel ook nog niet om op een nette manier mijn NFS server te herstarten. Op internet zie ik de volgende mogelijkheden langs komen (+ nog een aantal afgeleide hiervan):
/etc/rc.d/mountd restart
killall mountd

Deze werken bij mij echter beide niet. Als ik ook probeer rpcbind te restarten dan krijg ik NFS helemaal niet meer aan de praat (dan zegt hij bij het mounten: "RPC: Program not registered"). Momenteel restart ik de server na elke aanpassing, maar dit is een redelijk tijdrovend process.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op woensdag 25 februari 2009 @ 16:11:

Wat ik dus vermoedt is dat FreeBSD ipv de gebruikersnaam de UID uitwisselt,
Dat doet niet alleen freebsd, dat doet volgens mij elke zinnige nfs-implementatie, de kernel heeft amper weet van usernames, die weet alleen nummertjes, wel zo snel :)
Een simpele (maar niet schaalbare) oplossing is als je uid's en guid's gelijktrekken, een andere oplossing is een mapping hanteren, dit staat vast in de manpage van exports uitgelegd. Op linux kun je ook een daemon gebruiken om die mappings dynamisch bij te houden, dat kan freebsd misschien ook wel.

Verwijderd

Verwijderd schreef op woensdag 25 februari 2009 @ 16:11:
Verder lukt het me momenteel ook nog niet om op een nette manier mijn NFS server te herstarten. Op internet zie ik de volgende mogelijkheden langs komen (+ nog een aantal afgeleide hiervan):
/etc/rc.d/mountd restart
killall mountd

Deze werken bij mij echter beide niet. Als ik ook probeer rpcbind te restarten dan krijg ik NFS helemaal niet meer aan de praat (dan zegt hij bij het mounten: "RPC: Program not registered"). Momenteel restart ik de server na elke aanpassing, maar dit is een redelijk tijdrovend process.
Probeer deze eens:
/etc/rc.d/nfsd restart

Die restart nfs, maar neemt mountd en rpcbind niet mee. Als je dat allemaal in een keer wilt zou je een scriptje kunnen bakken :)

Verwijderd

Topicstarter
Ik snap inderdaad dat de kernel onderwater met UID en GID werkt ipv met namen. Ik had alleen verwacht dat de bovenliggende client/server er een mapping voor de kernel overheen zou gooien. Voorlopig heb ik het opgelost door de UID's gelijk te trekken. Een mooie oplossing vind ik dit echter niet. Als iemand een mooiere oplossing weet dan hoor ik het graag.

  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

NIS

Het vroegere YP

of overstappen naar LDAP

[ Voor 16% gewijzigd door Emmeau op 25-02-2009 22:51 ]

If you choose to criticise you choose your enemies


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op woensdag 25 februari 2009 @ 22:48:
Ik snap inderdaad dat de kernel onderwater met UID en GID werkt ipv met namen. Ik had alleen verwacht dat de bovenliggende client/server er een mapping voor de kernel overheen zou gooien. Voorlopig heb ik het opgelost door de UID's gelijk te trekken. Een mooie oplossing vind ik dit echter niet. Als iemand een mooiere oplossing weet dan hoor ik het graag.
Die geef ik toch aan? :)
Als het goed is kun je net als voor root, voor elke user gewoon een mapping maken, hoe dat precies moet staat vast in de manpage, de details voor freebsd heb ik niet paraat.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 16:01
Ah, je gebruikt archlinux testing op je client. Die man gebruiker kan je in principe verwijderen, die is per ongeluk meegekomen met de eerste versie van man-db in testing.
Verder zal je moeten zorgen dat de UIDs voor gebruikers op de server overeenkomen met het UID van gebruikers op de client. Dit kan je handmatig doen, maar ook met dingen als NIS en LDAP.
AFAIK kan je dit probleem met NFSv4 omzeilen, maar ik weet niet hoever FreeBSD is in het ondersteunen daarvan.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Hoe omzeilt nfs4 dit dan? :)

Verwijderd

Topicstarter
Ik draai inderdaad Arch testing. Ik zit nu te kijken naar NIS. Maar ik denk dat ik het voorlopig zo laat gezien het feit dat ik maar 1 user heb.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 16:01
Ik kom het een en ander tegen over nfsidmap. Zelf heb ik totaal geen ervaring met NFSv4 overigens. Bij NFSv4 kan je authenticatie mbv kerberos doen, dan bepaalt je kerberos ticket waar je wel en geen rechten op hebt.

Zelf heb ik een tijdje geleden OpenAFS getest met kerberos. Hier bepaalde je ticket ook de rechten. Al ben je root, zonder het juiste ticket kan je niet bij iemand anders zijn bestanden komen.
Pagina: 1