소규모 홈 네트워크에서 ZFS NFS 내보내기를 사용하려고 합니다. 지금까지 성공적으로 내보내고 설치했지만 설치된 디렉터리는 "nobody" 사용자에게 매핑되고 읽기 전용입니다. 산에 글을 쓸 수 있었으면 좋겠어요.
서버는 Solaris 11.3을 실행 중이고 다음을 사용하여 홈 디렉토리를 내보냈습니다.
zfs set share.nfs=on pool/export/home/nfs
이 시스템에서 내 uid는 1001이고 gid는 10입니다.
Linux와 macOS에 설치를 시도했습니다. Linux에서 내 uid/gid는 모두 1000이고 macOS에서는 501/20입니다. FreeBSD에서 마운트하면 uid가 동일하기 때문에 읽기/쓰기가 가능합니다.
나는 문제가 다른 uid (및 gid)로 인해 발생한다고 가정합니다. 내가 시도한 몇 가지
- 클라이언트, -o vers=3을 사용하여 NVSv3으로 마운트
- 서버 측, 내보내기 anon=1001
둘 다 효과가 없습니다.
두 가지 가능한 해결책이 있습니다.
- uid/gid를 조정합니다. Linux/FreeBSD 시스템에는 그다지 많은 내용이 없기 때문에 이 작업을 수행하는 데 신경 쓰지 않습니다. 나는 MacBook에서 이것을 시도하기를 꺼려합니다.
- 지도를 그리는 방법을 찾아보세요
편집: 이것은 요청된 정보입니다
# share
rpool_export_home_paulf /export/home/paulf nfs sec=sys,rw
그리고
# sharectl get nfs
servers=1024
lockd_listen_backlog=32
lockd_servers=1024
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
showmount_info=full
server_authz_cache_refresh=600
netgroup_refresh=600
resvport=false
답변1
공유에 쓸 수 없는 문제는 당신이 직접 말했듯 이 다르기 UID
때문 입니다.GID
가장 쉬운 방법은 두 시스템 모두에서 동일한 이름을 가진 그룹을 만들고 GID
공유 소유권을 해당 그룹으로 변경한 다음 사용자를 그룹에 추가하는 것입니다.
Solaris 서버 및 Linux 컴퓨터의 경우:
groupadd -u GID nfsgroup
Solaris 서버의 경우:
chown :nfsgroup /nfs/share
리눅스 머신에서.
usermod -aG nfsgroup linuxuser
UID를 변경하여 이 작업을 수행할 수도 있지만 이는 약간 복잡합니다. 위의 명령은 원하는 것을 제공합니다.