마운트 된 NFS 파티션의 chown은“작업이 허용되지 않습니다” 사용하여 로컬로 마운트 한

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를 사용하면 클라이언트의 루트 사용자가 서버에서 루트로 작업을 수행 할 수 없으며 대신 옵션 anonuidanongid옵션으로 지정된 사용자 / 그룹 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)

(오타 수정)