NIS服务器配置案例

简介:

                    NIS服务器配置

      NIS全称Network Information Services,它的最大用途在于向客户端用户提供信息查询,如果举个例子来说明它的用途的话,就是如果在一个公司中有100个人的话,为了对他们进行管理,作为管理员我们需要为他们的每一台机器都设置一个帐号,但是这样显然非常的麻烦,要是再有员工进来的话,还要一个一个的为他们再添加帐号,这样的话只是增加帐号管理员就会崩溃的,所以我们想可不可以对这些帐号进行集中管理,只是在系统管理员的主机上操作一下就可以为他们设置帐号呢,现在我们就可以使用NIS了,NIS有点像windows的域控制,我们可以把系统管理员的主机作为一个NIS服务器,在服务器上设置帐号,但这个帐号可以被远程用户来登录,只需要在系统管理员的主机上验证就可以了。说白了,就是员工(client)在登录主机的时候,要先到管理员(server端)主机上来查询帐号与密码,帐号密码验证成功就可登录。管理员想要增加帐号的时候,只需要在自己的主机上增加即可。

     在通常使用中,小型的公司都是单独使用一个NIS server就可以支撑整个公司的使用,但是如果公司内的人比较多的话或者这台NIS服务器的负载比较大的时候,为了保证NIS服务器的正常运转,我们可能要再架设一个NIS Slave了,NIS服务器的Master/Slave主从架构对保证安全性还是很好的。

现在我们可以通过一个案例来说明一下NIS服务器的架设。

条件:

      NIS服务器名称:server-nis

          NIS Master ip:192.168.2.10

          NIS Client ip :192/168.2.12

     1>  首先我们先来看一下需要的软件

         yp-tools:它提供NIS相关的查询命令

         ypbind:NIS客户端软件

         ypserv: NIS服务器设置软件

         portmap:RPC软件(NIS是基于RPC的)

     2>服务器端的配置

         1.安装服务器软件

           [root@localhost ~]# mount /dev/cdrom /mnt/cdrom

            mount: block device /dev/cdrom is write-protected, mounting read-only

            [root@localhost ~]# cd /mnt/cdrom/Server/

            [root@localhost Server]# rpm -ivh ypserv-2.19-5.el5.i386.rpm 

            warning: ypserv-2.19-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

            Preparing...                ######################### [100%]

            1:ypserv                 ########################### [100%]

        2.我们先来介绍几个比较重要的文件

         /etc/ypserv.conf:  NIS配置文件,用于设置客户端是否可登录的权限

         /var/yp/Makefile:建立与数据库有关的操作设置文件

         /etc/sysconfig/network:可以在这个文件中指定NIS域名 

         /usr/lib/yp/ypinit:建立数据库的命令

        3.NIS建立域名

          [root@localhost ~]# vim /etc/sysconfig/network     添加如下一行

               NISDOMAIN=serve-nis

             设置NIS服务器 开机启动

              [root@localhost ~]# vim /etc/rc.d/rc.local   添加如下一行

              /bin/nisDomainname serve-nis

         3.对于配置文件,我们保持默认就可以了。

         4.我们可以看一下/var/yp/Makefile文件中的内容,修改要把哪些帐号产生出可供客户端登录的帐号

        [root@localhost ~]# vim /var/yp/Makefile 

           将all:  passwd group hosts rpc services netid protocols mail \ 

              修改成为:

             all:  passwd group hosts \      只允许普通帐号登录

         5.启动服务

             [root@localhost ~]# service portmap start

           Starting   portmap:                                          [  OK  ]

              [root@localhost ~]# service ypserv restart

              Stopping YP server services:                               [  OK  ]

              Setting NIS domain name serve-nis:                         [  OK  ]

               Starting YP server services:                               [  OK  ]     

     6.建立NIS帐号数据库

[root@localhost ~]# /usr/lib/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS

servers.  localhost.localdomain is in the list of NIS server hosts.  Please continue to add

the names for the other hosts, one per line.  When you are done with the

list, type a <control D>.

next host to add:  localhost.localdomain

next host to add:                         //ctrl+d

The current list of NIS servers looks like this:

localhost.localdomain

Is this correct?  [y/n: y]  y

We need a few minutes to build the databases...

Building /var/yp/serve-nis/ypservers...

Running /var/yp/Makefile...

gmake[1]: Entering directory `/var/yp/serve-nis'

Updating passwd.byname...

Updating passwd.byuid...

Updating group.byname...

Updating group.bygid...

Updating hosts.byname...

Updating hosts.byaddr...

gmake[1]: Leaving directory `/var/yp/serve-nis'

localhost.localdomain has been set up as a NIS master server.

Now you can run ypinit -s localhost.localdomain on all slave server  

             

     现在可以看到在文件/var/yp下生成了server-nis目录

但是如果我们每在master主机中加入一个帐号都要重新生成一次数据库

如我们建立一个测试帐号:test

 [root@localhost ~]# useradd test

[root@localhost ~]# passwd test

Changing password for user test.

New UNIX password: 

BAD PASSWORD: it is WAY too short

Retype new UNIX password: 

passwd: all authentication tokens updated successfully.

为其添加一个文件

[root@localhost ~]# cd /home/test/

[root@localhost test]# ll

total 0

[root@localhost test]# touch server

这里就需要重新生成一次数据库

 [root@localhost ~]# cd /var/yp/

[root@localhost yp]# make 

gmake[1]: Entering directory `/var/yp/serve-nis'

Updating passwd.byname...

Updating passwd.byuid...

Updating group.byname...

Updating group.bygid...

gmake[1]: Leaving directory `/var/yp/serve-nis'  上面的命令就可以重新生成数据库了

3>NIS  client端设置

  我们在图形界面下进行客户端的设置,首先键入:setup----->Authentication configuration--->

  

 

      

   点击ok后,服务自己启动。

现在我们就可以登录NIS主服务器上的帐号了,但是在登录之前先查看一下Client端有没有这个帐户,因为client在登录帐号的时候,是先查看本地是否有这个用户,如果有的话,则直接登录,否则发送广播包远程登录NIS服务器上的帐号。

  登录

   

   [root@localhost ~]# su - test

su: warning: cannot change directory to /home/test: No such file or directory

-bash-3.2$

登录之后你会发现是这个状态,这是因为本地没有test主目录,但是我们不可能在客户端为了给test一个主目录再建立test这个帐号,所以我们可以利用NFS来共享NIS服务器上的test的主目录,并且实现在client的自动挂载。

   在服务器端配置NFS服务器

   [root@localhost yp]# vim /etc/exports   添加如下内容

    /home/test  *(ro,sync)

   开启NFS服务

   [root@localhost yp]# service nfs start

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

 在客户端配置autofs自动挂载

   先测试挂载目录

   [root@localhost ~]# service portmap start

Starting portmap:                                          [  OK  ]

[root@localhost ~]# showmount -e 192.168.2.10

Export list for 192.168.2.10:

/home/test *

      配置autofs配置文件 

        [root@localhost ~]# vim /etc/auto.master   添加下面一行

         /home /etc/auto.nfs   --timeout=60

      创建/etc/auto.master并配置

     [root@localhost ~]# cp -p /etc/auto.misc /etc/auto.nfs

      [root@localhost ~]# vim /etc/auto.nfs

      test  -ro,soft,intr    192.168.2.10:/home/test

     启动autofs服务

     [root@localhost home]# service autofs restart

     Stopping automount:                                        [  OK  ]

      Starting automount:                                        [  OK  ]

现在我们可以再次切换到test用户,看看结果

  [root@localhost ~]# su - test

[test@localhost ~]$ ll

total 0

-rw-r--r-- 1 root root 0 Dec 26 08:20 server

[test@localhost ~]$ 

测试成功,这样的话,nis客户端就可以正常的使用了










本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1101607,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
Ubuntu 应用服务中间件 网络安全
Nginx伪流媒体服务器搭建详细说明以及案例
Nginx伪流媒体服务器搭建步骤如下:1. 安装Nginx,根据系统选择命令;2. 编辑配置文件(/etc/nginx/nginx.conf),添加mp4相关设置;3. 创建视频目录/usr/share/nginx/html/videos并上传视频;4. 重启Nginx应用更改;5. 通过浏览器访问视频,如http://your_server_ip/videos/example.mp4。注意启用mp4模块,确保视频格式支持伪流媒体播放。
|
8天前
|
存储 运维
服务器数据恢复—服务器raid5阵列中硬盘离线的数据恢复案例
某公司一台服务器中有一组多块硬盘组成的磁盘阵列。磁盘阵列中有2块硬盘出现故障离线,服务器崩溃,上层数据丢失。
|
10天前
|
数据挖掘
服务器数据恢复—服务器raid5阵列中2块硬盘掉线的数据恢复案例
某公司一台服务器,服务器上有一组由8块硬盘组建的raid5磁盘阵列。 磁盘阵列中2块硬盘的指示灯显示异常,其他硬盘指示灯显示正常。上层应用不可用。
|
15天前
|
存储 运维 数据挖掘
服务器数据恢复—服务器raid5阵列硬盘出现坏道掉线的数据恢复案例
一台服务器中有一组由16块SAS接口的硬盘组建的raid5阵列。 服务器磁盘阵列中有2块硬盘离线,服务器上跑的应用崩溃。 经过后续的分析发现丢失的数据为虚拟机文件,包含4个卷的数据。
|
1月前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
69 25
|
2月前
|
数据挖掘 数据库
服务器数据恢复—Zfs文件系统下误删除数据的恢复案例
服务器数据恢复环境&故障: 一台zfs文件系统的服务器,管理员误操作删除了服务器上的数据。
|
2月前
|
存储 数据挖掘 数据库
服务器数据恢复—EMC UNITY 400存储卷被误删除的数据恢复案例
EMC Unity 400存储连接了2台硬盘柜。2台硬盘柜上一共有21块硬盘(520字节)。21块盘组建了2组RAID6:一组有11块硬盘,一组有10块硬盘。 在存储运行过程中,管理员误操作删除了 2组POOL上的部分数据卷。
|
2月前
|
Oracle 关系型数据库 数据库
服务器数据恢复—服务器raid5阵列数据恢复案例
一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务器操作系统无法启动,ORACLE数据库也无法启动。
65 17
|
2月前
|
存储 算法 数据挖掘
服务器数据恢复—nas中raid6阵列失效,存储无法访问的数据恢复案例
一台nas上共有14块硬盘组建了一组raid6磁盘阵列。 该nas在工作过程中,raid6阵列中硬盘出现故障离线,导致raid6阵列失效,nas无法正常访问。
|
2月前
|
运维 数据挖掘 Windows
服务器数据恢复—服务器硬盘指示灯亮黄灯的数据恢复案例
服务器硬盘指示灯闪烁黄灯是一种警示,意味着服务器硬盘出现故障即将下线。发现这种情况建议及时更换硬盘。 一旦服务器上有大量数据频繁读写,硬盘指示灯会快速闪烁。服务器上某个硬盘的指示灯只有黄灯亮着,而其他颜色的灯没有亮的话,通常表示这块硬盘出现故障,这时候更换新硬盘同步数据即可。 如果没有及时发现硬盘损坏或者更换硬盘失败导致服务器崩溃,应该如何恢复数据呢?下面通过一个真实案例讲解一下服务器硬盘指示灯亮黄色的数据恢复案例。