NIS配置
安装服务;
- yp-tools :提供 NIS 相关的查寻指令功能
- ypbind :提供 NIS Client 端的设定软件
- ypserv :提供 NIS Server 端的设定软件
- rpcbind :就是 RPC 一定需要的数据
1.先设定Nis的域名
#nisdomainname abc #使用nisdomainname命令设置NIS域名。 不添加参数的时候直接输出当前域名
Tips:其实 nisdomainname 与 ypdomainname 及 domainname 都是一模一样的指令!你只要记住一个指令名称即可。
设置开机启动:#gedit /etc/rc.d/rc.local
添加:
/bin/nisdomainname abc #设定开机启动abc域名
#gedit /etc/sysconfig/network
添加:
NISDOMAIN=abc #开机或者启动NIS相关服务时NIS域名就自己设定了
YPSERV_ARGS="-p 1011" #设定NIS每次都启动在固定的端口
2.配置主要文件 gedit /etc/ypserv.conf
Dns:no #DNS服务器是否开启;NIS 服务器大多使用于内部局域网络,只要有 /etc/hosts 即可,所以不用 DNS !
Files:30 #默认会有30个数据库被读入内存中127
Slp:no
Slp_timeout:3600 #与SLP服务有关
Xfr_check_port:yes #与Master/Slave有关,用于同步更新的数据库比对所使用的端口,放置于 <1024内
底下则是设定限制客户端或 slave server 查询的权限,利用冒号隔成四部分:
# [主机名/IP] : [NIS域名] : [可用数据库名称] : [安全限制]
127.0.0.0/255.255.255.0 : * :* : none
192.168.100.0/255.255.255.0 : * : * : none
* :* : * : deny
# 还有一个简单作法,你可以先将上面三行批注,然后加入底下这一行即可:(当然也可以依据自己的需求设定)
* : * : * : none
- 设定主机名与IP的对应
#gedit /etc/hosts
# 原本就有的 localhost 与 127.0.0.1 之类的设定都不要更动,只要新增数据:
192.168.100.254 master.abcnis
192.168.100.253 slave.abcnis
192.168.100.10 client01.abcnis
Tips:注意!如果你的主机名 (hostname) 与 NIS 的域名不一样,那么在这个档案当中还是需要将你的主机名给他设定进来! 否则在后面数据库的设定时,肯定会发生问题。
4.建立信任群集 touch /etc/netgroup
5.启动观察所有相关服务
为了让 yppasswdd 启动在固定的端口,方便防火墙的管理, 因此,建议你可以设定一下gedit /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port 1012" <==找到这个设定值,修改一下内容成这样!
#/etc/init.d/ypserv start
#/etc/init.d/yppasswdd start
#chkconfig ypserv on
#chkconfig yppasswdd on
rpcinfo -p localhost
#rpcinfo -u localhost ypserv
6.处理帐号并建立数据库
将主机上面的账号档案转成数据库档案,因为担心与 NIS 客户端的账号有冲突,加上之前我们已经建立过一些账号了。所以,这里我们的新账号使用大于1000的UID来建立。
#useradd -u 1001 nisuser1
#useradd -u 1002 nisuser2
#echo password | passwd --stdin nisuser1 #给nisuser1设定密码
#echo password | passwd --stdin nisuser2 #给nisuser2设定密码
将建立的帐密数据转换成数据库
# /usr/lib64/yp/ypinit -m 建立数据库
7.重启服务
# /etc/init.d/ypserv restart
# /etc/init.d/yppasswdd restart
如果你的用户密码有变动过,那么你就得要重新制作数据库,重新启动 ypserv 及 yppasswdd !!
客户机:
安装服务:
# ypbind 是与 ypserv 互相沟通的客户端联机软件
#yp-tools 是提供查询的软件
1.输入:setup ----authentication configuration测试
域名不要写错,是NIS领域名称
测试成功:
2.利用yptest检验数据库测试:
直接在NIS Client输入yptest 即可检查相关的测试数据;
- [root@clientlinux ~]# yptest
- Test 1: domainname
- Configured domainname is \"abc\"
- Test 2: ypbind
- Used NIS server: master.abcnis
- Test 3: yp_match
- WARNING: No such key in map (Map passwd.byname, key nobody)
- ....(中间省略)....
- Test 6: yp_master
- master.abcnis
- ....(中间省略)....
- Test 8: yp_maplist
- passwd.byname
- protocols.byname
- hosts.byaddr
- hosts.byname
- ....(中间省略)....
- Test 9: yp_all
- nisuser1 nisuser1:$1$U9Gccb60$K5lDQ.mGBw9x4oNEkM0Lz/:1001:1001::/home/nisuser1:/bin/bash
- ....(中间省略)....
- 1 tests failed
从这个测试当中我们可以发现一些错误,就是在 Test 3 出现的那个警告信息啦。还好,那只是说没有该数据库而已~ 该错误是可以忽略的。
重点在第 9 个步骤 yp_all 必须要有列出你 NIS server 上头的所有帐户信息,如果有出现账号相关数据的话,那么应该就算验证成功了!
搭配NFS使用户有自己的主目录:
在客户端登录的时候发现客户端的用户没有主目录,这是因为,用户的主目录都在服务器上,在客户端登录时,客户端的目录下不可能有用户的目录,所以就要将服务器上的用户主目录挂载到客户端上就好。
在实际生产中,客户端登陆用户没有用户目录,那nis没有任何用处!
1、创建NFS共享目录后建立指定目录和端口的用户: #mkdir /1
2、重新建立账号数据库 # /usr/lib64/yp/ypinit -m
- 设置nfs文件服务器
- 重启服务
- 客户机连接
- setup重新建立连接
- 建立挂载点(与服务器目录相同) #mkdir /1
- 挂载 mount -t nfs 192.168.11.111:/1 /1
- 查看挂在后的共享文件
- 登陆测试 su - user3