NFS 마운트 권한 변경 + 게스트 VM과 디렉터리 공유

NFS 마운트 권한 변경 + 게스트 VM과 디렉터리 공유

저는 호스트 환경(OSX)의 폴더가 Ubuntu 게스트를 실행하는 VirtualBox VM에 마운트되는 개발 환경을 구축하고 있습니다.

우리의 경험에 따르면 간단한 VirtualBox 공유 디렉터리는 너무 느리기 때문에 일반적으로 게스트에서 해당 디렉터리를 NFS로 마운트하여 이 작업을 수행합니다. 호스트 환경에서 실시간 편집이 필요합니다.

문제는 chown및 etc 작업이 chgrp실패하고 프로덕션 환경에 가까운 항목(예: www-dataApache에서 사용하는 파일 보유)을 복사해야 한다는 것입니다.

파일 시스템 바인딩유망해 보입니다:

binfs - 변경된 권한으로 로컬 디렉토리를 미러링하거나 덮어씁니다.

그러나 기본 Unix 유틸리티와 시스템 호출을 사용하여 권한을 변경하는 것은 불가능해 보입니다. 상자를 제공하는 기존 구성 관리 시스템(Salt, Puppet)과 통합해야 하기 때문에 이 방식은 나에게 적합하지 않습니다.

권한 측면에서 NFS 마운트를 일반 디렉토리처럼 보이게 만드는 다른 방법이 있습니까? 아니면 디렉토리를 VirtualBox VM에 마운트하는 또 다른 옵션이 있습니까?

편집하다:이것은 설치 결과입니다.

192.168.34.1:/Users/$me/src/states /etc/apps/state type nfs (rw,vers=3,addr=192.168.34.1)
192.168.34.1:/Users/$me/src/apps on /srv/apps type nfs (rw,vers=3,addr=192.168.34.1)

권한 변경이 "실패했습니다"라고 말하면 "작업이 허용되지 않음" 오류가 발생한다는 의미입니다.

예를 들어:

$ ls -l /srv/www
total 8
drwxrwxr-x 4 501 dialout 136 May 31 16:20 default_vhost
drwxrwxr-x 5 501 dialout 170 May 31 16:20 default_vhost_ssl
$ chown root /srv/www/*
chown: changing ownership of `/srv/www/default_vhost': Operation not permitted
chown: changing ownership of `/srv/www/default_vhost_ssl': Operation not permitted

답변1

루트만 사용할 수 있음chown. NFS 사용 여부에 관계없이 chown루트로 실행해야 합니다.

기본적으로 NFS는 로컬 루트 사용자를 원격 사용자로 매핑합니다 nobody. 이로 인해 chown사용할 수 없게 되며 서버에서 실행해야 합니다. 클라이언트 루트가 NFS 파일 시스템에 대한 루트 권한을 가질 수 있는 경우 이 no_root_squash옵션을 사용하여 파일 시스템을 내보냅니다. 즉, 서버에는 /etc/exports다음과 같은 것이 있어야 합니다.

/Users/$me/src/states 192.168.34.2(no_root_squash,async)

관련 정보