"小王,咱们部门现在有20多台服务器,每个同事都要在每台机器上创建账号,太麻烦了!"技术主管老张皱着眉头说,"而且项目文件分散在各台机器上,团队协作效率太低..."
如果你也遇到过这种困境,那么NIS(网络信息服务)和NFS(网络文件系统)的组合方案就是你的救星,通过NIS实现统一身份认证,NFS实现文件共享,让团队工作像使用单台电脑一样简单,下面我就手把手教你如何在CentOS6环境下配置这套系统。
在开始前,确保你有:
注:由于CentOS6已停止维护,建议仅在内部测试环境使用,生产环境请考虑升级。
在服务器端执行:
yum install -y ypserv ypbind yp-tools portmap
echo "NISDOMAIN=yourdomain" >> /etc/sysconfig/network nisdomainname yourdomain
把"yourdomain"替换成你想要的域名,techteam"。
编辑 /etc/ypserv.conf
:
# 允许所有客户端访问(生产环境应限制IP) * : * : shadow : yes * : * : passwd : yes * : * : group : yes
/usr/lib64/yp/ypinit -m
执行后会提示你按Ctrl+D结束主机列表输入。
service portmap start service ypserv start service yppasswdd start chkconfig portmap on chkconfig ypserv on chkconfig yppasswdd on
在服务器端执行:
yum install -y nfs-utils portmap
mkdir -p /shared/data chmod 1777 /shared/data # 设置粘滞位,用户只能删除自己的文件
编辑 /etc/exports
:
/shared/data *(rw,sync,no_root_squash)
如果只想特定网段访问,可以替换为168.1.0/24
这样的网段。
service portmap start service nfs start service nfslock start chkconfig portmap on chkconfig nfs on chkconfig nfslock on
exportfs -v
应该能看到你设置的共享目录信息。
在每台客户端机器上执行:
yum install -y ypbind portmap nfs-utils
echo "NISDOMAIN=yourdomain" >> /etc/sysconfig/network nisdomainname yourdomain
编辑 /etc/yp.conf
:
domain yourdomain server nis-nfs-server
编辑 /etc/nsswitch.conf
,修改以下行:
passwd: files nis shadow: files nis group: files nis
编辑 /etc/fstab
:
nis-nfs-server:/shared/data /mnt/data nfs defaults 0 0
然后创建挂载点并挂载:
mkdir -p /mnt/data mount -a
service portmap start service ypbind start service netfs start chkconfig portmap on chkconfig ypbind on service netfs on
在服务器上创建一个测试用户:
useradd testuser passwd testuser cd /var/yp make # 更新NIS数据库
在客户端尝试登录:
su - testuser
应该能正常登录,且家目录在/home/testuser
。
在客户端:
touch /mnt/data/testfile ls -l /mnt/data
应该能看到创建的文件,并且在服务器端的/shared/data
下也能看到。
NIS客户端无法认证
ypwhich
命令是否返回正确的服务器名ypcat passwd
是否能显示用户列表NFS挂载失败
showmount -e nis-nfs-server
是否能显示共享目录/etc/exports
权限设置性能问题
/etc/exports
中添加async
选项(但会降低可靠性)限制NIS访问范围:
# 在/etc/ypserv.conf中替换*为具体IP 192.168.1.0/24 : * : shadow : yes
使用防火墙限制NFS访问:
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 111 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 111 -j ACCEPT iptables -A INPUT -p tcp --dport 111 -j DROP iptables -A INPUT -p udp --dport 111 -j DROP
定期备份NIS数据库:
tar czf /backups/nis_backup_$(date +%F).tar.gz /var/yp
虽然这套NIS+NFS的方案在CentOS6上运行良好,但要提醒你的是,随着技术的发展,现在有更现代的替代方案:
但对于那些还在维护老系统的运维人员来说,掌握这套经典组合仍然很有价值,配置过程中如果遇到问题,记得查看/var/log/messages
和各个服务的日志文件,大多数错误信息都能在那里找到线索。
希望这篇指南能帮你解决团队协作中的账号管理和文件共享难题!
本文由 让水 于2025-07-31发表在【云服务器提供商】,文中图片由(让水)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/498589.html
发表评论