天天看点

NIS/ldap

NIS/ldap

网络信息服务(Network Information Service)是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。

用户只需要在nis服务器上面创建,客户端加入nis域,直接可以使用Nis域上的用户来登录客户端。

一、概述:

NIS Server

Nis Master 先将帐号密码相关文件制作成数据库文件;

服务器端文件名 档案内容

/etc/passwd 提供用户账号、UID、GID、家目录所在、Shell 等等

/etc/group 提供群组数据以及 GID 的对应,还有该群组的加入人员

/etc/hosts 主机名与 IP 的对应,常用于 private IP 的主机名对应

/etc/services 每一种服务 (daemons) 所对应的端口号 (port number)

/etc/protocols 基础的 TCP/IP 封包协定,如 TCP, UDP, ICMP 等

/etc/rpc 每种 RPC 服务器所对应的程序号码

/var/yp/ypservers NIS 服务器所提供的数据库

Nis Client

1.NIS client 若有登入需求时,会先查询其本机的 /etc/passwd, /etc/shadow 等档案;

2.若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询.

1.1:所需软件

1. yp-tools :提供 NIS 相关的查寻指令功能

2. ypbind :提供 NIS Client 端的设定软件

3. ypserv :提供 NIS Server 端的设定软件

4. portmap :这是 RPC必须的软件!

2、相关端口:portmap :111,因为NIS、NFS 都是依赖于portmap服务  
          6.0/7.0 版本用rpcbind取代portmap服务
   3.
   ****配置文件**** 
   /etc/ypserv.conf                     这是最主要的 ypserv 软件所提供的配置文件,可以规范 NIS 客户端是否可           
                                                 登入的权限。
  /etc/hosts                               由于 NIS server/client 会用到网络主机名与 IP 的对应,因此这个主机名对应            
                                                 档就显的相当重要!每一部主机名与 IP 都需要记录才行!
  /etc/netgroup                          提供组数据及GID的对应。/etc/sysconfig/network可以在这个档案内指定   
                                                 NIS 的网域 (nisdomainname)。
  /var/yp/Makefile                     这就是与建立数据库有关的动作配置文件;

  **主要服务方面** 
  /usr/sbin/ypserv                     就是 NIS 服务器的主要提供服务
  /usr/sbin/rpc.ypxfrd                用于Master/Slave主机之间的传输数据库的服务。
  /usr/sbin/rpc.yppasswd          提供额外的 NIS 客户端之用户密码修改服务, 通过这个服务, NIS 客户端    
                                                 可以直接修改在 NIS 服务器上的密码。相关的使用程序则是 yppasswd 指     
                                                 令;(修改密码时,NIS客户端与  NIS服务器端之前通过这个服务来通信)
           

数据库相关指令

/usr/lib64/yp/ypinit/usr/lib/ypyinit 建立数据库的指令,非常常用 (在 32 位的系统下,文件

名则是 /usr/lib/yp/ypinit );

/usr/bin/yppasswd 与 NIS 客户端有关,主要在让用户修改服务器上的密码。

/usr/sbin/yppushmaster 主机将数据库直接送至 slave 的指令;

/usr/lib/yp/ypxfr 传送数据库的指令,在该目录下尚有 ypxfr_1perday,

ypxfr_1perhour, ypxfr_2perday 等等。

案例介绍:

nis域名:www.example.com

指定所有主机为同一个网段:

二、服务端的的配置:

1、安装ypserv服务相关的包。

Yum list |grep ypserv

Yum install ypserv

2、建立一个Nis专用用户目录文件夹:

mkdir /nishome

3、建立一个NIS用户:(可以使用该方式建立多个用户)

useradd -d /nishome/user1 –u 1000 user1

设定user1用户的密码

4、编辑/etc/sysconfig/network为NIS服务器指定NIS网域名:

[[email protected] Server]# vim /etc/sysconfig/network

NISDOMAIN=www.example.com

5、运行:nisdomainname www.example.com //这里的域名和上面=号后面的一样!加入域www.example.com

[[email protected] Server]# nisdomainname

(none)

[[email protected] Server]# nisdomainname www.example.com

[[email protected] Server]# nisdomainname

www.example.com

6、在linux下,如需添加随系统启动而自动运行的服务编辑/etc/rc.d/rc.local,加入www.example.com域;

[[email protected] Server]# echo “/bin/nisdomainname www.example.com” >> /etc/rc.local

7、启动ypserv服务:

[[email protected] Server]#systemctl restart ypserv.service

查看ypserv服务状态:systemctl status ypserv.service

8、生成NIS 用户数据库:/usr/lib64/yp/ypinit -m(该服务器上的所有用户名都将用作客户端身份认证) 注意,每次添加用户之后,都需要重新生成nis数据库

Ypinit NIS数据库安装和构建程序

Vim /var/yp/Makefile

[[email protected] Server]# /usr/lib64/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 coninue to addthe names for the other hosts, one per line. When you are done with thelist, type a .

next host to add: localhost.localdomain ----服务器hostname,只有一个服务器的话,就按下面的ctrl+d ,如果有多个服务器,接着输入

next host to add: //这里直接按Ctrl+D

备注:提示输入NIS服务器主机名,有多个可以输入多个,按Y确认。

配置完以上命令后在/var/yp下检查有没有生成一个NIS域名命名的目录,这是NIS用户数据库,如果没有则删除该目录下的’”(none)”目录,再重新生成数据库。

8、重启相关服务:

systemctl restart ypserv.service

9、使用NFS共享NIS用户家目录:

Vim /etc/exports加入内容:

/nishome *(rw)

Systemctl restart nfs.service

Systemctl enable nfs.service

二、客户端的配置:

关闭selinux;

客户端加入NIS域: yp-tools ypbind

输入setup --该命令在图形化界面的终端上面执行

选择:启用NIS支持,点击“配置NIS”;输入NIS域,及NIS服务器Ip地址

/etc/init.d/portmap restart 注意6.0、7.0 版本上没有portmap服务,服务名称改变为rpcbind

Systemctl restart portmap

设置客户端机器上的自动挂载

安装自动挂载服务:yum install autofs

编辑控制文件[[email protected] ~]# vi /etc/auto.master

/nishome /etc/auto.misc

配置配置文件

[[email protected] ~]# vi /etc/auto.misc

  • -fstype=nfs 192.168.10.40:/nishome/&

    适合于所有nis用户自动挂载家目录

    nis1 -fstype=nfs 192.168.10.40:/nishome/nis1

    只适合nis1用户自动挂载家目录

    重启服务

    [[email protected] ~]#systemctl restart autofs

    Nis服务器上面,新建立的用户,如果需要客户端验证访问,那么需要在服务器端重新生成nis数据库,然后重启ypserv服务。

测试:

[[email protected] ~]# su - user1

上一次登录:一 11月 11 22:08:03 CST 2019pts/1 上

[[email protected] ~]$

继续阅读