root_squash가 꺼진 상태(-maproot=root)로 NFS4 내보내기(FreeBSD ZFS 파일 시스템에서)가 있습니다.
최근까지 나는 여러 컴퓨터(주로 Ubuntu 12.04 서버)에서 문제 없이 이 드라이브를 마운트해 왔지만 갑자기 다음과 같은 이상한 문제에 직면했습니다.
설정을 시도한 세 가지 OS(Mint 15, Ubuntu 13.04, Ubuntu 12.04 클라이언트)에서 ldap 및 nfs 구성을 수행하고 드라이브를 마운트하면 모든 것이 정상적으로 나타납니다. ID에서 매핑된 적절한 사용자 및 그룹 이름을 볼 수 있습니다. 하지만 이 파일 중 하나를 다른 사용자에게 공개하려고 하면 항상 none:nobody로 설정됩니다.
참고로, 오래된 컴퓨터에서는 이런 일이 발생하지 않습니다. 이전 Ubuntu 12.04 시스템의 정확한 구성(/etc/idmapd.conf, /etc/ldap*, /etc/pam.d/*)을 새 시스템에 복사했는데 여전히 작동하지 않습니다! 또한 대부분 chown으로 제한되는 것 같습니다. 나는 모든 사용자로서 새 파일을 만질 수 있으며 올바른 소유권을 가지고 있습니다. 나는 무슨 일이 일어나고 있는지 전혀 모른다.
내가 얻을 수 있는 유일한 단서는 손상된 시스템이 syslog에 다음 오류를 표시한다는 것입니다(idmapd의 자세한 정보를 늘린 후).
Sep 10 16:58:48 cabernet rpc.idmapd[1009]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Sep 10 16:58:48 cabernet rpc.idmapd[1009]: nss_getpwnam: name '[email protected]' domain 'test.com': resulting localname '5000'
Sep 10 16:58:48 cabernet rpc.idmapd[1009]: nss_getpwnam: name '5000' not found in domain 'test.com'
작업 기계는 다음을 제공합니다.
Sep 10 17:03:44 node-2 rpc.idmapd[2906]: nfs4_uid_to_name: calling nsswitch->uid_to_name
Sep 10 17:03:44 node-2 rpc.idmapd[2906]: nfs4_uid_to_name: nsswitch->uid_to_name returned 0
Sep 10 17:03:44 node-2 rpc.idmapd[2906]: nfs4_uid_to_name: final return value is 0
Sep 10 17:03:44 node-2 rpc.idmapd[2906]: Client 18: (user) id "5000" -> name "[email protected]"
그래서 어떤 이유로 고장난 기계가 해당 ID를 사용자 이름으로 사용하려고 하는 것 같습니다.
어떤 충고?
답변1
이 문제는 다음 설정을 통해 해결되었습니다.http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500778
/etc/idmapd.conf
[General]
Cache-Expiration = 10