NFSv4가있는 서버가 있습니다. 원격 사용자의 홈 폴더 내용을 로컬 호스트에 마운트하고 있습니다. 내용을 읽고 쓸 수 있지만 로컬 호스트에서 마운트 된 볼륨에있는 파일의 소유권을 검사 할 때 모두 해당 원격 사용자 및 그룹에 속합니다 (512). 로컬 호스트의 로컬 사용자 및 그룹 (1000)에 속하는 것처럼 보이게하는 방법이 있습니까?
원격 호스트 에서 / etc / exports (IP는 192.168.1.110 임)
/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)
의 / etc / fstab 파일 에 로컬 호스트 (IP는 192.168.1.142입니다)
192.168.1.110:/home/user512 /home/localuser/projects/project512 nfs rw,hard,intr,rsize=32768,wsize=32768 0 0
답변
이것이 idmapping이해야 할 일입니다. 우선, enable은 클라이언트와 서버에 있습니다 :
# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping
idmap 캐시를 정리하고 idmap 데몬을 다시 시작하십시오.
# nfsidmap -c
# service rpcidmapd restart
이제 서버와 클라이언트에서 bob@YOURDOMAIN.COM 과 같은 숫자 ID 대신 문자열을 전송합니다
. 클라이언트와 서버 모두 호스트에 bob 계정 이 있어야 합니다. 그럼에도 불구하고 숫자 ID는 다를 수 있습니다.
답변
거기에 모든 조각이 있습니다. exportfs 매뉴얼 페이지에서 all_squash
모든 uid 및 gid를 익명 버전에 매핑합니다. 당신이 쓴 것은 그 값을 512로 강제했습니다. 1000으로 변경하면, 원격 호스트의 nfs 서버는 모든 것을 1000으로 만들고 액세스 권한을 부여해야합니다.
답변
nfs 클라이언트에서 /etc/idmapd.conf를 편집하고 변경하십시오.
[Mapping]
Nobody-User = myappuser
Nobody-Group = myappuser
nfs 서비스를 다시 시작하십시오