It took me a couple of weeks (or months) to… Not fix a problem… Even discover that I had a problem.
Once I discovered that I even had a problem… And I have a feeling this issue has been causing me a number of permission annoyances… I was able to use some “Google-fu” and resolve it in less than an hour.
With the actual fix taking < 5 mins.
From one of my Raspberry Pi’s running Raspbian I was seeing files with weird ownership info… Specifically files were owned by “nobody”. I suppose I originally considered this a quirk of NFS… But then I noticed that this same thing was not happening on my other Pi.
The problem presented itself via many annoying “access denied” or “operation not permitted” failure messages when working in NFS mounted directories.
The final straw was when I could not run dos2unix successfully on a text file. Such a simple operation… Very interesting, especially when I stopped watching TV and paid more attention to the error message.
dos2unix: Failed to change the owner and group of temporary output file ./d2utmpte0dzV: Operation not permitted
The fix is very simple… Force my clients to connect via NFSv3 instead of v4.
In /etc/fstab I added the option “nfsvers=3” to all my mounts.
192.168.222.34:/public /public nfs nfsvers=3,rsize=8192,wsize=8192,timeo=14,intr 0 0
Once added and re-mounted… Either manually or via a quick and easy reboot… Things started working as expected.
This issue was the result of new behavior. I recently updated my Synology DSM from v4.2 to v4.3. I have a feeling that this enabled NFSv4 on my Synology NAS. This could explain why I was seeing things differently between my Pi’s… I’ve been working on and rebooting one often lately, but the other has been up for many weeks and once the NFS mount is established I’m pretty sure the version does not change.
I believe I saw results for bugs and issues related to NFSv4 along this same vein that were not Synology related… So this issue may not be specific to Synology’s NFS support / implementation.
During my troubleshooting I had a need to confirm that the NFS version could be the issue… So I obviously needed to confirm what version of the NFS protocol was being used. The quick and easy command to determine that is “nfsstat”.