정보보안공부

Linux_리눅스 NFS 본문

Linux

Linux_리눅스 NFS

Steady_sp 2018. 7. 24. 23:30

리눅스 NFS

- 오라클 가상 머신 사용

- CentOS7

 

<NFS>

 

#1 NFS ( Network File System )

- 원격서버에서 파일시스템 마운트할때 사용하는 시스템(Network File System)

 

#2 서버 <-> 클라이언트 nfs 사용과정 확인해보기

- 서버의 IP : 1.0.0.100

- 클라이언트의 IP : 1.0.0.110

 

*** 설치 ( 서버, 클라이언트 )

 

 

*** 서버에서 설정사항 -> ro, rw권한

- 설정 파일 : /etc/exports

 

 

-> 클라이언트와 마운트할 디렉토리와 디렉토리안에 파일 생성

 

- /etc/exports에 설정하기

 

/etc/exports 디렉토리안에 설정하려는 내용작성

<공유할 디렉터리_path> <access_allow_host/network>(option)

 

access_allow_host/network  ->  접속을 허용할 IP 지정
*    모든 IP
100.100.100.110   해당 IP만 허용
100.100.100.0/255.255.255.0   해당 Network대역대만 허용

 

option
ro   읽기 전용
rw   읽고 쓰기 가능
sync   동기화
no_root_squash  접근한 사용자 = root
root_squash  접근한 사용자 = nfsnobody(익명)    ->
기본값으로 설정되어있다. 

 

 

==> /etc/exports 파일을 작성또는 설정을 변경하면 반드시 nfs서비스를 재시작 해야한다.

==> 시작은 아래나와있다. 재시작은 systemctl restart nfs 이다.

 

- 서비스시작

 

 

- 방화벽 설정

 

 

 

 

==> 서버에서 서버로 접속하는 클라이언트중 nfs관련 서비스를 방화벽에서 허용해야 클라이언트가 방화벽을 통과할 수 있다.

 

*** 클라이언트에서 마운트 시도

- mount -t nfs <server_ip>:<dir_path> <mount_point>

 

 

-> 마운트할 디렉토리 /nfs_share , /nfs_test 생성

-> 서버설정에서 1.0.0.101만 허용한다고 되있기 때문에 마운트가 거부된다.

-> 클라이언트 IP는 1.0.0.110이다

==> mount 옵션 -t nfs 를 사용하고 접근하려는 서버의IP 1.0.0.100와 접근하려는 디렉토리사이는 : 을 사용한다.

 

*** 서버 재설정

- 클라이언트의 IP는 1.0.0.110 이므로 /etc/exports 파일을 수정한다.

 

 

*** 클라이언트에서 마운트 시도

 

 

-> 마운트확인

 

*** 마운트이후 클라이언트에서 마운트파일에 파일생성해보기

 

 

-> 읽기전용 파일 시스템 : 서버에서 /share 파일에 설정이 ro로 되있어서 거부된다. 

-> 허가거부 : /test/nfs 파일에 설정이 rw 되있어서 파일을 만들순 있지만 클라이언트가 파일을 만들때 nfsnobody사용자로 인식하기 때문에 권한을 변경해야한다.

==> 읽기전용 파일 시스템 메세지와 허가 거부 메세지의 차이를 구분해야한다.

 

*** 서버에서 nfsnobody 권한 변경

- 클라이언트에서 nfs를 이용해 마운트하는 사용자는 nfsnobody사용자로 부여되기 때문에 해당 사용자의 권한을 변경해야 클라이언트에서 읽거나 쓰기작업을 할 수 있다.

 

 

=> nfsnobody사용자에게 rwx권한을 부여

 

*** 클라이언트에서 다시 마운트파일에 파일생성해보기

 

 

=> 파일을 생성하면 해당 파일의 소유자는 nfsnobody사용자로 되어있다. 서버에서 nfsnobody사용자에 권한을 부여했기 떄문에 가능하다.

 

*** 서버에서 nfs설정 -> no_root_squash로

- 설정 파일 : /etc/exports

 

 

=> no_root_squash : 클라이언트가 서버에 접근할때 해당사용자가 root사용자로 매핑이된다. ( root사용자로 접근 )

=> root_squash : 입력하지 않아도 기본으로 적용되어있다. 서버에 접근시 해당사용자는 nfsnobody사용자로 매핑이 된다.

 

*** 설정사항 변경후 서비스 재시작

 

 

*** 클라이언트에서 파일 만들어보기 root와 , nfsnobody차이

 

 

=> 서버에 no_root_squash 설정이 되어있으면 클라이언트가 파일을 만들때 root사용자로 된다.

 

*** 자동 마운트 등록

- 설정 파일 : /etc/fstab

 

 

*** 클라이언트에서 재부팅후에 자동 마운트 확인

 

 

==> 클라이언트에서 reboot입력후 재부팅후 로그인 했을때 자동으로 마운트 되어있는지 확인해보면 자동으로 마운트 되어있다.

==> 서버로 nfs 마운트 하기 때문에 서버는 항상 켜져있어야한다. 서버와 같이 재부팅하면 마운트가 끊어진다.

'Linux' 카테고리의 다른 글

Linux_리눅스 FTP  (0) 2018.07.31
Linux_리눅스 SAMBA  (0) 2018.07.26
Linux_리눅스 방화벽(firewall)  (0) 2018.07.23
Linux_리눅스 sudo  (0) 2018.07.22
Linux_리눅스 ACL  (0) 2018.07.21
Comments