題目 配置NFS服務 & 掛載一個NFS共享
配置NFS服務 在server0配置NFS服務,要求如下:
- 以只讀的形式共享目錄/public同時只能被example.com域中的系統訪問。
- 以讀寫的形式共享目錄/protected同時只能被example.com域中的系統訪問。
- 訪問/protected需要通過Kerberos安全加密,您可以使用下面提供的密鑰:
-http://classroom.example.com/pub/keytabs/server0.keytab
- 目錄/protected應該包含名爲project擁有人爲ldapuser0的子目錄
- 用戶ldapuser0能以讀寫形式訪問/protected/project
掛載一個NFS共享 在desktop0上掛載一個來自server0上的NFS共享,並符合下列要求:
- /pulbic共享掛載到本地的/mnt/nfsmount。
- /protected掛載到本地的/mnt/nfssecure,並使用安全的方式,密鑰下載地址:
-http://classroom.example.com/pub/keytabs/desktop0.keytab
- 用戶ldapuser0能夠在/mnt/nfssecure/project上創建文件。
- 這些文件系統在系統啓動時自動掛載。
操作
環境已經配置好kerberos和ldap。如果沒有自己下載
authconfig*
sssd
krb5-workstation*
進行配置。
在server0上配置NFS服務
創建目錄
[root@server0 ~]# mkdir /public [root@server0 ~]# mkdir -p /protected/project
修改目錄權限,protected需要有讀寫權限,project需要修改擁有人身份
[root@server0 ~]# chmod o+w /protected/ -R [root@server0 ~]# chown ldapuser0 /protected/project/
下載kerberos證書到
/etc/krb5.keytab
[root@server0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab
vim /etc/exports
修改文件,增加共享信息。/public 172.25.0.0/24(ro) #要共享的目錄 允許訪問的ip段 參數 /protected 172.25.0.0/24(rw,sec=krb5p)
常用的NFS共享參數
參數 | 描述 |
---|---|
ro | 只讀 |
rw | 可讀寫 |
root_squash | root權限壓縮成nobody |
no_root_squash | root權限不壓縮 比較危險 |
all_squash | 所有用戶權限壓縮成nobody |
insecure | 允許非授權訪問 |
sync | 同步寫入硬盤 |
kerberos參數
參數 | 描述 |
---|---|
krb5 | 使用kerberos認證 |
krb5i | 使用kerberos認證,並校驗數據完整性 |
krb5p | 使用kerberos認證,並加密數據 |
- 啓動NFS相關服務,並設置開機啓動 nfs-server
和 nfs-secure-server
“`
[root@server0 ~]# systemctl restart nfs-server nfs-secure-server
[root@server0 ~]# systemctl enable nfs-server nfs-secure-server
“`
如果沒有下載kerberos證書,或者下載不正確,是不能正常啓動nfs-secure-server
的
- 配置防火牆 允許相關服務
nfs
、rpc-bind
和mountd
[root@server0 ~]# firewall-cmd --permanent --add-service=nfs
[root@server0 ~]# firewall-cmd --permanent --add-service=rpc-bind
[root@server0 ~]# firewall-cmd --permanent --add-service=mountd
[root@server0 ~]# firewall-cmd --reload
配置到這裏就完成了。如果想要查看輸出的共享信息,可以使用 exportfs -v
查看
[root@server0 ~]# exportfs -v
/public 172.25.0.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/protected 172.25.0.0/24(rw,wdelay,root_squash,no_subtree_check,sec=krb5p,rw,secure,root_squash,no_all_squash)
如果你修改了/etc/exports
配置,不想重啓服務又想立即生效,可以使用 exportfs -arv
exportfs參數
參數 | 描述 |
---|---|
a | 所有共享 |
u | umount共享 |
r | remount共享 |
v | 輸出信息 |
配置desktop0 掛載NFS共享
可以先
showmount
查看一下server0的共享。如果沒有,返回檢查server0.
[root@desktop0 ~]# showmount -e server0
Export list for server0:
/protected 172.25.0.0/24
/public 172.25.0.0/24
建立相應的掛載點
/mnt/nfsmount
、/mnt/nfssecure
[root@desktop0 ~]# mkdir /mnt/nfsmount [root@desktop0 ~]# mkdir /mnt/nfssecure
下載kerberos證書到
/etc/krb5.keytab
[root@desktop0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab
啓動相關服務並設置開機啓動
[root@desktop0 ~]# systemctl restart nfs-secure [root@desktop0 ~]# systemctl enable nfs-secure
vim /etc/fstab
使得開機能自動掛載172.25.0.11:/public /mnt/nfsmount nfs defaults 0 0 172.25.0.11:/protected /mnt/nfssecure nfs defaults 0 0
mount -a
掛載所有選項[root@desktop0 ~]# mount -a
檢查
可以df -Th
查看是否有成功掛載
[root@desktop0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.1G 7.0G 31% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 80K 921M 1% /dev/shm
tmpfs tmpfs 921M 17M 904M 2% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
tmpfs tmpfs 921M 17M 904M 2% /run/netns
172.25.0.11:/public nfs4 10G 3.1G 7.0G 31% /mnt/nfsmount
172.25.0.11:/protected nfs 10G 3.1G 7.0G 31% /mnt/nfssecure
驗證ldapuser0用戶對project目錄寫的權限
[ldapuser0@desktop0 ~]$ cd /mnt/nfssecure/project/
[ldapuser0@desktop0 project]$ touch 11
[ldapuser0@desktop0 project]$ ll
total 0
-rw-rw-r--. 1 ldapuser0 ldapuser0 0 Jan 3 22:47 11
[ldapuser0@desktop0 project]$