[OpenIndiana-discuss] nfs oi server - linux clients
Gregory Youngblood
gregory at youngblood.me
Tue Sep 16 13:39:53 UTC 2014
I don't know if things have changed but a couple of years ago I had to force Linux to v3 or things would hang or otherwise not work reliably. Sadly I don't recall the details only the lesson to force v3 on Linux clients. Something about the Linux v4 implementation at the time only worked Linux to Linux but not Linux client to Solaris server.
Hopefully I am out of date and that's been fixed by now.
Greg
------ Original message------From: Hugh McIntyreDate: Tue, Sep 16, 2014 1:29 AMTo: openindiana-discuss at openindiana.org;Subject:Re: [OpenIndiana-discuss] nfs oi server - linux clientsYou don't even need NIS or LDAP. Plain /etc/passwd works fine, either by making sure the necessary user/uid mappings and passwd files are the same on all systems (if using NFS v2/v3) or not even bothering with the uid's matching if using NFSv4.(Non-matching uid's is kind of the point of the NFSv4 idmap complexity).Hugh.On 09/16/2014 12:11 AM, Alex Smith (K4RNT) wrote:> I used NIS when I was doing this, while I was beta testing Solaris 9 and> had a Linux client to work with, and that managed to work pretty well,> given I didn't have any connectivity issues between the hosts.>> I know that solution is kinda deprecated, but it's pretty complicated to> set up LDAP comparatively.>> " 'With the first link, the chain is forged. The first speech censured, the> first thought forbidden, the first freedom denied, chains us all> irrevocably.' Those words were uttered by Judge Aaron Satie as wisdom and> warning... The first time any man's freedom is trodden on, we’re all> damaged." - Jean-Luc Picard, quoting Judge Aaron Satie, Star Trek: TNG> episode "The Drumhead"> - Alex Smith> - Huntsville, Alabama metropolitan area USA>> On Tue, Sep 16, 2014 at 1:07 AM, Hugh McIntyre > wrote:>>>>> Hi Harry,>>>> It's possible you have somehow mounted the filesystem locally with noexec>> (unlikely, but you can check with "mount | grep /projects/dv" and make sure>> noexec is not in the options).>>>> But at a guess, it's more likely you may have the wrong username mapping>> since NFSv4 may need configuration for this.>>>> The easiest way to check the user mapping is:>>>> 1. Create a directory on the server with permissions 777 (wide open)>> 2. On the client, "touch somefile">> 3. Then check on both the server and client which user/group the file is>> created as. Do not proceed until the usernames match.>>>> If you have a user/group mismatch, then the fix depends on which version>> of NFS you are running. In "traditional" NFS (v3 or v2), the client just>> sends the numeric uid/gid over the wire, and the assumption is that the>> server has the same passwd/group file mapping. In your case though you>> seem to be using nfs4, which works differently.>>>> In NFS v4 (the new default) the configuration is more complex. NFSv4 uses>> names instead of numbers (so you don't need the same UID on all boxes), but>> the complexity is that there's a "nfsmapid" service on Solaris that>> translates from NFS username to local uid/names. This relies on a>> nfsmapid_domain and if this is misconfigured, you get access problems.>> Similarly, rpc.idmapd.conf on Linux.>>>> For the Solaris/Illumos end, Oracle has some info at>> http://docs.oracle.com/cd/E23824_01/html/821-1462/nfsmapid-1m.html but>> the summary for the Solaris end is:>>>> 1. You can specify the NFSMAPID_DOMAIN parameter in nfs(4) or using>> sharectl.>> 2. Or specify the _nfsv4idmapdomain DNS resource record. This is what I>> do since I have a local DNS server and then it works for all hosts.>> 3. Or if neither of these, Solaris will attempt to auto-determine the>> domain based on the domainname command, which may or may not give correct>> results.>>>> Meanwhile on Linux, the daemon (for client and server) is rpc.idmapd. In>> particular, you can configure the domain in /etc/idmapd.conf:>>>> # default is FQDN minus hostname>> Domain = local.lan>>>> You just have to make sure the client and server use the same domain. If>> not, requests will probably be treated as user=nobody and you may get>> permission errors.>>>> As you can see, in theory if everyone uses a default of FQDN minus>> hostname you may get correct operation by default. But this does not>> always work, so might be your issue.>>>> Hugh.>>>>>>>> On 09/15/2014 03:46 PM, Harry Putnam wrote:>>>>> I need a current modern walk thru of what it takes to setup nfs>>> serving, so that the clients' users are able to access rw and run>>> scripts or binaries.>>>>>> First a quite description of the situation:>>> First and formost I am a terrrible green horn. I've rarely used nfs.>>> And never with solaris as server>>>>>> oi server on home lan of a few linux hosts and a few windows hosts.>>> Very small network with really only single user usage of the nfs>>> shares.>>>>>> Home lan is in 10.0.0.0/24 network (All hosts concerned>>> here).>>>>>> Googling can lead to major confusion since the direction are a bit>>> different (as I understand it) from earlier versions of solaris/oi and>>> now.>>>>>> As I understand it, it should take no more than zfs set sharenfs=on.>>> I guess the old export list etc isn't necessary.>>>>>> I have set ' zfs set sharenfs=on ' on this share.>>>>>> But using that theory, what I'm ending up with on the client side:>>> Is a mounted share that will not allow my user to execute anything.>>> Where as rw and delete work fine.>>>>>> When I mount an nfs share on linux (Debian jessie) the mount is setup>>> in /etc/fstab like so:>>>>>> # [HP 140814_122407 NFS MOUNTS>>> # 2x.local.lan:/rpub/dv_pub /nfs/rpub-dv-pub nfs4 rw 0 0>>> 2x.local.lan:/projects/dv /nfs/projects/dv nfs4 rw,user,exec 0>>> 0>>> # ]>>>>>> You can see the two versions I've tried on different shares.>>>>>> I've used both of the syntax shown above on the current uncommented>>> share with the same result as stated above... no execution.>>>>>> I can read/write/delete but cannot execute a script.>>>>>> a simple perl script:>>>>>> cat p.pl:>>> #!/usr/local/bin/perl>>>>>> use strict;>>> use warnings;>>>>>> print "hello world
";>>>>>> set with chmod 755>>>>>> And yes... the perl binary referenced is in place and working.>>>>>> Gets this error output:>>>>>> ./p.pl>>> bash: ./p.pl: Permission denied>>>>>> And the permissions + owner:group look weird.>>>>>> OK, where to from here?>>>>>>>>> _______________________________________________>>> openindiana-discuss mailing list>>> openindiana-discuss at openindiana.org>>> http://openindiana.org/mailman/listinfo/openindiana-discuss>>>>>>>> _______________________________________________>> openindiana-discuss mailing list>> openindiana-discuss at openindiana.org>> http://openindiana.org/mailman/listinfo/openindiana-discuss>>> _______________________________________________> openindiana-discuss mailing list> openindiana-discuss at openindiana.org> http://openindiana.org/mailman/listinfo/openindiana-discuss>_______________________________________________openindiana-discuss mailing listopenindiana-discuss at openindiana.orghttp://openindiana.org/mailman/listinfo/openindiana-discuss
More information about the openindiana-discuss
mailing list