데몬: /usr/sbin/exportfs
관리 스크립트: /usr/lib/systemd/system/nfs.service
환경 설정 파일: /etc/exports
[NFS 접속 실습]
1) 그룹 및 계정 생성
그룹 생성
그룹명: nfstest gid: 1000
# groupadd –g 1000 nfstest
계정 생성
계정1: uid가 같은 계정
양측 모두 st01
계정명: st01 uid: 1001 gid: 1000
# useradd –g 1000 –u 1001 st01
계정2: uid가 다른 계정
192.168.11.13 측 st02
계정명: st02 uid: 1002 gid: 1000
# useradd –g 1000 –u 1002 st02
192.168.11.15 측 st02
계정명: st02 uid: 1020 gid: 1000
# useradd –g 1000 –u 1020 st02
2) 실습에 필요한 디렉터리 생성
11.13, 11.15 양쪽에 a1 ~ a8 디렉터리를 생성한다.
실습이 용이하도록 디렉터리 이름을 통일해준다.
3) 11.13에서 NFS 환경 설정 파일 수정
# vi /etc/exports
** 해당 파일 수정 후 NFS 서비스를 반드시 재시작해준다.
# systemctl restart nfs.service
4) 각 사용자의 디렉터리를 client에서 마운트한다.
5) 각 디레터리를 other이 write 권한을 실행할 수 있도록 권한을 준다.
# chmod o+w /home/a* 혹은 chmod 777 /home/a*
5-1) 디렉터리 a1 : rw, no_root_squash
클라이언트의 root와 서버의 root를 일치시킨다.
* 기본 유저의 Default는 no_all_squash이기 때문에 서버의 사용자와 일치된다.
5-2) 디렉터리 a2 : rw, all_squash
모든 사용자를 nobody로 매핑한다.
5-3) 디렉터리 a3 : rw, no_all_squash
서버의 사용자와 클라이언트의 사용자를 일치시킨다.
* root의 Default는 root_squash이기 때문에 클라이언트의 root가 nobody로 매핑된다.
5-4) 디렉터리 a4 : rw, all_squash, root_squash
모든 사용자를 nobody로 매핑한다. + 클라이언트의 root를 nobody로 매핑한다.
→ root를 포함한 모든 사용자를 nobody로 매핑한다.
5-5) 디렉터리 a5 : rw, all_squash, no_root_squash
모든 사용자를 nobody로 매핑한다. + 클라이언트의 root와 서버의 root를 일치시킨다.
*** 중첩됐을 때 squash하라는 것이 우선되기 때문에 root를 포함한 모든 사용자가 nobody로 매핑된다.
5-6) 디렉터리 a6 : rw, no_all_squash, root_squash
서버의 사용자와 클라이언트의 사용자를 일치시킨다. + 클라이언트의 root를 nobody로 매핑한다.
5-7) 디렉터리 a7 : rw, no_all_squash, no_root_squash
서버의 사용자와 클라이언트의 사용자를 일치시킨다. + 클라이언트의 root와 서버의 root를 일치시킨다.
5-8) 디렉터리 a8 : rw, anonuid=4444, anongid=4444
nobody로 매핑 될 경우, 계정과 그룹을 지정한다.
[Server]
[Client]
*** 참고
일반 유저 | root | |
Default | no_all_squash | root_squash |
설정 | all_squash | no_root_squash |
'인프라 7기 > Linux' 카테고리의 다른 글
Linux Server : SSH 서버 (0) | 2023.04.21 |
---|---|
Linux Server : Samba Server 구축 (0) | 2023.04.20 |
Linux Server : Apache 2.2.34 웹 서버 (0) | 2023.04.18 |
Linux Server : 다중 DNS 서버 구현 (0) | 2023.03.03 |
DNS 서버 Zone 파일 (0) | 2023.03.03 |