320x100
320x100

NFS (Network File System)
: TCP/IP 네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트하여 사용할 수 있도록 해주는 시스템
: RPC (Remote Procedure Call) 기반으로 작동
: 사용이 편리한 대신 보안이 취약

- RPC (Remote Procedure Call)
: 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게하는 프로세스 간 통신 기술





NFS 관련 명령어
- rpcinfo
- exportfs
- showmount
- nfsstat





rpcinfo
: rpc 관련 정보 출력 

- 형식
: rpcinfo [option] [host]

- 주요 옵션
: -p
 > 등록된 rpc 프로그램의 정보  출력
: -s
 > 관련 정보를 간결하게 출력

 
 
 

exportfs
: NFS 서버에 export된 디렉터리 관리

- 형식
: exportfs [option] [host]

- 주요 옵션
: -v
 > 자세히 출력
: -r
 > /etc/exports 내용 다시 읽기
: -a
 > export 된 모든 디렉터리 호출
: -u
 > export된 하나 이상의 디렉터리 해제
 
 
 
 
 
showmount
: NFS 서버의 마운트 관련 정보 출력. NFS 클라이언트에서 NFS 서버에 export된 정보 확인

- 형식
: showmount [option] [host]

- 주요 옵션
: -a (--all)
 > 호스트명:디렉터리 형태로 출력
: -e [host] (--exports)
 > export 된 리스트 출력
: -d (--directories)
 > NFS 클라이언트에 의해 마운트된 디렉터리 목록 출력
 
 
 
 
nfsstat
: NFS 관련 상태 정보 출력. 서버와 클라이언트에서 모두 사용 가능

- 형식
: nfsstat [option]

- 주요 옵션
: -c (--client)
 > NFS 클라이언트 관련 정보 출력
: -s (--server) 
 > NFS 서버 관련 정보 출력
 
 
 
 
 
NFS 관련 파일
- /etc/exports
- /etc/rc.d/init.d/rpcbind
- /etc/rc.d/init.d/nfs
- /etc/fstab





/etc/exports
: NFS 환경설정 파일. 서버에 대한 접근 제어

- 형식
directory host(option) [host(option)]
: 허가할 host는 tab 단위로 띄어서 구분

- 주요 옵션
: ro
 > 읽기 전용 (기본값)
: rw
 > 읽기 및 쓰기
: root_squash
 > 클라이언트의 root 사용자 무시 후 nobody 사용자로 매핑
: no_root_squash
 > 클라이언트의 root 사용자 인정
: no_subtree_check
 > 하위 디렉터리 검사 불가 설정
: all_squash
 > root을 포함한 모든 사용자를 nobody로 매핑
: secure
 > 포트번호가 1024 이하일 경우에만 허가 (기본값). 반대는 insecure
: sync
 > 변경 사항이 안정적으로 저장된 경우에만 요청에 응답. (기본값)
: async
 > 데이터 변경에 대해 비동기적으로 처리
: anonuid
 > 접근하는 사용자 권한을 지정한 uid로 매핑
: anongid
 > 접근하는 그룹 권한을 지정한 gid로 매핑
 
- 예시
```
/nfs/data1 192.168.10.3
/nfs/data2 192.168.5.0/255.255.255.0(rw, root_squash)
/nfs/data3 2mukee(rw,all_squash,anonuid=512)
```





/etc/rc.d/init.d/rpcbind
: rpc 데몬 스크립트





/etc/rc.d/init.d/nfs
: NFS 서버 데몬 스크립트





/etc/fstab
: NFS 클라이언트에서 NFS 마운트를 설정





NFS 서버 설정
1) 패키지 설치
- yum install rpcbind, nfs-utils
: rpcbind 
 > RPC 기반 연결을 위해 필요한 패키지. rpcbind, rpcinfo 포함
: nfs_utils
 > NFS 서버 관련 패키지. 데몬 및 명령어 포함
 
2) 공유 디렉터리 생성 및 권한 설정
- mkdir /nfs/data1
- chmod 1777 /nfs/data1
 
3) /etc/export 파일 설정
- vim /etc/export
```
/nfs/data1 2mukee(rw,all_squash,anonuid=512)
```

3) 데몬 실행
- service rpcbind start
- service nfs start

4) 데몬 동작 확인
- ps aux | grep nfs





NFS 클라이언트 설정
1) NFS 서버의 파일 시스템 마운트
- mount -t nfs 192.168.10.1:/nfs/data1 /data1

2) 마운트 정보 확인
- mount | grep nfs

3) 공유 디렉터리 내에 파일 혹은 디렉터리 생성
- mkdir /data1/test

4) /etc/fstab 파일에 등록
- vim /etc/fstab
```
192.168.10.1:/nfs/data1 /data1 nfs timeo=15,soft,retrans=3 0 0
```
: 내용 추가

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90