로컬 사용자의 UID 및 GID를 마운트 된 NFS 공유에 매핑 마운트하고 있습니다. 내용을

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 서비스를 다시 시작하십시오


답변