rpc.mountd: getfh failed: Operation not permitted ( WinNT -> samba -> Linux -> NFS -> Solaris)

rpc.mountd: getfh failed: Operation not permitted ( WinNT -> samba -> Linux -> NFS -> Solaris)

Post by Sundaram Ramasa » Sun, 05 Jan 2003 04:03:42



I am trying to mount the windows NT share to solaris 8.0 using Redhat
8.0 nfs.

Using smbmount I mounted windows share in Linux as /home/percipia/smb.
I setup Linux as NFS Server and exported /home/percipia/smb as nfs
export.

windows box  ====>    Linux box    ====>   Solaris box
               SMB                   NFS

* I am seeing windows files

[root@ldap percipia]# ls /home/percipia/smb
ar505enu.exe          JAVA                          vnc
Canon Printer         mpri386.exe                   w2ksp2.exe
cygnus                ns45s1.exe                    WinCVS
dbutil.exe            Redhat                        Windows Installer
gm4s32.dll            Scanner                       winzip80.exe
hdescsvr_install.exe  Shortcut to ar505enu.exe.lnk  winzip81.exe
hdupdate.exe          term32v420.zip                ws_ftple.exe
HP LaserJet           testfile.txt

* On the Linux Machine

 [root@ldap tmp]# rpcinfo -u localhost nfs
program 100003 version 2 ready and waiting
program 100003 version 3 ready and waiting

[root@ldap tmp]# cat /etc/exports
/home/percipia/smb      
192.168.1.0/255.255.255.0(rw,insecure,sync,nohide,no_su
btree_check,insecure_locks,no_root_squash)
[root@ldap tmp]#

[root@ldap tmp]# rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100024    1   tcp  32768  status
    391002    2   tcp  32769  sgi_fam
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100021    1   udp  32770  nlockmgr
    100021    3   udp  32770  nlockmgr
    100021    4   udp  32770  nlockmgr
    100011    1   udp    974  rquotad
    100011    2   udp    974  rquotad
    100011    1   tcp    977  rquotad
    100011    2   tcp    977  rquotad
    100005    1   udp  32773  mountd
    100005    1   tcp  32808  mountd
    100005    2   udp  32773  mountd
    100005    2   tcp  32808  mountd
    100005    3   udp  32773  mountd
    100005    3   tcp  32808  mountd

[root@ldap tmp]# showmount -e localhost
Export list for localhost:
/home/percipia/smb 192.168.1.0/255.255.255.0

* From My Solaris machine
bash-2.03# rpcinfo -u 192.168.1.135 nfs
program 100003 version 2 ready and waiting
program 100003 version 3 ready and waiting

bash-2.03# showmount -e 192.168.1.135
export list for 192.168.1.135:
/home/percipia/smb 192.168.1.0/255.255.255.0

bash-2.03#  mount -o vers=2 192.168.1.135:/home/percipia/smb /tmp/smb
nfs mount: 192.168.1.135:/home/percipia/smb: access denied

I am getting access denied error message.

* On my Redhat Linux message log
/var/log/messages

Jan  3 13:57:09 ldap rpc.mountd: authenticated mount request from
pnet:793 for /
home/percipia/smb (/home/percipia/smb)
Jan  3 13:57:09 ldap rpc.mountd: getfh failed: Operation not permitted

[root@ldap tmp]# tcpdump src host 192.168.1.131
tcpdump: listening on eth0
13:58:54.473459 pnet.33621 > 192.168.1.135.sunrpc:  udp 56 (DF)
13:58:54.475634 pnet.33621 > 192.168.1.135.32773:  udp 40 (DF)
13:58:54.477058 pnet.794 > 192.168.1.135.32773:  udp 132 (DF)
13:58:59.473385 arp reply pnet is-at 8:0:20:d1:49:56
13:59:04.694126 pnet.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP
PACKET(137):
 QUERY; REQUEST; BROADCAST (DF) [ttl 1]

[pid  1228] poll( <unfinished ...>
[pid   669] --- SIGSTOP (Stopped (signal)) ---
[pid   669] poll( <unfinished ...>
[pid  1228] <... poll resumed> [{fd=3,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND,
revents=POLLIN|POLLRDNORM}, {fd=4,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=-1}], 3, -1) = 1
[pid  1228] recvmsg(3, {msg_name(16)={sin_family=AF_INET,
sin_port=htons(33622), sin_addr=inet_addr("192.168.1.131")}},
msg_iov(1)=[{">\30\344U\0\0\0\0\0\0\0\2\0\1\206\245\0\0\0\2\0\0\0\0\0"...,
8800}], msg_controllen=24, msg_control=0x8055638, , msg_flags=0}, 0) =
40
[pid  1228] sendmsg(3, {msg_name(16)={sin_family=AF_INET,
sin_port=htons(33622), sin_addr=inet_addr("192.168.1.131")}},
msg_iov(1)=[{">\30\344U\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
24}], msg_controllen=24, msg_control=0x8055638, , msg_flags=0}, 0) =
24
[pid  1228] poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND,
revents=POLLIN|POLLRDNORM}, {fd=4,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=-1}], 3, -1) = 1
[pid  1228] recvmsg(3, {msg_name(16)={sin_family=AF_INET,
sin_port=htons(795), sin_addr=inet_addr("192.168.1.131")}},
msg_iov(1)=[{">\30\344V\0\0\0\0\0\0\0\2\0\1\206\245\0\0\0\2\0\0\0\1\0"...,
8800}], msg_controllen=24, msg_control=0x8055638, , msg_flags=0}, 0) =
132
[pid  1228] stat64("/var/lib/nfs/etab", {st_mode=S_IFREG|0644,
st_size=177, ...}) = 0
[pid  1228] lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096,
...}) = 0
[pid  1228] lstat64("/home/percipia", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid  1228] lstat64("/home/percipia/smb", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid  1228] socket(PF_UNIX, SOCK_STREAM, 0) = 5
[pid  1228] connect(5, {sin_family=AF_UNIX,
path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or
directory)
[pid  1228] close(5)                    = 0
[pid  1228] open("/etc/hosts", O_RDONLY) = 5
[pid  1228] fcntl64(5, F_GETFD)         = 0
[pid  1228] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
[pid  1228] fstat64(5, {st_mode=S_IFREG|0644, st_size=195, ...}) = 0
[pid  1228] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
[pid  1228] read(5, "# Do not remove the following li"..., 4096) = 195
[pid  1228] close(5)                    = 0
[pid  1228] munmap(0x40013000, 4096)    = 0
[pid  1228] socket(PF_UNIX, SOCK_STREAM, 0) = 5
[pid  1228] connect(5, {sin_family=AF_UNIX,
path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or
directory)
[pid  1228] close(5)                    = 0
[pid  1228] open("/etc/hosts", O_RDONLY) = 5
[pid  1228] fcntl64(5, F_GETFD)         = 0
[pid  1228] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
[pid  1228] fstat64(5, {st_mode=S_IFREG|0644, st_size=195, ...}) = 0
[pid  1228] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
[pid  1228] read(5, "# Do not remove the following li"..., 4096) = 195
[pid  1228] close(5)                    = 0
[pid  1228] munmap(0x40013000, 4096)    = 0
[pid  1228] time([1041620488])          = 1041620488
[pid  1228] rt_sigaction(SIGPIPE, {0x420d6aa0, [], SA_RESTORER,
0x42028c48}, {SIG_DFL}, 8) = 0
[pid  1228] send(6, "<13>Jan  3 14:01:28 rpc.mountd: "..., 118, 0) =
118
[pid  1228] rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
[pid  1228] stat64("/home/percipia/smb", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid  1228] stat64("/home/percipia/smb", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid  1228] nfsservctl(0x3, 0xbfffd0e0, 0) = -1 EINVAL (Invalid
argument)
[pid  1228] nfsservctl(0x7, 0xbfffdd90, 0x80554c0) = -1 EPERM
(Operation not permitted)
[pid  1228] time([1041620488])          = 1041620488
[pid  1228] rt_sigaction(SIGPIPE, {0x420d6aa0, [], SA_RESTORER,
0x42028c48}, {SIG_DFL}, 8) = 0
[pid  1228] send(6, "<12>Jan  3 14:01:28 rpc.mountd: "..., 70, 0) = 70
[pid  1228] rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
[pid  1228] sendmsg(3, {msg_name(16)={sin_family=AF_INET,
sin_port=htons(795), sin_addr=inet_addr("192.168.1.131")}},
msg_iov(1)=[{">\30\344V\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
28}], msg_controllen=24, msg_control=0x8055638, , msg_flags=0}, 0) =
28
[pid  1228] poll( <unfinished ...>

any help on this.

bash-2.03#