
Linumx 컴퓨터끼리 저장 공간을 공유할 수 있도록 해 주는 시스템이다.
네트워크상 공유되고 있는 서버의 디렉토리를 클라이언트가 마운트 하여 클라이언트에서 간단하게 사용 가능.

목표
1. Server를 NFS 서버로 구축, Client 및 winClient를 NFS 클라이언트로 구축.
-- Server 설정 --
sudo apt update
sudo apt install nfs-kernel-server
sudo mkdir -p /home/nfs_server
sudo chown -R nobody:nogroup /home/nfs_server
-- rw, ro: 읽기/쓰기, 읽기 전용
-- sync: 변경사항 발생 시 동기적 저장 및 처리
-- async: 데이터의 변경에 대해 비동기적 처리
-- root_squatsh: 클라이언트의 root 사용자를 root가 아닌 서버의 nobody 유저의 권한으로 처리. 쓰기작업 시 클라이언트 root로 작업해도 nobody로 작업된다. 기본값.
-- no_root_squatsh: 클라이언트의 root 사용자를 root 그대로의 권한을 인정해줌. 클라이언트가 생성한 파일의 소유자가 root로 작성된다.(root 권한으로 작성된 파일은 보안에 민감할 수 있다.)
-- all_squash: 모든 클라이언트 사용자를 nobody 유저로 매핑시킨다. 클라이언트는 root 권한이 없이 작업하고 이는 nobody 유저의 작업으로 된다.
-- no_all_squash: 공유된 디렉토리의 사용자(서버)와 클라이언트의 사용자가 일치해야한다. uid와 gid가 일치하면 쓰기작업을 할 수 있다.
-- no_subtree_check: 클라이언트가 작업한 내용에 대해 무결성 검사를 하는 하위 트리 검사를 수행하지 않는다.
sudo vi /etc/exports

sudo exportfs
sudo systemctl restart nfs-kernel-server.service
------ Clinet 설정 ---
sudo apt update
sudo apt install nfs-common
showmount -e 서버아이피
sudo mkdir /home/nfs_client
sudo mount 서버아이피:/home/nfs_server /home/nfs_client
sudo mount 서버아이피:/home/nfs_server /home/nfs_client