
방금 홈 네트워크에 iMac을 다시 설치하고 NFS 공유(Ubuntu 서버에서 호스팅됨)를 통해 사용자 홈 디렉터리를 마운트했습니다.
내가 가진 문제는 sudo를 사용할 때 내 홈 디렉토리에 대한 권한이 거부된다는 것입니다.
내 UID는 501이고 관리 그룹(GID 80)의 구성원이므로 sudo를 사용할 수 있습니다.
Ubuntu 서버에서 홈 디렉터리를 다음과 같이 구성했습니다.
Ubuntu# ls -ln | grep bryan
drwxrwx--- 35 501 80 4096 2012-01-27 14:09 bryan
Mac에서는 올바르게 번역됩니다.
iMac$ ls -l | grep bryan
drwxrwx--- 35 bryan admin 4.0K 27 Jan 14:09 bryan/
루트도 admin(GID 80)의 구성원이므로 sudo가 내 홈 디렉터리에 대한 액세스를 허용할 것으로 예상했지만 아래에서 볼 수 있듯이 그렇지 않습니다.
iMac$ whoami
bryan
iMac$ sudo bash
bash: /Volumes/home/bryan/.bashrc: Permission denied
iMac# whoami
root
iMac# cd /Volumes/home/bryan/
bash: cd: /Volumes/home/bryan/: Permission denied
dscacheutil -q group
확인을 위해 다음은 내 iMac 출력의 관련 부분입니다 .
name: admin
password: *
gid: 80
users: root bryan
sudo를 사용할 때 iMac의 홈 디렉토리에 대한 액세스를 활성화하려면 어떻게 해야 합니까?
답변1
을 사용하면 사용자(uid 0) sudo
로 전환됩니다 .root
잃다귀하의 brian
UID 및 admin
그룹. ( sudo id
정확한 값이 표시됩니다.)
이전 NFS 버전(v3 이하)은 클라이언트 측에서만 모든 보안 검사를 수행했기 때문에 부정직한 클라이언트로부터 보호하기 위한 보호 장치가 내장되어 있습니다. 클라이언트가 UID가 0이라고 말하면 이를 수행해야 합니다.~ 아니다루트 권한 받기 –대신 NFS 서버는 사용자를 사용자로 간주합니다 nobody
.
/etc/exports
이 보호 장치를 비활성화하려면 옵션 이 포함되도록 서버를 편집한 다음 모든 클라이언트에서 공유를 no_root_squash
다시 실행 하고 다시 탑재하십시오.exportfs -ra
NFS 권한을 테스트할 때 공유에 누구나 쓰기 가능한 디렉터리를 두는 것이 유용합니다. 예를 들어 우분투에서는 sudo mkdir /home/temp; sudo chmod a+rwx /home/temp
. 그런 다음 OS X에서는 sudo touch /Volumes/home/temp/testfile
새로 생성된 파일의 소유자를 실행하고 즉시 확인할 수 있습니다.