[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NFS expert, please diagnose this



According to joost witteveen:
> > According to joost witteveen:
> > > I don't really think this has anything to do with setuid stuff
> > > or anything, as "ls" running as root itself doesn't see anything
> > > eighter.
> > 
> > ??? I don't understand. As root:
> > kant# ls -la /var/spool/cron/atjobs/
> 
> And /var/spool/cron/atjobs is mounted over nfs?
> 
> Strange, I see (on the client):
> 
> rulvsa:/home/joostje/tmp# ls -al root/file
> ls: root/file: Permission denied
> 
> with /home/joostje/tmp mountd via nfs. (At the moment I've got the
> no_root_squash removed again, but it was the same with it enabled).
> 
> 
> On the server: 
> rulcmc:/tmp# ls -al root
> total 9
> drwx------   2 root     root         1024 Sep 28 12:43 .
> drwxrwxrwt  24 root     root         8192 Sep 28 15:41 ..
> -rw-r--r--   1 root     root            0 Sep 28 12:43 file
> 
> > > Yes, this looks as a bug to me.
> > 
> > How do I find where it is so I can fix it? Do you think it's libc or nfsd?
> 
> Well, what _I_ see surely comes from nfsd. (netstd source).
> running nfsd with
>   /usr/sbin/rpc.nfsd -F -d call
> clearly showed that it refused to serve /tmp/root/file (result: 13,
> which is access denied). But you seem to see something different
> (if /var/spool/cron/atjobs is mounted over nfs, apparetnly ls
> can see it).
> 
> But really, ls doens't do much else than just lstat (ok, not stat but lstat):
> 
> # strace root/file
> [...]
> brk(0x8058000)                          = 0x8058000
> lstat("tmp/root/file", 0x8054d04)       = -1 EACCES (Permission denied)
> write(2, "ls: ", 4ls: )                     = 4
> write(2, "tmp/root/file", 13tmp/root/file)           = 13
> [...]
> 
> I don't hope changing the "stat" to "lstat" in your programme makes
> any difference (if it does, you're messing up some symlinks somewhere),
> but anyway, I cannot test, as the behaviour I see is at least consistent
> (lstat (from ls) and stat from your stat programme both returning error):
> 
> # ./test/st
> stat("/boot/no/a" successful.
> stat("/home/joostje/root/file" unsuccessful.
> 
> (yes, I compiled it now).
> 
> -- 
> joost witteveen, joostje@debian.org
> #!/usr/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
> $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
> lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
> #what's this? see http://www.dcs.ex.ac.uk/~aba/rsa/
> 


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: