[RedHat6.2]NIS服务器的配置


[RedHat6.2]NIS服务器的配置
 
NIS服务器主要用来对用户的账户与密码进行统一管理,它存在的意义:假设公司内部共有20台Linux主机,对于公司内的员工来说,他们可以访问所有的这20台Linux主机,我们假设公司某位成员需要修改密码,为了使能够登录所有的主机,传统的思维就是要分别到这20太Linux主机上执行passwd,这样是非常低效的,对管理人员来说是非常不方便的事情,因此NIS服务就是来解决这个问题的,它的原理是,将所有用户的帐号密码等信息都保存在NIS服务器上,当某位用户登录其中的一台Linux主机时,在进行帐号密码验证时,登录的那台主机会向NIS服务器发送验证请求,如果正确则用户登录成功,反之用户登录不成功。  www.2cto.com  
NIS服务器是将用户的帐号和密码保存在数据库文件中,NIS客户机向它发送请求是需要通过RPC(远程过程调用)这个协议。
所有的NIS客户机都是请求的一台NIS服务器,因此就可以实现一个帐号可以登录所有Linux主机了,而且当用户修改了自己的密码后,它会同步到NIS服务器的数据库文件中,这样就完成了一改多改的效果,对与帐号管理非常方便。
一、NIS服务器端的配置
        1. 确定所需软件已经安装
             yp-tools:提供NIS相关的查询命令 
             ypbind: 因为Client与Server是要通信的,因此需要bind
             ypserv: NIS Server端的设置软件
             rpcbind:RPC必须的软件
        2. 开始配置NIS服务器
             1> 设置NIS服务器的域名
                    nisdomainname domainname
                    vi /etc/sysconfig/network
                   :NISDOMAIN=domainname           设置域名
                   :YPSERV_ARGS="-p 1011"            设置NIS每次都在固定的端口,即:1011启动,这是为了将来方便使用iptables直接管理NIS
                   #开机自动设置域名
                     vi /etc/rc.local
                     /sbin/nisdomainname  domainname     #添加
             2>配置主文件/etc/ypserv.conf
                 [主机名/IP]                                                      [NIS域名]                                       [可用数据库名称]                           [安全限制]
                 192.168.171.0/255.255.255.0       :                  *                              :                            *                          :                   none
                [安全限制]: 包括没有限制none ,  仅能使用小于1024的端口port , 以及拒绝deny
             3> 设置主机名与IP的对应
                   vi /etc/hosts
                   192.168.171.135           nisserver
                   192.168.171.136           nisclient01
                   192.168.171.137           nisclient02
                   ...
                   所有主机的IP与主机名的对应都要写在这里面
             4> 启动与查看相关的服务
                   vi /etc/sysconfig/yppasswdd
                   YPPASSWDD_ARGS="--port 1012"    找到该位置,修改成这样
                    /etc/init.d/ypserv start
                    /etc/init.d/yppasswdd start
                    chkconfig ypserv on          # 设置为开机自启动
                    chkconfig yppasswd on
                    rpcinfo -u localhost ypserv
                    #出现下面的字样,说明是正常的#
                    program  100004   version  1  ready  and  waiting
                    program  100004   version  2  ready  and  waiting
             5> 处理帐号并建立数据库
                   useradd -u 1001 testuser01
                   useradd -u 1002 testuser02
                   useradd -u 1003 testuser03
                   echo testuser01 | echo passwd --stdin testuser01
                   echo testuser02 | echo passwd --stdin testuser02
                   echo testuser03 | echo passwd --stdin testuser03
                   #这样就建好了三个用户     testuser01  testuser02  testuser03   密码和用户名相同   -u  代表指定uid
                   #接下来将建立的帐号与密码数据转换成数据库
                   /usr/lib64/yp/ypinit -m 
                   注意:如果用户密码发生过变化,就需要重新制作数据库,重新启动ypserv 以及yppasswdd.
                    比如在服务器端添加了用户useradd somebody或者修改了密码passwd somebody 都需要重新创建数据库,即:/usr/lib/yp/ypinit -m
             6> 防火墙设置
                  这里先将NIS服务器的防火墙关了: service iptables stop
二:NIS Client端的设置
             1>  设定NIS域名
                     nisdomainname  domainname    # 要和NIS Server的域名一样才行
                     vi /etc/hosts
                     NISDOMAIN=domainname
                     vi /etc/rc.local
                     /sbin/nisdomainname  domainname
             2> 查看安装所需的安装包
                     ypbind      yp-tools
             3> 设置主配置文件:
                      vi /etc/yp.conf
                      domain  domainname   server  192.168.171.135     #添加
                      #格式为:domain   你的NIS Server和Client所在的域名  server  你的NIS服务器的IP地址
               4> 设置/etc/nsswitch.conf文件,修改验证用户账户和密码时的顺序
                          找到如下项:
                          passwd: files
                          shadow: files
                          group: files
                          #hosts: db files ldap nis dns
                          hosts: files dns
 
                          将其修改为:
                          passwd: files nis
                          shadow: files nis
                          group: files nis
                          #hosts: db files ldap nis dns
                          hosts: files nis dns
                5> 查看客户端portmap进程的启动状况,确定无误后启动其ypbind进程:
                      service portmap status
                      portmap (pid 1774) is running...
                      service ypbind start
                      Shutting down NIS services: [ OK ]
                      Binding to the NIS domain: [ OK ]
                      Listening for an NIS domain server.
 
                      将ypbind设置为开机自动启动
                      chkconfig --level 2345 ypbind on
                 6>  测试客户端的连接
                        yptest
                        #会看到测试信息,分辨出是否出了问题  Test 3  Wraing : No such key in map(Map passwd.byname , key nobody)
                        ypwhich -x    检查数据库
                  7> 配置客户端在启动时登录到NIS域
                       vi /etc/sysconfig/authconf
                       #找到并修改以下位置
                       USENIS=no  改为   USEINS=yes
                   8> 客户端测试
                         su - testuser01 
                         Last login: Wed Jul 11 17:59:14 2007 from server 
                        Could not chdir to home directory /home/nisuser: No such file or directory-bash-3.00$
                         这是正常的,因为我们知道所有用户的信息都是保存在NIS服务器端的,因此找不到用户的目录,这里的解决方法是要用到NFS , 即将/home目录共享,在NIS客户端只需要挂载即可,这里我们暂不介绍,以后待续。。。

相关内容

    暂无相关文章