파일 시스템을 마운트하고 싶습니다 NFS
. 어떻게 할 수 있나요?user/group ownership
<admin>
mkdir /cert
chown admin.admin /cert
mount -t nfs 192.168.2.149:/portalweb /cert/
답변1
admin 사용자 및 그룹이 nfs 클라이언트에 존재한다고 가정하고 NFS 서버에서 비대화형 셸을 사용하여 사용자 및 그룹 admin을 생성합니다. 비대화형 셸 옵션은 NFS 클라이언트 관리자가 NFS 서버에 액세스하는 것을 방지합니다. nfs가 서버의 uid와 gid를 클라이언트에 매핑하기 때문에 작동합니다. 따라서 관리 사용자와 그룹의 uid와 gid가 서버와 클라이언트 간에 일치하는 한 내보내기 디렉터리에 할당된 모든 파일 권한은 변경되지 않습니다. ACL은 nfsv3 관련 옵션입니다.
클라이언트 시스템의 admin uid 및 gid(기본)를 기록하고 이를 사용하여 NFS 서버에 계정을 생성합니다. 예를 들어, 클라이언트 컴퓨터에 있는 관리자의 uid|gid = 502
NFS 서버:
루트 사용자로서:
useradd -u 502 -s /sbin/nologin admin
mkdir /portalweb
chmod 770 /portalweb
chown admin /portalweb
chgrp admin /portalweb
ls -ld /portalweb
getfacl /portalweb
/portalweb 디렉토리에 setgid 비트를 배치하여 관리자 그룹 구성원 간의 협업을 허용할 수 있습니다.
vim /etc/exports
/portalweb 192.168.2.149(ro,sync,root_squash)
:wq
exportfs -rv
NFS 클라이언트:
루트 사용자로서:
mkdir /cert
vim /etc/fstab
192.168.2.149:/portalweb /cert nfs ro,nfsvers=4 0 0
:wq
mount -a
df -h -F nfs
mount | grep nfs
192.168.1.71:/exports on /cert type nfs (r0,nfsvers=4,addr=192.168.2.49,clientaddr=192.168.2.50)
루트가 사용자 및 그룹 "nobody"로 압축되었기 때문에 루트 사용자는 /cert의 파일에 액세스할 수 없습니다(NFS 서버의 /etc/exports 참조). 그러나 기본적으로 루트에는 클라이언트 컴퓨터에 NFS 내보내기를 마운트할 수 있는 권한이 있습니다. autofs 서비스 사용을 선호하는 경우 일반 사용자(예: admin)는 sudo 사용자와 같은 특수 관리자 권한을 부여받지 않는 한 autofs 서비스를 사용하여 NFS 디렉토리가 자동으로 마운트되도록 설정할 수 있는 권한이 없습니다.
ls -ld /cert
drwxrwx---. 12 admin admin 4096 Dec 10 /cert
ls /cert
ls: cannot open directory /cert: Permission denied
su - admin
admin 사용자로서(admin 사용자(또는 클라이언트와 서버 간의 uid 일치가 올바르게 구성된 경우 admin 그룹)만 /cert 콘텐츠에 액세스할 수 있습니다):
ls /cert
다른 사용자와 마찬가지로:
ls /cert
ls: cannot open directory /cert: Permission denied