
내 디렉터리는 루트입니다.
pwd
/
다음 디렉토리가 있습니다.
drwxrwxrwx 4 root root 81920 Jun 4 09:25 imr_report_repo
노트: imr_report_repo
NFS 공유입니다.
fstab
목록 은 다음과 같습니다 imr_report_repo
.
netapp1:/imr_report_repos_stage /imr_report_repo nfs rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1 1
d imr_report_repo
마운트 중인 파일:
$ ls -al
-rw-r--r-- 1 502 502 1273 Mar 21 2013 imr1_test.txt
UID 502가 존재하지 않습니다. 해당 UID/GID를 로컬에서 추가하는 경우:
$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy
이제 다음과 같이 표시됩니다.
$ ls -al
-rw-r--r-- 1 jimmy jimmy 1273 Mar 21 2013 imr1_test.txt
이제 루트로 변경합니다.
$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted
답변1
일반적으로 root
NFS 공유에는 특별한 권한이 없습니다. 반대로: root
일반 사용자에게 매핑됩니다(즉, root
파일에 대한 "일반" 읽기 및 쓰기 액세스도 아님).
chown
NFS 서버에서 실행 해야 합니다 .
답변2
일반적으로 NFS 클라이언트의 로컬 루트 사용자는 NFS 마운트 공유에서 이러한 유형의 활동을 수행할 수 없습니다. NetApp은 이에 대해 다음과 같이 일부 변경한 것으로 보입니다.
- 기본적으로 anon 옵션으로 지정되는 UID는 65534입니다. 즉, 리소스에 대해 root 및 anon 옵션을 사용하지 않는 경우 모든 호스트의 루트 사용자는 UID 65534를 사용하여 리소스에 액세스합니다.
- anon 옵션이 UID 65535를 지정하면 루트 액세스가 비활성화됩니다.
- anon 옵션이 UID 0을 지정하면 루트 액세스가 모든 호스트에 부여됩니다.
- UID 대신 이름을 제공하면 파일에 지정된 순서대로 이름을 조회하여
/etc/nsswitch.conf
anon 옵션에 의해 할당된 해당 UID를 결정합니다.
따라서 표면적으로 NetApp NFS 공유에는 기본 옵션 #1이 있습니다. NFS 공유에 있는 파일을 루트로 터치하고 생성된 ID를 보면 이를 확인할 수 있습니다.
mount -v
NFS 클라이언트에서 NFS 공유의 내보내기 옵션을 사용할 수 있어야 합니다 .
$ mount -v
...
mulder:/export/raid1/home/sam on /home/sam type nfs (rw,intr,tcp,nfsvers=3,rsize=16384,wsize=16384,addr=192.168.1.1)
인용하다
답변3
기본적으로 NetApp NFS 서버는 클라이언트의 루트 사용자 자격 증명을 서버의 uid 65534로 변경하므로 이러한 작업은 chown
실패합니다. 이 설정을 변경하려면 파일 시스템 행에 매개변수가 포함되도록 파일 관리자에서 내보내기 목록을 편집합니다. root=clientid
여기서 clientid는 파일 시스템에 대한 루트 액세스 권한을 부여하려는 클라이언트의 IP 주소 또는 호스트 이름입니다. exportfs -a
파일 관리자에서 명령줄 인터페이스를 사용하는 경우 다음을 실행합니다.
답변4
nfs 호스트에서
nano /etc/exports
/share ip_of_client(rw,no_root_squash)
출구
exportfs -a
산
mount -t nfs host:/folder <mnt location>
~에서RHEL
기본적으로 NFS 공유는 루트 사용자를 권한이 없는 사용자 계정인 nfsnobody 사용자로 변경합니다. 이렇게 하면 루트에서 생성된 모든 파일의 소유자가 nfsnobody로 변경되어 setuid 비트가 설정된 프로그램이 업로드되지 않습니다.
no_root_squash를 사용하면 원격 루트 사용자가 공유 파일 시스템의 모든 파일을 변경할 수 있으며 다른 사용자가 실수로 실행하도록 트로이 목마에 감염된 응용 프로그램을 남길 수 있습니다.