2020. 4. 22.

[Linux] NFS 실습 정리


155번 pc에 NFS 서버를 올려서 152번 클라이언트에서 사용할것이다.

일단 서버부터 설정한다.

yum list nfs-utils

base 
extra s 
updates 
Package rpcbind 
Nothing to do 
Croot@155 
login as: 
root@192.168.Ia.155's password: 
Last login: Tue Apr 21 16:27:47 2ø2ø from 192.168.1ø.151 
Croot@155 yum list nfs-utils 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
updates: ftp.kaist.ac.kr 
-e.2.Ø-48.e17 
* base: ftp.kaist.ac.kr 
* extras: ftp.kaist.ac.kr 
updates: ftp.kaist.ac.kr 
Installed Packages 
nfs-utils .x86 64 
1:1.3.ø-ø.65.e17 
@anaconda 
Croot@155 # rpm -qa grep rpcbind 
Croot@155 yum install -y rpcbind 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
* base: ftp.kaist.ac.kr 
* extras: ftp.kaist.ac.kr 
. X86 
64 
a I ready 
installed 
3.6 ka 
2.9 ka 
2.9 ka 
and latest version

관련 파일
데몬 : /usr/sbin/exportfs
/usr/sbin/rpcbind
관리 스크립트 : /usr/lib/systemd/system/nfs.service
/usr/lib/systemd/system/rpcbind.service
환경 설정 파일 : /etc/exports
이전 버전은 portmap을 이용한다. (rpcbind 대신에)

ntsysv

ntsysv I. 
7.4 
(C) 2aaa-2aa1 Red Hat, 
Inc. 
ndctl -monitor. sen•ice 
netcf-transaction . service 
nfs-blkmap. service 
nfs-rquotad . service 
nfs-setwer. service 
nfs . service 
ntpd . service 
nt date. sem,'ice

nfs-server.service
nfs.service

체크한 저장

systemctl restart network
systemctl start rpcbind
systemctl start nfs-server
systemctl start rpc-statd
systemctl enable rpcbind
systemctl enable nfs-server
systemctl status nfs-server


vi /etc/exports

/home/a1 192.168.10.152(rw,no_root_squash)
/home/a2 192.168.10.152(rw,all_squash)
/home/a3 192.168.10.152(rw,no_all_squash)
/home/a4 192.168.10.152(rw,all_squash,root_squash)
/home/a5 192.168.10.152(rw,all_squash,no_root_squash)
/home/a6 192.168.10.152(rw,no_all_squash,root_squash)
/home/a7 192.168.10.152(rw,no_all_squash,no_root_squash)
/home/a8 192.168.10.152(rw,anonuid=##,anongid=##)




adduser -p 1000 a1
adduser -p 1001 a2
확인은 cat /etc/passwd
이런식으로 호스트와 서버의 ID PID 매핑시켜준다
그리고 실습을 위해 권한을 주어야 한다.
chmod 777 -R /home


클라이언트 서버에서 마운트를 진행한다.

mount -t nfs 192.168.10.155:/home/a1 /home/a1
mount -t nfs 192.168.10.155:/home/a2 /home/a2
mount -t nfs 192.168.10.155:/home/a3 /home/a3
mount -t nfs 192.168.10.155:/home/a4 /home/a4
mount -t nfs 192.168.10.155:/home/a5 /home/a5
mount -t nfs 192.168.10.155:/home/a6 /home/a6
mount -t nfs 192.168.10.155:/home/a7 /home/a7



df -h

이제 각자 계정으로 들어가서 작업을 해본다.

a1
/home/a1 192.168.10.152(rw,no_root_squash)
읽고 쓰는 권한을 주고 클라이언트와 서버의 root 일치 시킨다.
root 들어가서 만들면 NFS 서버의 root 권한으로 만들어진다.


a2
/home/a2 192.168.10.152(rw,all_squash)
모든 사용자를 nobody 매핑했으므로 root 들어가도 소유자가 nobody이다.


a3
/home/a3 192.168.10.152(rw,no_all_squash)
루트 사용자로 들어가도 root 원래 기본적으로 매핑이 불가능하다.

a4
/home/a4 192.168.10.152(rw,all_squash,root_squash)
모든 사용자를 nobody 매핑하고 root또한 nobody 매핑

a5
/home/a5 192.168.10.152(rw,all_squash,no_root_squash)
모든 사용자는 nobody, 클라이언트 root nobody 매핑

a6
/home/a6 192.168.10.152(rw,no_all_squash,root_squash)
서버사용자, 클라이언트 사용자 일치, root nobody 매핑



댓글 없음:

댓글 쓰기