apt-get install nfs-common nfs-kernel-server rpcbind
/etc/exports
/home/xyz 192.168.0.X(rw,sync,no_root_squash,no_subtree_check)
/home/123 *(rw,sync,no_root_squash,no_subtree_check)
[/경로] [허용할 IP주소. *은 모두허용](옵션들)
(IP주소와 옵션은 붙어있다. 띄어쓰기하면 기본값으로 열리니 주의)
옵션은 다음과 같은 선택지가 있음
ro : 읽기 전용
rw : 읽기 및 쓰기 가능
no_root_squash : 클라이언트쪽 root도 서버쪽 root와 같은권한가짐
no_all_squash : root이외 모든사용자에대해 UID가 같으면 같은권한을가짐
sync : 서버와 클라이언트사이에 sync를 맞춤
insecure : 인증 안되도 접속허가
서버 재시작
service nfs-kernel-server restart
service rpcbind restart
* 클라이언트 설정
apt-get install nfs-common
mount -t nfs [IP]:[서버_경로] [클라이언트_경로]
> mount -t nfs 192.168.0.2:/home/xyz /home/xyz
NFS(Network File System)를 사용하여 리눅스 간에 파일을 공유하는 방법을 설명해 드리겠습니다.
1. **NFS 서버 설정**:
- NFS 서버를 구성하기 위해 먼저 필요한 패키지를 설치해야 합니다. 대부분의 리눅스 배포판에서는 `nfs-utils` 패키지를 사용합니다. 예를 들어, Ubuntu에서는 다음 명령을 사용하여 설치할 수 있습니다.
```
sudo apt update
sudo apt install nfs-kernel-server
```
2. **공유할 디렉토리 설정**:
- NFS로 공유하려는 디렉토리를 설정합니다. 예를 들어, `/srv/nfs/share` 디렉토리를 생성하고 공유할 디렉토리로 사용합니다.
```
sudo mkdir -p /srv/nfs/share
```
3. **NFS 설정 파일 편집**:
- NFS 서버의 설정 파일인 `/etc/exports` 파일을 편집하여 공유할 디렉토리와 접근 권한을 지정합니다.
```
sudo nano /etc/exports
```
- 예를 들어, `/srv/nfs/share` 디렉토리를 모든 클라이언트에게 읽기/쓰기 권한으로 공유하려면 다음과 같이 설정합니다.
```
/srv/nfs/share *(rw,sync,no_subtree_check)
```
4. **NFS 서비스 재시작**:
- 설정을 변경했으면 NFS 서비스를 재시작하여 변경 사항을 적용합니다.
```
sudo systemctl restart nfs-kernel-server
```
5. **NFS 클라이언트 설정**:
- NFS 서버에 공유된 디렉토리를 마운트하여 클라이언트에서 사용할 수 있습니다. 클라이언트에서 마운트할 디렉토리를 생성합니다.
```
sudo mkdir -p /mnt/nfs_share
```
- 그리고 NFS 서버에서 공유한 디렉토리를 마운트합니다.
```
sudo mount <NFS_SERVER_IP>:/srv/nfs/share /mnt/nfs_share
```
6. **부팅 시 자동으로 마운트 설정** (선택 사항):
- NFS 공유를 부팅 시 자동으로 마운트하려면 `/etc/fstab` 파일에 해당 마운트 정보를 추가합니다.
```
<NFS_SERVER_IP>:/srv/nfs/share /mnt/nfs_share nfs defaults 0 0
```
이제 NFS 서버에서 공유한 디렉토리는 클라이언트에서 마운트되어 사용할 수 있습니다. 공유한 파일은 마운트된 디렉토리에 로컬 파일처럼 접근할 수 있습니다.