比思論壇
標題:
linux Nis配置
[打印本頁]
作者:
wabb44400
時間:
2012-9-22 21:35
標題:
linux Nis配置
NIS:network information server:主机账号等系统信息提供集中管理的网络服务,在linux系统中对所有能运行NIS的客户端进行用户名、密码、访问权限进行统一管理,工作 方式和作用类似于windows server中的AD,适用于网络中存在大量的linux应用server,或存在大量的linux客户机。
使用NIS必须结合NFS使用
NIS提供的数据包括:
NIS将上述表格信息做成数据库文件,方便客户端主机快速查询。
由于NIS是为网络中其他主机提供用户登录等信息,网络中其他主机需要请求NIS服务器获取用户信息,所以NIS比较重要,通常采取 master/slave模式,master、slave可以同时响应客户端的登录请求,实现负载均衡。也可避免master宕机引起网络客户端无法登录 的情况。
NIS运作流程:
1. NIS master将本身的账号密码等相关文件制作成数据库文件
2. NIS master主动告诉NIS slave server来更新数据库文件
3. 若有账号变动,需要重新制作数据库文件并重新同步NIS slave server
NIS client有查询请求时:
1. NIS client有登录需求时,首先查询本地的/etc/passwd、/etc/shadow
2. 若在本机找不到相关账号信息,会向整个NIS网段主机广播查询请求
3. 每个NIS服务器都可以响应该请求,先响应者先优先答复请求
NIS client或NIS slave会主动拿掉本机的一般账号,仅保留系统所需的root及系统账号,便于一般用户被NIS server管理。
NIS服务所需软件
Yp-tools:提供NIS相关查询命令、Ypbind:提供NIS客户端设置软件、Ypserv:提供NIS server设置软件、Portmap:提供RPC查询功能
NIS master server设置
设置域名:
#nisdomainname test
# echo /bin/nisdomainname test>>/etc/rc.d/rc.local
# echo NISDOMAINNAME=test>>/etc/sysconfig/network
NIS固定端口配置
NIS和NFS服务相似,使用随机端口,可以配置固定端口加强NIS可管理性。
添加YPSERV_ARGS和YPXFRD_ARGS字段,设置NIS的ypserv和ypxfrd进程使用固定端口号,使用参数-p指定固定端口。
# echo YPSERV_ARGS=\"\-p 800\">>/etc/sysconfig/network
# echo YPXFRD_ARGS=\"\-p 810\">>/etc/sysconfig/network
重启network、ypserv、ypxfrd服务,使用rpcinfo –p查看端口信息
#rpcinfo –p
…………………………………………
100004 2 udp 800 ypserv
100004 1 udp 800 ypserv
100004 2 tcp 800 ypserv
100004 1 tcp 800 ypserv
600100069 1 udp 810 fypxfrd
600100069 1 tcp 810 fypxfrd
设置/etc/hosts
实现NIS服务器和客户端的主机名和IP的对应
#echo 192.168.23.128 master.test>>/etc/hosts
#echo 192.168.23.129 slave.test>>/etc/hosts
#echo 192.168.23.131 client.test>>/etc/hosts
设置ypserv.conf配置文件
# cat /etc/ypserv.conf
dns: no #是否启用DNS系统,如果环境较小,设置好/etc/hosts即可
files: 30 #设置数据库被读入内存的数量,依据网络环境大小决定
slp: no #设置是否启动SLP服务,如果仅需要NIS,无需启动SLP
slp_timeout: 3600
# xfr requests are only allowed from ports < 1024
xfr_check_port: yes #同步数据库启用的端口,默认使用小于1024端口
# Host : Domain : Map : Security
# * : * : passwd.byname : port
# * : * : passwd.byuid : port
127.0.0.1/255.255.255.0:*:*:none
192.168.23.0/255.255.255.0:*:*:none #192.168.23.0/255.255.255.0即本机IP网段
*:*:*:deny
配置文件中最重要的就是限制客户端或从服务器的查询权限。
格式为: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是逐行解释执行,所以要注意设置顺序
创建/etc/netgroup 建立NIS服务器所信任的客户端
默认情况不存在该文件,需手动创建,如文件为空,表示全部主机、账号域名都可以接受。
#touch /etc/netgroup
启动NIS master server相关服务,并设置开机启动
# /etc/init.d/portmap start
# /etc/init.d/ypserv start
# /etc/init.d/yppasswdd start
# chkconfig --level 35 ypserv on
# chkconfig --level 35 yppasswdd on
创建数据库
# /usr/lib/yp/ypinit –m
查看相关数据库文件是否创建:#ls /var/yp/test
重启ypserv和yppasswdd服务
#/etc/init.d/ypserv restart
#/etc/init.d/yppasswdd restart
如果仅修改了某用户的密码,无需重启服务,进入所在目录,make即可
# cd /var/yp
# ls
binding Makefile nicknames test ypservers
# make passwd
Updating passwd.byname...
Updating passwd.byuid...
更新后的文件放置在yp目录中,需要手动移到目录test中
# mv passwd.byname passwd.byuid ./test
如果有salve服务器,需要和salve进行数据同步
#vi /var/yp/Makefile将NOPUSH=true改成NOPUSH=false
# vi /var/yp/ypservers
master.test
slave.test
启动ypxfrd让NIS salve主动连上NIS master更新数据库
[root
@localhost
yp]# /etc/init.d/ypxfrd start
NIS salve server设置
设置域名,并设置开机启动
# nisdomainname test
# echo /bin/nisdomainname test>>/etc/rc.d/rc.local
# echo NISDOMAINNAME=test>>/etc/sysconfig/network
设置配置文件/etc/ypserv.conf和/etc/hosts、/etc/netgroup保持与NIS master server一致即可
开启portmap和ypserv服务并设置其开机启动
# /etc/init.d/portmap start
# /etc/init.d/ypserv start
# chkconfig --level 35 portmap on
# chkconfig --level 35 ypserv on
确保NIS salve所需的软件包已经安装
# rpm -q ypbind
# rpm -q yp-tools
# rpm -q portmap
# rpm -q ypserv
NIS固定端口配置、设置/etc/hosts与master主机一致即可
重启network、ypserv、ypxfrd服务,并rpcinfo –p查看端口信息
从NIS master服务器上获取数据库文件
# /usr/lib/yp/ypinit -s 192.168.23.128
使用ls –l /usr/yp/test查看数据库文件是否已经建立。
同步主从NIS服务器的数据库文件
#crontab –e
*/1 * * * * /usr/lib/yp/ypxfr -h test passwd.byname
*/1 * * * * /usr/lib/yp/ypxfr -h test passwd.byuid
可以依据具体实际情况设置。
客户端设置
设置nis域名、/etc/hosts配置文件
# vi /etc/nsswitch.conf
passwd: files nis
shadow: files nis
group: files nis
hosts: files nis dns
# vi /etc/sysconfig/authconfig
USENIS=yes
# cat /etc/yp.conf添加如下信息
domain test server Master.test
ypserver Slave.test
domain NIS域名 主机名称 或 domain NIS域名 broadcast
Setup打开配置模式,选择验证配置,使用NIS,使用md5口令和屏蔽口令,设置域名和主服务器。
Yptest验证配置结果。看到yp_all和账户信息就算配置成功。
使用ypwhich –x和ypwhich查看数据库数量
# ypwhich #显示NIS主机名
Master.test
# ypwhich –x #显示数据库数量
Use "ethers" for map "ethers.byname"
Use "aliases" for map "mail.aliases"
Use "services" for map "services.byname"
Use "protocols" for map "protocols.bynumber"
Use "hosts" for map "hosts.byname"
Use "networks" for map "networks.byaddr"
Use "group" for map "group.byname"
Use "passwd" for map "passwd.byname"
使用ypcat查看数据库内容
# ypcat hosts
192.168.23.128 Master.test
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
192.168.23.129 Slave.test
192.168.23.131 Client.test
# ypcat passwd
test:$1$5.4y6WdS$f8.fskhB.zguKoX48I2CI0:500:500::/home/test:/bin/bash
small:$1$WZpOJRXl$.uwbqzprJIwci0qaPO59v.:501:501::/home/small:/bin/bash
Ypmatch查看指定账户信息
# ypmatch test passwd
test:$1$5.4y6WdS$f8.fskhB.zguKoX48I2CI0:500:500::/home/test:/bin/bash
yppasswd修改用户密码
# yppasswd test
Changing NIS account information for test on Master.test.
Please enter root password:
Changing NIS password for test on Master.test.
Please enter new password:
Please retype new password:
The NIS password has been changed on Master.test.
歡迎光臨 比思論壇 (http://108.170.10.238/)
Powered by Discuz! X2.5