I chased down a similar issue. Setting /etc/idmapd.conf Verbosity=3 helped to see some of the issues on Ubuntu, but not all. Here is a summary from my findings:
There is still the potential that your /etc/passwd and group files do not share the same user/groups as the machine which offers the share. Here is a hint your local machine must have a similar user/group name mapping via. /etc/nsswitch.conf or the mapping operation of idmapd will fail. Note here if running Verbosity=3 you will see an entry in /var/log/syslog, like:
idmapd[25193]: Client 64: (group) name "TheGroupNameYouExpected" -> id "65534
If you modify /etc/nsswitch.conf to map to something other than files (like ldap or nis), then you need to also ensure that ldap or nis has an actually entry of some kind for the username or group name you want ID translation for. If an entry does not exist idmapd will fail to successfully map users/groups.
In related issues I found for RHEL v7 the idmapd.conf service does not need to be enabled for NFS clients anymore:
https://bugzilla.redhat.com/show_bug.cgi?id=1033708#c2
However there is a running issue in the above thread that by default the services that perform the automatic ID-username mapping have a very low number of ids that remain mapped in memory. Instead of logging an error idmapd just refuses to translate more than 200 users. You can verify this from your current kernel settings:
cat /proc/sys/kernel/keys/root_maxkeys
Most likely 200 is the default setting. To allow the NFS mount points to properly map all the available users you need to change this file:
/etc/sysctl.conf
and add or modify these lines as follows:
# To ensure we can map all the possible NFS users
kernel.keys.root_maxkeys=65000
kernel.keys.root_maxbytes=1300000
kernel.keys.maxkeys=65000
kernel.keys.maxbytes=1300000
Your system may not require as many user/id key mappings, so adjust as necessary. This will allow all id-name keys to remain mapped while using the NFS mount. Here is another related posting that shows the current kernel settings:
https://bugzilla.redhat.com/show_bug.cgi?id=876705#c20
for these values:
cat /proc/sys/kernel/keys/root_maxkeys
cat /proc/sys/kernel/keys/root_maxbytes
cat /proc/sys/kernel/keys/maxkeys
cat /proc/sys/kernel/keys/maxbytes
Most likely maxbytes and root_maxbytes must be large enough to store all the keys:
https://www.kernel.org/doc/Documentation/security/keys.txt
/etc/idmapd.conf
(on both client and server)? Also, isrpcidmapd
running? – garethTheRed Jun 21 '14 at 20:11/etc/idmapd.conf
, I'm not sure which one I should use, I guess I'll ask the sysadmin. – Franck Dernoncourt Jun 21 '14 at 20:25nobody
by default. So the workaround is to use this filesystem with your actual user ID on the client, not root. – Mark Plotnick Jun 26 '14 at 16:51