最近因为工作原因练习shell脚本 ,具体原理可以参考参考文献 以下脚本的缺点是没有给出设置DOMAIN域的参数 可以在脚本中自行设置 其他的对照脚本解读即可
其实也想解释一下原理.但是本身研究不深,而且也没有踩很多坑,就没有必要写太多了
执行脚本前:
1.本地源配置
2.host配置完成
3.防火墙已关闭
NISmaster节点上执行(主服务器)
#!/bin/bash read -p "请输入允许访问的IP段格式为IP " ip read -p "请输入子网掩码" netmask read -p "请输入添加的从服务器hostname(确保已完成IP-host映射)" hostname yum install -y ypserv rpcbind yp-tools ypbind #设置domain域 echo "NISDOMAIN=eda.com" >> /etc/sysconfig/network nisdomainname eda.com #设置客户端的访问权限即哪些客户端可以访问服务器 echo "$ip/$netmask : * : * : none" >> /etc/ypserv.conf sed -ri "/^NOPUSH=/c NOPUSH=false" /var/yp/Makefile echo "255.255.255.255 127.0.0.1" >> /var/yp/securenets echo "$netmask $ip" >> /var/yp/securenets #启动服务 systemctl start ypbind.service systemctl start ypxfrd.service systemctl start ypserv.service systemctl start yppasswdd.service systemctl enable ypserv yppasswdd ypbind ypxfrd #创建数据库 并且添加服务器与从服务器 /bin/expect<<-EOF spawn /usr/lib64/yp/ypinit -m expect {
"next host to add: " {
send "$hostname\r" ; send "\04" ; exp_continue } "y/n: y" {
send "y\r"} } expect eof EOF
讯享网
NISSSlave执行(从服务器)
讯享网#!/bin/bash read -p "请输入允许访问的IP段格式为IP " ip read -p "请输入子网掩码" netmask read -p "请输入同步的主服务器hostname(确保已完成IP-host映射)" hostname yum install -y ypserv rpcbind yp-tools ypbind #设置domain域 echo "NISDOMAIN=eda.com" >> /etc/sysconfig/network nisdomainname eda.com #设置访问权限 echo "$ip/$netmask : * : * : none" >> /etc/ypserv.conf sed -ri "/^NOPUSH=/c NOPUSH=false" /var/yp/Makefile echo "255.255.255.255 127.0.0.1" >> /var/yp/securenets echo "$netmask $ip" >> /var/yp/securenets systemctl start ypbind.service systemctl start ypserv.service systemctl start yppasswdd.service systemctl start ypxfrd.service systemctl enable ypserv ypxfrd yppasswdd ypbind #同步数据库数据 /usr/lib64/yp/ypinit -s $hostname
NISClient执行
#!/bin/bash read -p "请输入主hostname: " hostname read -p "请输入从hostname: " chostname yum install -y ypbind yp-tools echo "NISDOMAIN=eda.com" >> /etc/sysconfig/network nisdomainname eda.com #设置客户端的访问方式与访问对象 authconfig --enablenis --nisdomain=eda.com --nisserver=$hostname,$chostname --enablemkhomedir --update systemctl start ypbind.service systemctl enable ypbind.service
参考博客与原理
https://www.cnblogs.com/liwanliangblog/p/17800679.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/59082.html