标签 autofs 下的文章

模拟的hpc环境需要用户在集群内漫游登录。

一,配置NIS服务器

此处mgmt为nis server,node1-node4为nis client,并确保 /etc/hostname的名称和/etc/hosts映射的名称一致

88023-euz44i0s1n.png

81008-pi9t0zwjkq7.png

1,配置selinux

在集群内所有机器上执行下面命令然后重启。

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

确保selinux 的状态为disabled

45231-qqgrws7s0f.png

2,关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

3,安装nis服务端软件

yum -y install ypserv rpcbind

4,配置nis域名

nisdomainname mgmt
echo "nisdomainname mgmt"  >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
echo "NISDOMAIN=mgmt" >> /etc/sysconfig/network

77634-e01yu5tzbn.png

86656-pxr4tpy11h.png

5,配置nis端口

echo 'YPSERV_ARGS="-p 1011"' >> /etc/sysconfig/network
echo 'YPPASSWDD_ARGS="--port 1012""' >> /etc/sysconfig/network

重启ypserv服务并加入开机自启

systemctl restart rpcbind
systemctl restart ypserv
systemctl restart yppasswdd
systemctl enable rpcbind
systemctl enable ypserv
systemctl enable yppasswdd

6,查看ypserv服务

rpcinfo -p localhost
rpcinfo -u localhost ypserv

68496-ssg0pw3izld.png

99203-nnkdoishrnp.png

出现以上信息,则服务端配置正常。

7,初始化ypserv数据库

/usr/lib64/yp/ypinit -m

87033-7sklnl2oule.png

输入ctrl+d,然后输入y

65390-2kw18oulxss.png

8,新建用户

新建4个用户

adduser user1
adduser user2
adduser user3
adduser user4

修改用户的密码

echo user1 | passwd --stdin user1
echo user2 | passwd --stdin user2
echo user3 | passwd --stdin user3
echo user4 | passwd --stdin user4

59317-a2ammxpfda.png
如果需要实现普通账户在其他主机免密登录,则需要如下操作:

登录普通账户,

ssh-keygen -t rsa
cd /home/user1/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

22483-n0bo1e66iu.png

8,更新NIS账户和资料库

make -C /var/yp
每次新建账号都需要执行此命令

86417-dmn3o58z1mv.png

二,配置nis客户端

1,安装nis客户端软件

yum install -y rpcbind yp-tools ypbind

2,设置nis域名

nisdomainname mgmt
echo "nisdomainname mgmt"  >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
echo "NISDOMAIN=mgmt" >> /etc/sysconfig/network

3,修改/etc/nsswitch.conf

sed -i '/passwd:/s/sss/nis/' /etc/nsswitch.conf
sed -i '/shadow:/s/sss/nis/' /etc/nsswitch.conf
sed -i '/group:/s/sss/nis/' /etc/nsswitch.conf
sed -i '/hosts:/s/dns myhostname/nis dns/' /etc/nsswitch.conf

93717-aovh5xmgnvh.png

4,配置nis认证

输入setup

48361-0d4bg8kfeyph.png

选择 Authentication configuration,然后回车

85017-zu2ar33i4gi.png

选择Use NISUse Shadow PasswordsLocal authorization is sufficient,然后选择Next

02541-kovwybiprsg.png

配置domain和server,选择OK,然后退出即可。

5,启动nis服务并加入开机自启

systemctl restart rpcbind
systemctl restart ypbind
systemctl enable rpcbind
systemctl enable ypbind

6,测试

输入yptest

53632-rn3s7dyy3u.png

出现了我们在mgmt管理节点新建的4个用户,表示nis配置正常。

7,测试登录

su - user1

41733-59d30wlz3an.png

正常登录,但是提示warning: cannot change directory to /home/user1: No such file or directory,未在node1上找到user1的home 家目录,user1的home在mgmt的/home下,如何在登录user1的的时候,home也能正常使用呢。
有两种方法:

a,把mgmt 的/home 共享,然后在node1-node4上永久挂载
b,把mgmt 的/home共享,在用户登录的时候自动挂载用户的目录

显然,第二种方法更高效,使用的时候会自动挂载,一定时间范围内不用的话,会自动卸载,下次使用再次自动挂载。

三,安装配置autofs

1,安装autofs

yum install -y autofs

2,编辑/etc/autofs配置文件

vi /etc/auto.master

添加以下一行

/home   /etc/auto.nfs --timeout=60

autofs 的配置文件有三部分
第一部分/home 表示挂载点为/home,第二部分指定该挂接点的配置文件为/etc/auto.nfs,第三部分指定所挂接的文件系统在空闲60秒后自动被卸载。

vi /etc/auto.nfs

编辑如下

*   -fstype=nfs mgmt:/home/&

*是什么,&就是什么,后向引用,比如,把user1的家目录/user1挂载到/home/user1

07203-xi7vtp5x6u.png

3,开启autofs服务并加入开机自启

systemctl start autofs
systemctl enable autofs

4,测试用户登录

测试之前先df -h 以下

07277-16ggo7fryk3.png

su - user1

75748-j5ije4eu1rk.png

df -h

76776-mvfpu299o5h.png

su - user2

82192-mg1p8f60zsc.png

df -h 自动挂载了user2的目录。

登录四个用户以后

47163-lzykux8olh.png

可以看到自动挂载了4个用户的目录,60秒内,账户不活动的话,会自动卸载。