您的位置:首页 > 运维架构 > Linux

linux身份验证

2010-08-01 07:46 127 查看
通常我们都会建议,一部 Linux 主机的功能越简单越好,也就是说,一部 Linux 就专门进行一项服务。这样有许
多的好处,这包含功能简单所以系统资源得以完整运用,并且在发生入侵或者是系统产生状况的时候,也比较容易
追查问题所在。因此,一个公司内部常常会有好几部 Linux 主机,有的专门负责 WWW 、有的专门负责 Mail 、
有的专门负责 SAMBA 等等的服务。

不过,这样虽然有分散风险、容易追踪问题的好处,但是,由于是同一个公司内的多部主机,所以事实上所有
的 Linux 主机的帐号与密码都是一样的!那如果公司里面有 100 人的话, 我们就需要针对这么多部的主机去设
定帐号密码。而且,如果未来还有新进员工,那么就设定密码就会使系统管理员抓狂。

这个时候,让我们换一个角度来思考:如果我设计了一部专门管理帐号与密码的主机,而其他的 Linux 主机当
有客户端要登入的时候,就必须要到这部管理密码的主机来查寻使用者的帐号与密码, 如此一来,我要管理所有的
Linux 主机的帐号与密码,只要到那部主要主机上面去进行设定即可! 这就是 Network Information Service,
NIS 主机的主要功能。

事实上,Network Information Service 最早应该是称为 Sun Yellow Pages (简称 yp),也就是 Sun 这家
公司出的一个名为 Yellow Pages 的服务器软件,请注意, NIS 与 YP 是一模一样的。这个 Yellow Pages 名字
取的真是好!怎么说呢?知道黄页 (Yellow Pages) 是什么吗?就是我们家里的电话簿,今天如果你要查寻一家厂
商的电话号码,通常就是直接去查黄页上面的记录来取得电话号码。而这个 NIS 也一样,当使用者要登入时,
Linux 系统就会到 NIS 主机上面去找寻这个使用的帐号与密码信息来加以比对, 以提供使用者登入的验证。 

那么 NIS 主机提供了哪些信息?还记得帐号与密码放置在哪里吗?NIS 就是提供这些资料。 主要有下面这些
基本的资料提供给有登入需求的主机:

/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/netgroup

网络群组的定义与使用 (NIS 可能会需要)

/etc/rpc

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

/var/yp/ypservers

NIS 服务器所提供的资料文件 

至少可以提供上述这些功能,当然,你也可以自行定义需要哪些资料文件。

nis server  192.168.1.2
1)、nis server所需要的安装包
yp-tools :提供 NIS 相关的查询指令功能
ypbind   :提供 NIS Client 端的设定套件
ypserv   :提供 NIS Server 端的设定套件
portmap  :就是 RPC 一定需要的资料  
系统如果是centos 可以使用yum -qa | grep ^yp查看当前系统是否已经装以上软件包,如果没用,使用yum
install -y yp-tools ypbind ypserv portmap进行安装
 
2)、nis server的配置与启动
 
[root@nis]# nisdomainname nis-wb   # nis-wb 为nis域名
 
如果要让系统启时就启用这个nis域名,直接修改/etc/rc.local文件
 
[root@nis]# vi /etc/rc.local

nisdomainname nis-wb
 
3)、设置nis域
 
[root@nis]# vi /etc/sysconfig/network

NISDOMAIN=nis-wb
 
4)、设置ypserv.conf 配置文件
 
[root@nis]vi /etc/ypserv.conf
 
# Host       : Domain  : Map                     : Security

# *           : *          : passwd.byname     : port

# *           : *          : passwd.byuid        : port
  *            : *          :  *                       : none   #加入这行
充许访问的IP地址
域名
可用资料库名称:就是由 NIS 制作出來的资料库名称
安全限制
5)、设置主机名
vi /etc/hosts

192.168.1.2     master.nis-wb

192.168.1.3     slave.nis-wb
 
6)、启动所有相关服务
 
[root@nis]# /etc/init.d/portmap start

[root@nis]# /etc/init.d/ypserv start

[root@nis]# /etc/init.d/yppasswdd start
 
7)、栓查启动是否启动成功
 
[root@nis]# rpcinfo -p localhost

     program vers proto     port

        100000        2     tcp        111    portmapper

        100000        2     udp        111    portmapper

        100004        2     udp        942    ypserv

        100004        1     udp        942    ypserv

        100004        2     tcp        945    ypserv

        100004        1     tcp        945    ypserv

        100009        1     udp        950    yppasswdd

[root@nis]# rpcinfo -u localhost ypserv

program 100004 version 1 ready and waiting

program 100004 version 2 ready and waiting
 
8)、建立资料库
 
[root@linux ~]# /usr/lib/yp/ypinit –m

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

servers.    master.vbirdnis 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:    master.nis-wb    #这个地方系统会主动生成的     
 
next host to add:                           #按下 [ctrl]-d

The current list of NIS servers looks like this:

master.nis-wb
 
Is this correct?  [y/n: y] y

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

Building /var/yp/vbirdnis/ypservers...

Running /var/yp/Makefile...
 
建立资料库之后,必须重启服务
 
[root@nis]# /etc/init.d/ypserv restart

[root@nis]# /etc/init.d/yppasswdd restart

nis client   192.168.1.3
 
NIS client 端所需要的软件包有:

ypbind

yp-tools
 
1)、NIS client 的设置与启动
 
1. 直接建立域名

[root@client]# nisdomainname vbirdnis

2. 开机启动

[root@linux ~]# vi /etc/rc.d/rc.local

# 加入底下這一行:

/bin/nisdomainname nis-wb

3. 在启动时 ypbind ,设置 NIS 域名

[root@linux ~]# vi /etc/sysconfig/network

# 加入底下這一行:

NISDOMAIN=nis-wb
 
2)、设置主机名
 
vi /etc/hosts    

192.168.1.2         master.nis-wb    

192.168.1.3         slave.nis-wb
 
3)、启动ypbind 來连接 NIS server
 
[root@nis]authconfig-tui
 



 
选择使用MD5加密,点击Next进入下一步
 



启动服务
[root@client]# /etc/init.d/portmap start
[root@client]# /etc/init.d/ypbind start

测试
yptest可以检查是否成功
这样就可以使用nis server的用户在client端进行登陆
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: