원격 서버에서 로컬로 폴더를 마운트했습니다.
mount -o nolock 92.xxx.xxx.xxx:/var/www/html/static/data /home/myaccount/public_html/forum/data_remote
문제는 로컬 계정이 UID 500이고 원격 계정이 48이므로 /home/myaccount/public_html/forum/data_remote
권한 거부 오류로 인해 로컬 데이터에 내용을 쓸 수 없다는 것입니다.
여기 나의 /etc/exports
:
/var/www/html/static/data/ 5.xxx.xxx.xxx(rw,insecure,no_root_squash)
myaccount가 원격 폴더에 쓸 수 있도록 권한을 적절하게 매핑하려면 어떻게 해야 합니까?
답변1
원격 서버에 있는 것과 일치하도록 UID를 변경해야 합니다. 이 작업을 수행하기 전에 사용자 계정이 어떤 프로세스도 실행하고 있지 않은지 확인하세요.
usermod -u NEWUID username
홈 디렉토리 외부의 파일은 소유권을 수동으로 변경해야 한다는 점을 명심하세요. UID를 변경한 시스템에서 다음 명령을 사용하여 이를 수행할 수 있습니다.
find / -user OLDUID -exec chown -h username {} \;
이렇게 하면 각 시스템에 동일한 UID가 제공되어 원격 디렉터리에 쓰고 파일을 수정할 수 있습니다. 정기적으로 사용하지 않고 액세스 권한이 있다고 가정할 때 원격 컴퓨터에서 수행하는 것이 더 쉬울 수 있습니다.
각 컴퓨터에서 동일한 GID를 사용하여 그룹을 만들고 공유에 연결하려는 컴퓨터의 그룹에 사용자를 추가하여 동일한 작업을 수행할 수도 있습니다.
각 머신에서:
groupadd -g GID groupname
NFS 공유를 호스팅하는 머신에서:
chown :groupname /nfs/share
공유에 연결하는 머신에서:
usermod -aG groupname username