마운트 권한 (nfs-server)에 쓸 수 없어“권한이 거부되었습니다”


21

NFS두 개의 RHEL7 노드간에 구성하려고합니다 .

첫 번째 노드 :

[root@ip-10-164-175-246 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/  ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]# 

두 번째 노드 :

[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]# 

/mnt/NFS 를 통해 아무것도 쓸 수없는 이유는 무엇 입니까?


1
(rw)에서 /etc/exports를 변경하고 서버 (rw,no_root_squash)에서 작업을 수행 한 exportfs -av다음 클라이언트에서 파일 시스템을 다시 마운트하고 다시 시도하십시오.
MadHatter는 Monica

답변:


29

수출이 활용 root_squash합니까? 로부터 CentOS는 워드 프로세서 :

root_squash — 원격으로 연결된 루트 사용자가 루트 권한을 갖지 못하게하고 사용자 nfsnobody의 사용자 ID를 할당합니다. 이렇게하면 원격 루트 사용자의 권한을 가장 낮은 로컬 사용자로 "분할"하여 원격 서버에서 파일의 무단 변경을 방지 할 수 있습니다. 또는 no_root_squash 옵션은 루트 스 쿼싱을 해제합니다. 루트를 포함하여 모든 원격 사용자를 스쿼시하려면 all_squash 옵션을 사용하십시오. 특정 호스트의 원격 사용자와 함께 사용할 사용자 및 그룹 ID를 지정하려면 각각 anonuid 및 anongid 옵션을 사용하십시오. 이 경우 원격 NFS 사용자가 (anonuid =, anongid =)를 공유하고 지정하기 위해 특수 사용자 계정을 만들 수 있습니다. 여기서 사용자 ID 번호는 그룹 ID 번호입니다.

no_root_squash기본적으로 켜져 있으므로이 기능 을 비활성화 하려면 플래그를 추가해야합니다 .


1
감사합니다. 모든 것이 예상대로 작동합니다! 나는 실종되었다 no_root_squash다시 감사합니다!
alexus

RHEL 웹 사이트에서 access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… 기사를 찾았 습니다 . no_root_squash를 사용하는 것이 전혀 안전하지 않은 것 같습니다. 권장 사항을 따르고 싶은 경우 해결책은 무엇입니까?
Djidiouf

기본적으로 'nobody'사용자에게 NFS 마운트에서 적절한 파일을 수정할 수있는 기능을 제공하려고합니다. 루트 사용자가 아무도 매핑되지 않은 경우에도 여전히 수정할 수 있습니다. 또는 NFSv4를 사용하면 적절한 로컬 / 서버 계정 매핑을 정의 할 수 있습니다.
Christopher Karel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.