NFS를 사용하여 로컬로 마운트 한 원격 파티션이 있습니다.
‘마운트’는
192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)
서버에서 수출 중입니다.
/mnt/storage-pools *(rw,insecure,sync,no_subtree_check)
그런 다음 시도
touch /pools/test1
ls -lah
-rw-r--r-- 1 65534 65534 0 Dec 13 20:56 test1
chown root.root test1
chown: changing ownership of `test1': Operation not permitted
내가 무엇을 놓치고 있습니까? 머리카락을 뽑아
답변
기본적으로 root_squash
내보내기 옵션이 설정되어 있으므로 NFS를 사용하면 클라이언트의 루트 사용자가 서버에서 루트로 작업을 수행 할 수 없으며 대신 옵션 anonuid
및 anongid
옵션으로 지정된 사용자 / 그룹 ID에 매핑 할 수 있습니다 (기본값 = 65534). /etc/exports
다른 내보내기 옵션과 함께 구성 할 수 있습니다.
답변
exports(5)
“루트 스 쿼싱”에 관한 섹션을 읽으십시오 .
NFS 서버의 파일에 액세스 할 때 클라이언트 시스템의 루트 사용자도 루트로 취급되는 것은 바람직하지 않습니다. 이를 위해 uid 0은 일반적으로 소위 익명 또는 nobody uid라는 다른 ID에 매핑됩니다. 이 작업 모드 ( ‘루트 스 쿼싱’이라고 함)가 기본값이며 no_root_squash를 사용하여 끌 수 있습니다.
그래서 당신은 원합니다 :
/mnt/storage-pools *(rw,insecure,sync,no_subtree_check,no_root_squash)
(오타 수정)