賬號服務器使用autofs自動掛載NFS共享的家目錄
- 兩臺主機,一臺提供用戶賬號信息,一臺主機通過NFS共享提供家目錄
- 用戶賬號服務器 192.168.198.130
- NFS服務器 192.168.198.10
NFS服務器共享家目錄
[root@danran ~]# setenforce 0
[root@danran ~]# iptables -F
[root@danran ~]# mkdir /app/homedir/user{1,2} -p
[root@danran ~]# tree /app/homedir/
/app/homedir/
├── user1
└── user2
為了使用戶服務器上的用戶有權限訪問NFS上的對應家目錄,故在NFS服務器上創建與用戶服務器上相同的用戶且用戶UID一致,家目錄為/app/homedir,則遠程用戶就可以跟本地用戶對家目錄擁有相同的權限
[root@danran homedir]# useradd -u 2000 -d /app/homedir/user1 -s /sbin/nologin user1 \\用戶user1的UID等同于用戶服務器上user1用戶的UID
[root@danran homedir]# useradd -u 2001 -d /app/homedir/user2 -s /sbin/nologin user2 \\用戶user2的UID等同于用戶服務器上user2用戶的UID
[root@danran homedir]# ll
total 0
drwx------. 3 user1 user1 78 Aug 12 19:52 user1
drwx------. 3 user2 user2 78 Aug 12 19:51 user2
[root@danran homedir]# vim /etc/exports
/app/homedir 192.168.198.130(rw) \\將/app/homedir目錄以只讀的方式共享給192.168.198.130主機訪問
[root@danran homedir]# systemctl restart nfs-server
[root@danran user1]# touch user1 \\在user1目錄下創建user1文件
[root@danran user2]# touch user2 \\在user2目錄下創建user2文件
用戶服務器 192.168.198.130
[root@danran ~]# showmount -e 192.168.198.10 \\查看192.168.198.130共享的目錄
Export list for 192.168.198.10:
/app/homedir 192.168.198.130[root@danran ~]# useradd -u 2000 user1 \\創建UID 2000的user1用戶
[root@danran ~]# useradd -u 2001 user2 \\創建UID為2001的user2用戶
實驗自動掛載NFS家目錄
[root@danran ~]# yum -y install autofs
[root@danran ~]# vim /etc/auto.master \\子配置文件定義為/etc/nfsauto.misc,為避免影響原有/home目錄下的其他本地用戶使用家目錄,故使用絕對路徑定義
/- /etc/nfsauto.misc
[root@danran ~]# vim /etc/nfsauto.misc
/home/user1 -fstype=nfs,vers=3 192.168.198.10:/app/homedir/user1 \\將192.168.198.10主機的/app/homedir/user1目錄以NFS類型掛載,版本指定為3掛載到本地的/home/user1目錄
/home/user2 -fstype=nfs,vers=3 192.168.198.10:/app/homedir/user2 \\將192.168.198.10主機的/app/homedir/user2目錄以NFS類型掛載,版本指定為3掛載到本地的/home/user2目錄
[root@danran ~]# systemctl restart autofs \\重新啟動autofs
切換user1、user2用戶測試掛載家目錄是否成功
切換user1用戶
[root@danran ~]# su - user1
[user1@danran ~]$ ls
user1
切換user2用戶
[root@danran ~]# su - user2
[user2@danran ~]$ ls
user2
實現NFS偽根掛載
- NFS服務器 192.168.198.10
- 客戶掛載服務器 192.168.198.130
NFS服務器 192.168.198.10
[root@danran ~]# mkdir /app/{read,write} \\創建共享目錄
[root@danran ~]# ls /app/
homedir read write
[root@danran ~]# vim /etc/exports
/app/ 192.168.198.130(rw,fsid=0,crossmnt) \\共享NFS偽根目錄為/app
/app/read 192.168.198.130(ro) //只讀方式共享
/app/write 192.168.198.130(rw)共享 \\讀寫方式
[root@danran ~]# exportfs -r
[root@danran ~]# exportfs -v
/app 192.168.198.130(rw,wdelay,crossmnt,root_squash,no_subtree_check,fsid=0,sec=sys,rw,secure,root_squash,no_all_squash)
/app/read 192.168.198.130(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/app/write 192.168.198.130(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash
授予遠程用戶對共享目錄的權限
因為沒有設置特性遠程用戶映射,故所有的遠程用戶都自動映射為了nfsnobody匿名用戶,故添加nfsnobody用戶對共享目錄的寫權限
[root@danran ~]# setfacl -m u:nfsnobody:rwx /app/write
客戶端掛載NFS共享目錄
[root@danran ~]# mkdir /app/nfsdir
掛載共享的根目錄/app
[root@danran app]# mount 192.168.198.10:/ /app/nfsdir
[root@danran app]# cd /app/nfsdir
[root@danran nfsdir]# ls
homedir q read write
[root@danran nfsdir]# cd write/
[root@danran write]# touch danran
[root@danran write]# cd ../read/
[root@danran read]# touch danran
touch: cannot touch ‘danran’: Permission denied