[RHEL5企业级Linux服务攻略]--第11季 NIS服务全攻略

简介:
NIS所需软件包
ypserv-2.19-3.i386.rpm:NIS服务的主程序包
yp-tools-2.9-0.1.i386.rpm:提供NIS客户端设定功能的软件包
ypbind-1.19-8.el5.i386.rpm:提供NIS客户端的查询指令功能的软件包
portmap-4.0-65.2.2.1.i386.rpm:管理RPC连接、启动RPC必需的软件包
NIS相关文档
/etc/ypserv.conf:NIS主配置文件,可以规范NIS客户端是否具有可以查询NIS服务器的权限
/etc/hosts:记录主机和IP地址对应关系,如果没有DNS系统,则NIS服务器的hosts文件需要每一台NIS客户端的主机记录。
/etc/netgroup:设置信任的主机或网段
/etc/yp/Makefile:与建立数据库有关的配置文件
企业需求
公司准备在DMZ区域中放置多台服务器,服务器包括samba服务器、邮件服务器、WEB服务器、代理服务器,他们的IP分别是192.168.8.1、192.168.8.2、192.168.8.3、192.168.8.4,其于客户端为windows系统,使用windows域环境管理。为了方便日常的服务器管理工作,准备再搭建一台NIS服务器,其IP地址为192.168.8.188,为了方便管理,所有DMZ区域内的服务器都可以使用teamadmin帐号以及其他管理帐号登录。
NIS应用拓扑图:
image
需求分析
在DMZ区域管理服务器并不需要架设Master/Slave结构环境,所以只需要设置好主NIS服务器即可。首先要设置的是建立teamadmin帐号并设置密码,然后配置NIS域名,例如NIS域名为dmz。下面还需要设置好主配置文件ypserv.conf以及建立数据库文件。还需要设置/etc/hosts、/etc/netgroup等配置文件。最后重新启动相关服务使配置生效。
解决方案
1、安装NIS所需软件包
image
2、创建teamadmin用户
image
3、设置NIS域名
vim /etc/sysconfig/network
image
vim /etc/rc.d/rc.local
image
保存退出
4、设置/etc/hosts配置文件
vim /etc/hosts
image
5、设置/etc/ypserv.conf主配置文件
vim /etc/ypserv.conf
在整个ypserv.conf主配置文件中,最为重要的就是限制客户端或从服务器的查询权限。
格式为:
Host : Domain : Map : Security
Host:指定客户端,可以指定具体IP地址,也可以指定一个网段
Domain:设置NIS域名,这里的NIS域名和DNS中的域名并没有关系哈~两者是两套不同系统哈~在同一个NIS域中,客户端可以从NIS服务器上查询用户名和密码,从NIS服务器可以与主服务器同步数据库内容
Map:设置可用数据库名称,可以用“*”代替所有数据库
Security:安全性设置。主要有none、port和deny三种参数设置。
none:没有任何安全限制,可以连接NIS服务器。
port:只允许小于1024以下的端口连接NIS服务器。
deny:拒绝连接NIS服务器。
通常设置思路是允许所有内网客户端连接NIS服务器,除此之外的客户端都拒绝连接哈~
ypserv.conf文件是逐行解释执行,所以要注意设置顺序
127.0.0.1/255.0.0.0:*:*:none 
192.168.8.0/255.255.255.0:*:*:none 
*:*:*:deny
image
6、建立NIS数据库
service ypserv start
image
首先我们要启动ypserv服务,否则建立NIS数据库会报错
image
/usr/lib/yp/ypinit -m
image
当NIS数据库被建立之后,需要通知ypserv和yppasswdd这两个服务,以告知NIS数据库被更新过了哈~
通常通知的方法就是重启这两个服务
/etc/init.d/ypserv restart 
/etc/init.d/yppasswdd restart
image
注意:每次更改数据库内容后(比如更新用户密码)就需要使用ypinit -m命令重新创建数据库并重启ypserv和yppasswdd这两个服务,否则添加新数据将无法生效哈~
7、建立信任群
可以使用/etc/netgroup文件来建立NIS服务器所信任的客户端
格式:host,user,domain
如果这个文件没有内容,则代表所有的主机、帐号和域名都接受哈~因为已经在/etc/ypserv.conf中设置好了关于安全的项目,默认此文件不存在,所以这个文件只要建立就可以了。
touch /etc/netgroup
image
8、重启相关服务使配置生效
service portmap restart 
service ypserv restart 
service yppasswdd restart  
chkconfig --level 35 portmap on 
chkconfig --level 35 ypserv on 
chkconfig --level 35 yppasswdd on
image
9、客户端设置
客户端必须安装ypbind和yp-tools这两个软件包
image
(1)加入NIS域
确保客户端和服务器的NIS域名相同,可以使用nisdomainname命令设置,然后设置开机自动配置NIS域名
nisdomainname dmznis
image
vim /etc/sysconfig/network
image
vim /etc/rc.d/rc.local
image
(2)修改/etc/hosts文件
如果没有DNS服务器,那我们必须确保/etc/hosts文件中有NIS服务器的记录
vim /etc/hosts
image
(3)修改密码验证方式
NIS客户端在查找用户名和密码时先从本地开始查找,比如先查询/etc/passwd和/etc/shadow文件等,如果没有查询到用户名和密码则发送广播到NIS服务器从而进行查询。
默认情况下客户端如果没有查询到用户名和密码是不会发送广播到NIS服务器的,所以我们需要修改/etc/nsswitch.conf文件哈~
vim /etc/nsswitch.conf
image
四个字段中添加NIS服务器的主机名,修改效果如下哈~
image
(4)修改/etc/yp.conf文件
在客户端/etc/yp.conf文件中设置NIS服务器的主机名和NIS域名
vim /etc/yp.conf
image
如果需要使用广播查询则可以直接添加 domain dmz broadcast 
(5)重新启动ypbind服务
service ypbind restart
image
注意,一定要开启111端口,可以使用rpcinfo命令查看rpc所使用的端口
rpcinfo -p
image
(6)设置开机启动ypbind服务
chkconfig --level 35 ypbind on
image
10、客户端检测
yp-tools软件包中自带一些测试工具,可以帮助我们更好得了解NIS客户端和服务器通信情况
(1)yptest
yptest命令测试数据库内容等所有与NIS相关的信息
image
如果  Test 9: yp_all下面出现NIS服务器上的所有帐号信息则表示配置成功,否则我们就要检查上面的配置是否存在问题哈~
(2)ypwhich
ypwhich命令主要测试NIS客户端与服务器之间通信使用的是哪些数据库文件
只使用 ypwhich命令只显示NIS主机名
image
ypwhich -x则显示NIS客户端与服务器通信使用了哪些数据库文件
image
(3)ypcat
ypcat命令可以查看NIS服务器上使用者帐号及密码信息,也可以查看NIS服务器上的/etc/hosts文件记录哪些主机信息
ypcat passwd:查看NIS服务器上帐号密码等信息
image
  ypcat hosts:查看NIS服务器上的/etc/hosts文件记录哪些主机信息
image
(4)ypmatch
ypmatch teamadmin passwd:查询指定用户帐号密码信息
image
(5)yppasswd
客户端可以使用yppasswd命令修改帐号和密码
image
注意:密码长度不能少于6位哈~此外使用yppasswd命令可以自动更新NIS数据库中内容。 
###########################Michael分割线#####################




本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/149196 ,如需转载请自行联系原作者
相关文章
|
6月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
399 146
|
7月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
530 11
|
12月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1513 25
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
386 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
1096 19
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
6014 7
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
411 5
linux系统服务二!
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
341 3
linux系统服务!!!
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
2141 3