최근에 홈 서버 설정을 모든 것을 실행하는 기본 Ubuntu 서버 설치에서 가상화된 환경으로 변경했습니다. 저는 현재 ProxMox 유형 1 하이퍼바이저와 여러 가상 머신을 실행하고 있습니다. 내 서비스의 대부분은 Linux 컨테이너(LXC)에서 실행되며 일부 서비스에는 공유 데이터 세트에 대한 액세스가 필요합니다. 공유 데이터 세트에 대한 액세스를 제공하기 위해 데이터 HDD를 VM에 전달한 다음 NFS 내보내기를 설정합니다. 그런 다음 LXC는 NFS 공유를 마운트합니다. 하지만 다른 서비스에서 사용자 권한 오류가 자주 발생합니다. 모든 것을 777`로 설정하지 않고 여러 LXC에 대한 이러한 권한을 어떻게 쉽게 관리할 수 있습니까?
고쳐 쓰다
내보내기 예:
/mnt/data/www 192.168.0.0/24(rw,async,no_root_squash,no_subtree_check,insecure)
fstab에 마운트하는 예:
192.168.0.254:/mnt/data/www /mnt/www nfs auto,x-systemd.automount,soft,rsize=16384,wsize=16384,timeo=14,intr 0 0
이러한 오류는 하나의 LXC가 사용자 www-data 아래에 파일을 생성할 수 있지만 다른 LXC는 이 파일이 MySQL 소유로 표시되어 해당 파일에 액세스할 수 없기 때문에 권한 거부의 형태로 발생합니다. 이는 UID 불일치 때문이라는 것을 알고 있지만 그렇지 않습니다. 이 문제를 해결하는 방법을 모르겠습니다.
답변1
NFS v4를 사용하는 경우 UID를 매핑할 수 있습니다. 그렇지 않으면 사용자 및 그룹 ID가 모든 가상 머신에서 일관되는지 확인해야 합니다.
답변2
어떤 형태의 NFS UID 매핑이 필요합니다. 간단한 예는 NIS를 사용하거나 LDAP와 같은 보다 현대적인 것을 사용하는 것입니다. 그러면 사용자 ID는 신뢰할 수 있는 소스에서 나오고 NFS는 노드 간 권한을 올바르게 매핑합니다. 모든 노드는 동일한 인증 도메인의 구성원이어야 합니다.