以下进行
NIS
从服务器的配置:(以下步骤与主基本一样)
1
.检查服务器是否安装了下列包:
portmap
、
ypserv
、
ypbind
、
yp-tools
2
.建立
NIS
的域名
3.
设置
ypserv
服务的配置文件
[root@crazylinux /]# vi /etc/ypserv.conf
在最后添加
127.0.0.0/255.0.0.0 : * : * : none
100.0.0.0/255.0.0.0 : * : * : none
* : * : * : deny
[root@localhost ~]# cat /var/yp/securenets
需要自己建立
host 127.0.0.1
255.0.0.0 100.0.0.0
4
.设置
/etc/hosts
与建立可信任群组
/etc/netgroup
[root@crazylinux /]#vi /etc/hosts
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
100.0.0.1 master.crazylinux
100.0.0.2 slave.crazylinux
100.0.0.3 client.crazylinux
[root@crazylinux /]# touch /etc/netgroup
5
.启动服务并建立数据库
[root@crazylinux /]#service portmap restart
[root@crazylinux /]# service ypserv start
[root@crazylinux /]#/usr/lib/yp/ypinit -s master.crazylinux
[root@crazylinux /]# ypcat -h localhost passwd.byname
检测是否成功
但是主服务器随时可能回修改帐号密码,那从服务器怎么设置呢?
[root@crazylinux /]#vi /etc/crontab
在最后添加
20 * * * * root /usr/lib/yp/ypxfr_1perhour
40 6 * * * root /usr/lib/yp/ypxfr_2perday
55 6,18 * * * root /usr/lib/yp/ypxfr_2perday
注:实际操作可能有问题,解决办法以
/usr/lib/yp/ypxfr_1perhour
为例
[root@crazylinux /]# vi /usr/lib/yp/ypxfr_1perhour
找到这一行
$YPBINDIR/ypxfr $map
修改成
$YPBINDIR/ypxfr $map �Ch master.crazylinux
[root@crazylinux /]#service ypbind restart
以下进行客户端上的配置:
1
.确认安装以下包:
ypbind
、
yp-tools
默认安装了的
[root@localhost ~]# yum install portmap ypbind yp-tools
[root@localhost ~]# rpm -qa | grep ^yp
ypbind-1.19-11.el5
yp-tools-2.9-0.1
[root@localhost ~]# rpm -qa | grep portmap
portmap-4.0-65.2.2.1
2
.建立
NIS
的域名
[root@localhost ~]# nisdomainname crazylinux
[root@localhost ~]# echo "/bin/nisdomainname crazylinux" >> /etc/rc.d/rc.local
[root@localhost ~]# echo "NISDOMAIN=crazylinux" >> /etc/sysconfig/network
/bin/nisdomainname crazylinux
添加这行使之开机运行
修改
/etc/sysconfig/network
文件,增加此行:
NISDOMAIN=crazylinux
使之在启动
nis
服务自动设置
nis
域
3
.设置
/etc/hosts
与建立可信任群组
/etc/netgroup
[root@crazylinux /]#vi /etc/hosts
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
100.0.0.1 master.crazylinux
100.0.0.2 slave.crazylinux
100.0.0.3 client.crazylinux
[root@crazylinux /]# touch /etc/netgroup
4
.设置
nsswitch.conf
(主机验证功能的顺序)
[root@crazylinux /]# vi /etc/nsswitch.conf
#
找到相关的参数,并改成底下这样:
passwd: files nis nisplus
shadow: files nis nisplus
group: files nis nisplus
hosts: files nis dns
这个档案设定一些信息的查寻程序!
files
指的是本机的相关档案,
至于
nis
则是透过
NIS
来进行查寻,至于
nisplus
则是
NIS+
这是比较新
版的
NIS
啦!不过,官方网站上面说,目前这个发展的计划已经暂停了!
1. passwd:
就是使用者相关信息查寻,分别为
/etc/passwd, nis
与
nisplus
2. shadow:
就是使用者密码的查寻,
/etc/shadow, nis
及
nisplus
3. group:
就是使用者的群组信息查寻,
/etc/group, nis
及
nisplus
4. hosts:
就是主机名称与
IP
对应的查寻,
/etc/hosts, nis
及
/etc/resolv.conf
5
.设置
/etc/sysconfig/authconfig
(
redhat
认证机制)
[root@crazylinux /]# vi /etc/sysconfig/authconfig
将
USENIS=no
改成
yes
6
.设置
/etc/yp.conf
[root@localhost ~]# cat /etc/yp.conf
domain crazylinux server master.crazylinux
把第
4
行
#
去掉修改成这样
还可以设置成
broadcast
广播
domain crazylinux server slave.crazylinux
7
.启动
ypbind
服务程序
[root@localhost ~]# service portmap status
portmap (pid 1683) is running...
[root@localhost ~]# service ypbind start
Binding to the NIS domain: [ OK ]
Listening for an NIS domain server..
在这里就可以用服务器上面的
user01
帐号在客户机上面登陆了,但是会出现
-bash-3.00$
(因为
user01
没有主目录,可以用之前学习的
nfs
把服务器上面的
/home
目录共享出来)
在
NIS
服务器中输出
NFS
共享目录
在
nis
服务器上
[root@localhost ~]# vi /etc/exports
添加
/home 100.0.0.0/8(rw,async,np_root_squash)
[root@localhost ~]#service nfs start
在
NIS
客户机上
[root@localhost ~]#vi /etc/fstab
master.crazylinux:/home/ /home nfs defaults 0 0
现在在客户机中用服务器里面的帐号登陆
嘿嘿
OK
NIC Client
端检验
NIS
设定:
yptest, ypwhich, ypcat
设定好了
NIS Client
之后,先以
netstat
与
rpcinfo
检验是否成功的启动后,接下来就要测试到底我们的
NIS Client
与
NIS Server
之间沟通了!此时就需要使用到
NIS
提供的
yp-tools
这个套件,里面的几个小小的执行程序来动作了:
o yptest
:主要在测试
yp
的设定内容、数据库内容等等所有
NIS
相关的资料测试;
o ypwhich
:主要在测试
NIS Client
与
Server
之间沟通的数据库
(database)
到底是哪几个档案;
o ypcat
:主要在取得
NIS Server
上面的使用者密码信息!
分别谈一谈每个程序的用途与说明吧!
yptest
[root@client root]# yptest
Test 1: domainname
Configured domainname is "cluster"
Test 2: ypbind
Used NIS server: server.cluster
....
Test 8: yp_maplist
rpc.bynumber
rpc.byname
hosts.byaddr
hosts.byname
group.byname
passwd.byname
ypservers
passwd.byuid
Test 9: yp_all
test test:dkoUW2XHV30sEV5gLM4NapyuhBcpVs.:500:500::/home/test:/bin/bash
看到了吗?会有很多的资料一项一项的去测试,测试的结果都会显示在屏幕上面,最好都没有问题之后再开始
NIS Client
的服务吧!
ypwhich
[root@client root]# ypwhich
server.cluster
[root@clent root]# ypwhich -x
单纯使用
ypwhich
的时候显示的是『
NIS Client
的
domain
』名称,而当加入
-x
这个参数时,则是显示『
NIS Client
与
Server
之间沟通的数据库有哪些?』由上面我们可以很清楚的就看到相关的档案啦!这些数据库档案则是放置在我的
NIS Server
的
/var/yp/cluster/*
里面��!
ypcat
[root@client root]# ypcat -x
#
主要的功能就是『列出数据库』��!与
ypwhich -x
相同功能!
#
所以我们有
ethers, aliases......passwd
等数据库名称与文件名!
[root@client root]# ypcat [
数据库名称或功能
]
#
这个指令可以用来取得
NIS Server
上面各个数据库的内容!
#
举例来说,我们想要知道
passwd (
密码数据
)
的所有使用者内容,就需要:
[root@client root]# ypcat passwd (
或
ypcat passwd.byname )
test:dkoUW2XHV30sEV5gLM4NapyuhBcpVs.:500:500::/home/test:/bin/bash
#
如果是想要知道
hosts
的内容
(NIS Server
主机上面
/etc/hosts
的内容
)
:
[root@client root]# ypcat hosts
127.0.0.1 localhost localhost.localdomain
192.168.10.30 server.cluster
#
反正就是加上数据库,你就可以取得
NIS server
主机上面的数据库内容啦!
这三个指令在进行
NIS Client
端的检验时,是相当有用的喔!不要忽略了他的存在啊!尤其是刚架设好
NIS Client
时,一定要使用
yptest
去检查看看有没有设定错误喔!根据屏幕显示的讯息去一个一个校正错误才行啊!
修改使用者密码
(
需要有
root
身份
)
:
yppasswd, ypchfn, ypchsh
好了,既然
NIS Client
已经可以正式的来
run
了,那么还可能有什么大问题呢!?最大的问题在于
....
我能不能在
NIS Client
端修改各个账号的密码呢?答案是『能!』但是不怎么方便~因为,我们要修改的是
NIS Server
端的数据库喔!也就是说,我们在
NIS Client
端登入之后,要修改自己这个账号的密码,其实改到的是
NIS Server
的数据库密码啊!而要修改数据库密码时,需要使用
root
的身份,所以一定需要
root
的密码~如此一来,实在是不太方便~如果真的要修改的话,那么可以使用底下三个小指令来进行修改,不过,不怎么建议这样做就是了!
o yppasswd
:与
passwd
指令相同功能;
o ypchfn
:与
chfn
相同功能;
o ypchsh
:与
chsh
相同功能。
无论如何,我是不太建议大家使用这些指令去修改数据库的内容啦!比较建议这样做:
n
登入到
NIS Server
主机里面去,进行
useradd
或者是
passwd
修改账号与密码等等的更动;
n
使用
/usr/lib/yp/ypinit -m
重新制作数据库档案!
这样就
OK
啦!比较简单啦我想~至于上面三个指令,请使用
Linux
的好朋友
man
来查看一下吧!
^_^
本文出自
“crazylinux工作室”
博客,请务必保留此出处
http://crazylinux.blog.51cto.com/259244/162757
本文出自 51CTO.COM技术博客