主从NIS账号服务器配置管理

计划

NIS 的�W域名�Q�� davynis

整���炔康男湃尉W域�� 192.168.4.0/24

NIS master server 的 IP �� 192.168.4.106 ,主�C名�Q�� master.davynis

NIS slave server 的 IP �� 192.168.4.108,主�C名�Q�� slave.davynis

NIS client 的 IP �� *,主�C名�Q�� *

________________________________________

在服务器上安装所需软件

yum -y install yp-tools ypbind ypserv portmap;

yp-tools:提供nis相关的查询命令功能

ypbind:提供nis client端的设置软件

ypserv;提供nis server端的设置软件

portmap:这是rpc必须的软件

________________________________________


NIS相关文档

/etc/ypserv.conf:NIS主配置文件,可以规范NIS客户端是否具有可以查询NIS服务器的权限

/etc/hosts:记录主机和IP地址对应关系,如果没有DNS系统,则NIS服务器的hosts文件需要每一台NIS客户端的主机记录。

/etc/netgroup:设置信任的主机或网段

/etc/yp/Makefile:与建立数据库有关的配置文件

/etc/sysconfig/network:可以在这个档案内指定 NIS 的网域 (nisdomainname)。 /var/yp/Makefile: 这就是与建立数据库有关的动作配置文件;

NIS 服务器提供的主要服务方面有底下两个:

/usr/sbin/ypserv:就是NIS 服务器的主要提供服务;

/usr/sbin/rpc.yppasswdd:提供额外的NIS 客户端之用户密码修改服务,

/usr/lib64/yp/ypinit:建立数据库的指令,(在 32 位的系统下,档名则是 /usr/lib/yp/ypinit 喔!);

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

________________________________________


 �O定 NIS 的�W域名�Q (NIS domain name)

所有的 NIS server/client 都需要�O定 NIS �I域名�Q才行

[root@master ~]# nisdomainname davynis

[root@master ~]# nisdomainname

davynis  <==瞧!已��O定了 NIS �I域名�Q�樱�

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

/bin/nisdomainname davynis

或是想要在��� NIS �r就自�釉O定好 NIS �I域的�

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

NISDOMAIN=davynis

________________________________________


 主要�O定�n /etc/ypserv.conf

Host : Domain : Map : Security

Host:指定客户端,可以指定具体IP地址,也可以指定一个网段

Domain:设置NIS域名,这里的NIS域名和DNS中的域名并没有关系哈~两者是两套不同系统哈~在同一个NIS域中,客户端可以从NIS服务器上查询用户名和密码,从NIS服务器可以与主服务器同步数据库内容

Map:设置可用数据库名称,可以用“*”代替所有数据库

Security:安全性设置。主要有none、port和deny三种参数设置。

none:没有任何安全限制,可以连接NIS服务器。

port:只允许小于1024以下的端口连接NIS服务器。

deny:拒绝连接NIS服务器。


[root@master~]# vi /etc/ypserv.conf

dns: no   #只要/etc/hosts �O定正�_即可!

files: 30  #30���Y料�毂蛔x入����w��中,够了!

slp: no

slp_timeout: 3600

# �@����c SLP 服�沼嘘P,�H使用�渭�的 NIS ,不需要��印�

xfr_check_port: yes

#master/slave同步更新的�Y料�焖�使用的埠口!1024 �取�

# 底下�t是�O定限制用�舳嘶� slave server 查�的�嘞蓿�

# [主�C名�Q/IP]:[NIS�W域名]:[�Y料�烀��Q]:[安全限制]

# [主�C名�Q/IP]可以使用 network/netmask 如 192.168.4.0/255.255.255.0

# [NIS�W域名]   :例如本案例中的 davynis

# [�Y料�烀��Q]:就是由 NIS �u作出�淼馁Y料�烀��Q;

# [安全限制]:�]限制(none)、�H用1024(port)及拒�^(deny);

# 一般�碚f,你可以依照我��的�W域�碓O定成�榈紫碌哪�樱�

127.0.0.0/255.255.255.0   : * : * : none

192.168.4.0/255.255.255.0 : * : * : none

*                         : * : * : deny

# 上面三行的意思是,�_放 lo �炔拷槊妗㈤_放�炔� LAN �W域,且杜�^所有其他�碓吹� NIS 要求的意思。

# �f一上面�@三行�嘞尴嚓P的�O定�o法�你的 NIS �利的生效�r,你可以先�⑸厦嫒�行�]解,然後加入底下�@一行:

*                         : * : * : none

________________________________________


 �O定主�C名�Q (/etc/hosts) �c建立信任群�M (/etc/netgroup)

在 /etc/ypserv.conf 的�O定��中我���到 NIS 大部分是�o�^域�W路�鹊闹�C使用的, 所以��然就不需要 DNS 的�O定了。不�^,由於 NIS 使用到很多的主�C名�Q, 所以你一定要�O定好 /etc/hosts ���,否�t���o法成功�B� NIS ! �@��很重要,�^大部分的朋友�o法�_成 NIS server/client 的�B�都是�@�e出���}而已。 依��本案例的�O定值,你����@�幼觯�

[root@master ~]# vi /etc/hosts

192.168.4.106    master.davynis

192.168.4.108    slave.davynis

192.168.4.110  ubuntu

注意!如果你的主�C名�Q�c NIS 的主�C名�Q不一�樱�那�N在�@���n案��中�是需要�⒛愕闹�C名�Q�o他�O定�M�恚� 否�t在後面�Y料�斓脑O定�r,肯定���l生���}。��然啦,你也可以直接在 /etc/sysconfig/network ��中直接重新�O定主�C名�Q,然後重新�_�C,或者是利用 hostname �@��指令重新�O定你的主�C名�Q也可以。

除了�@���O定之外,有�r候你可能需要�O定 /etc/netgroup ,�m然比�^新的 distributions 都可以略�^�@���n案的�z查了,不�^建�h您�是可以�t解一下的啦!�@�� /etc/netgroup �n案可以��在我���W域�e面被信任的群,�@���n案的�热莓�中,每一行都有三���谖唬�分�e以逗�『,』隔�_,意�x�椋�

<host>,<user>,<domain>

主�C,使用者�ぬ�,�I域名�Q

事��上,如果�@���n案是『空的』的�,那�N代表著『全部的主�C、�ぬ��c�I域名�Q都接受』的意思,因�槲��已�在 /etc/ypserv.conf �e�^�O定好了�P於安全的�目了,所以�@���n案只要建立即可(本�硎遣淮嬖诘模�):

[root@master ~]# touch /etc/netgroup

________________________________________


 ��铀�有相�P的服��

接下�懋�然是先��铀�有相�P的服��樱��@包括 RPC, ypserv 以及 yppasswdd �樱� 不�^,如果你的 RPC 本�砭鸵呀���拥脑�,那就不要重新��� portmap 了!

[root@master ~]# /etc/init.d/portmap start

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

[root@master~]# /etc/init.d/yppasswdd start

注意,主要的 NIS服�帐�ypserv,NIS用�舳嗣艽a修改功,��� yppasswdd,利用 rpcinfo ��z查看看:

[root@master ~]# rpcinfo -p master.davynis

  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@master ~]# rpcinfo -u master.davynis ypserv

program 100004 version 1 ready and waiting

program 100004 version 2 ready and waiting

________________________________________


 建立�Y料��

在完成了上面的所有步�E後,接下�砦��得要�_始�⒅�C上面的�ぬ��n案�D成�Y料��n案啦! �D�Q的�幼髦苯油高^ /usr/lib/yp/ypinit �@��指令�硖�理即可!整��步�E是�@�幼龅模�

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

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

servers.  master.davynis 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.davynis  <==�@��地方系�y��主�幼降�

       next host to add:         <==按下 [ctrl]-d

The current list of NIS servers looks like this:

master.davynis

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...

gmake[1]: Entering directory `/var/yp/vbirdnis'

Updating passwd.byname...

....中�g省略....

gmake[1]: Leaving directory `/var/yp/vbirdnis'

master.vbirdnis has been set up as a NIS master server.

Now you can run ypinit -s master.vbirdnis on all slave server.

建立了�Y料�灬幔�你必需要通知 ypserv �c yppasswdd �@�芍Х��眨�告知�Y料�煲呀�被更改了, 所以你可以�@�幼觯�

[root@master ~]# /etc/init.d/portmap restart

[root@master ~]# /etc/init.d/ypserv restart

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

service portmap restart

service ypserv restart

service yppasswdd restart  

chkconfig --level 35 portmap on

chkconfig --level 35 ypserv on

chkconfig --level 35 yppasswdd on

要注意啊,如果你的使用者密�a有��舆^,那�N你就得要重新�u作�Y料�欤�重新��� ypserv 及 yppasswdd 喔! 注意注意啊!

________________________________________


 �c slave server 及�Y料�煊嘘P的一些�O定

��我���绦辛� ypinit -m 之後,所有的主�C上面的�ぬ�相�P�n案��被�D成�Y料��n案, �@些�Y料���被放置到 /var/yp/"davynis" ��中,您可以自行去�z查看看。

事��上,我��的 ypinit 其��是透�^ /var/yp/Makefile �磉M行�Y料�斓慕�立的呢!

如果你有 slave 伺服器的�,�是需要�M行 master/slave 的同步化吧? 那如何告知我��的 master 伺服器�①Y料�焯峁┙o slave 呢?�@���r候就得要修改 /var/yp/Makefile �樱� 您可以自行�M入��n案�炔殚�一些�Y料,不�^,基本上你只要改一��地方就好了:

[root@master ~]# vi /var/yp/Makefile

NOPUSH=false

接下�恚�你必需要告知 master 要推出去的�Y料�焓墙o哪部伺服器?

[root@master ~]# vi /var/yp/ypservers

master.davynis

slave.davynis

你可以�⑺�有的 slave 伺服器都加到 /var/yp/ypservers �n案��中,只要�得�伺服器的 IP 必需要在 /etc/hosts �瓤梢哉业���才行喔!如果你要提供 master/slave 伺服器的�Y料��n案�鬏��r, 那�N�需要��� ypxfrd �@��服�詹判校∵@��服�湛梢宰� slave 伺服器主�舆B�Y上 ypxfrd �砀�新�Y料�臁�

[root@master ~]# /etc/init.d/ypxfrd start

如果您的 master �C器想要直接�⒛承┨囟ǖ馁Y料�熘苯�鹘o slave 主�C的�, 那�N可以使用 yppush �@��指令

[root@master ~]# yppush -h slave.davynis passwd.*

如果 master/slave 的�Y料�觳环�合的�,那�N� passwd.byname 及 passwd.byuid 就��同步更新了!

1.再以 make 或者直接以 /usr/lib/yp/ypinit -m �硌u作出最新的�Y料�欤�

2.利用 yppush �@��指令功能�磉M行�Y料�斓�鬏�。

     如此一�恚�您就不需要�M行 slave 上面的其他�Y料�焯�理啦

________________________________________


NIS slave 的�O定�c���

NIS Client安装所需的软件

[root@slave ~]# yum -y install portmap ypbind yp-tools ypserv

�他保留在比�^乾�Q的�ぬ��Y料,例如�H有系�y�ぬ� (UID 小於 500 �鹊南到y�ぬ�),�@�涌梢员苊� UID 重�}出�F的���}

________________________________________


 �O定�W域

NIS slave需要�O定相同的�W域

1. 直接建立�I域名�Q

[root@slave ~]# nisdomainname davynis

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

/bin/nisdomainname davynis

或[root@slave ~]# vi /etc/sysconfig/network

# 加入底下�@一行:

NISDOMAIN=davynis

________________________________________


 主要�O定�n /etc/ypserv.conf

�@���O定�n也是很��蔚睦玻】梢耘c前面的 NIS master 相同即可。在�B哥的�@��例子��中, 我是直接在��n案加入�@三行而已喔!

[root@linux ~]# vi /etc/ypserv.conf

127.0.0.0/255.255.255.0   : * : * : none

192.168.4.0/255.255.255.0 : * : * : none

*                         : * : * : deny

或*                         : * : * : none

________________________________________


 /etc/hosts 及 /etc/netgroup

[root@slave ~]# touch /etc/netgroup

[root@slave ~]# vi /etc/hosts

192.168.4.106  master.davynis

192.168.4.108   slave.davynis

192.168.4.110  ubuntu

________________________________________


 ��铀�有服�占敖�立�Y料��

[root@slave ~]# /etc/init.d/portmap start

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

取�碜� master 伺服器的�Y料��n案

[root@slave ~]# /usr/lib/yp/ypinit -s master.davynis

We will need a few minutes to copy the data from master.vbirdnis.

Transferring hosts.byname...

Trying ypxfrd ... not running

Transferring services.byname...

Trying ypxfrd ... not running

....中�g省略....

Trying ypxfrd ... not running的�Y�, 但事��上�Y料�斓霓D移�是成功的!不相信的�,你可以使用底下�@��指令��y�一下�Y料�焓欠裾��_:

[root@slave ~]# ypcat -h localhost passwd.byname

如果有正�_的�出�ぬ�/密�a�Y料的�,呵呵!那就是 OK 的啦!

[root@slave ~]# vi /etc/crontab

# 在最後加入以 ypxfr �鬏��Y料的 script 喔!

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 �槔��碚f明好了:

[root@slave ~]# vi /usr/lib/yp/ypxfr_1perhour

# 找到�@一行:

 $YPBINDIR/ypxfr $map

# �⑺�改成�@�樱�

 $YPBINDIR/ypxfr $map -h master.davynis

________________________________________


 ��� ypbind ,� slave 也可以查��ぬ�/密�a

如果你的 slave �K�]有��� ypbind 的�,那�N slave ��o法以 master 所提供的�ぬ��淼侨氲模� 所以接下�恚���必�要��� ypbind �@��查�的功能,好�我��的 slave 伺服器也可以��ξ��自己的 NIS �W域 (davynis) �M行查�。 至於 ypbind 的��臃绞�t��⒖枷乱恍」�的 NIS client �O定方式吧!

至此�橹梗�你就已�具有一部 NIS master 及多部 NIS slave 的伺服器�樱�

________________________________________


防火���O置

我��的 NIS �c NFS 都是使用 RPC Server 的,所以�樱�都可以直接管制 111 �@�� port 即可!能�蛑苯右� /etc/sysconfig/iptables 管理 111 �@�� port ,例如�H允�S 192.168.4.0/24 �@���W域�M�淼脑�,可以在你的防火����t上面加上:

/#Firewall configuration written by system-config-securitylevel

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT - [0:0]

   -A INPUT -j RH-Firewall-1-INPUT

   -A FORWARD -j RH-Firewall-1-INPUT

   -A RH-Firewall-1-INPUT -i lo -j ACCEPT

   -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

   -A RH-Firewall-1-INPUT -p 50 -j ACCEPT

   -A RH-Firewall-1-INPUT -p 51 -j ACCEPT

   -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

   -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

   -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

   -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

   -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

   -A RE-Eirewall-1-INPUT -s 192.168.4.0/24 --dport 111 -j ACCEPT

   -A RH-Firewall-1-INPUT --dport 111 -j DROP

COMMIT

~

________________________________________


NIS Client 端的�O定

NIS client 基本上�是先搜�ぷ约旱� /etc/passwd, /etc/group 等�Y料後才再去找 NIS server 的�Y料�彀。∫嗉� UID, GID 均小於 500 以下的�ぬ�即可

________________________________________


NIS client 所需套件�c套件�Y��

NIS client 端所需要的套件�H有:

ypbind

yp-tools

即可,yp-tools 提供查�的��w,至於 ypbind �t是�c ypserv 互相�贤ǖ挠�舳诉B���w啦! 另外,在 CentOS ��中我���有很多�O定�n是�c�J�C有�P的,包含 ypbind 的�O定�n�r, 在�O定 NIS client 你可能需要�拥降紫碌�n案:

/etc/sysconfig/network :�e�^主要�O定了 NIS �I域名�Q,� ypbind ���r可以�O定好;

/etc/hosts :很重要吧!至少需要有各�� NIS 伺服器的 IP �c主�C名���;

/etc/yp.conf :�@���t是 ypbind 的主要�O定�n,�e面主要�� NIS server ;

/etc/sysconfig/authconfig :���ぬ�登入�r的允�S�J�C�C制;

/etc/pam.d/system-auth :�@��最容易忘�!因��ぬ�通常由 PAM 模�M所管理, 所以你必�要在 PAM 模�M�燃尤� NIS 的支援才行!

/etc/nsswitch.conf :�@���n案重要到不行!可以���ぬ�密�a�c相�P�Y�的查��序,�A�O是 /etc/passwd 再 NIS 等等;

另外, NIS �提供了���有趣的程式�o NIS 用�舳�磉M行�ぬ�相�P��档男薷模�例如密�a、shell 等等, 主要有底下�@���指令:

/usr/bin/yppasswd :更改你在 NIS database (NIS Server 所�u作的�Y料��) 的密�a

/usr/bin/ypchsh :同上,但是是更改 shell

/usr/bin/ypchfn :同上,但是是更改一些使用者的�息!

OK!那�N底下就�我���_始�碓O定 NIS client吧!

________________________________________


NIS client 的�O定�c���

��� NIS client 的�O定就��味嗔耍∽钪饕�是加入 NIS domain ��中,然後再��� ypbind 即可。 整���O定�^程是�@�拥模�

________________________________________


 �O定好 NIS domain 以及 /etc/hosts 主�C名���

�O定 NIS domain 就利用 nisdomainname �硖�理即可啊:

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

/bin/nisdomainname vbirdnis

或[root@ubuntu ~]# vi /etc/sysconfig/network

NISDOMAIN=vbirdnis

然後�t是主�C名�Q�c IP 的����O定�n,重要的很!

[root@ubuntu ~]# vi /etc/hosts

192.168.4.106    master.davynis

192.168.4.108   slave.davynis

192.168.4.110   client.davynis

________________________________________


 ��� ypbind �磉B�Y至 NIS server

要��� ypbind 必�要�O定很多的�n案,��在很麻��~不�^不打�o, CentOS 提供�o我��一��工具『authconfig』, 透�^�@��工具我��可以很快的�� ypbind �O定起�怼��只要在�K端�C�h境下下�_ authconfig-tui 就能�蛟O定了。�O定的方式如下所示:

authconfig 的使用�f明


系�y原本就��有 MD5 及 Shadow 的加密��a,您只要�x�裆�D的 NIS �目,然後按下 OK 便�M入到如下所示��面:

在你�入了正�_的 NIS �I域名�Q (Domain) 以及正�_的主�C名�Q (就是主控主�C) , �K且按下 OK 後,你的 CentOS 就��自�拥�湍��� portmap 以及 ypbind �@�芍С淌剑� 同�r���自�拥氖褂� chkconfig 的功能�湍�在�_�C�r自���� portmap 及 ypbind 喔!


手�犹�理的�,那�N��必�要手�拥男薷牡紫逻@些�n案:

/etc/nsswitch.conf (修改�S多主�C��C功能的�序)

/etc/sysconfig/authconfig (CentOS 的�J�C�C制)

/etc/pam.d/system-auth (登入所需要的 PAM �J�C�^程)

/etc/yp.conf (亦即是 ypbind 的�O定�n)

1. /etc/nsswitch.conf

[root@ubuntu ~]# vi /etc/nsswitch.conf

# �@���n案的�热萦邢喈�多,如果你只想要�M行登入��C,可以�@�樱�

passwd:     files nis

shadow:     files nis

group:      files nis

hosts:      files nis dns

2. /etc/sysconfig/authconfig

[root@ubuntu ~]# vi /etc/sysconfig/authconfig

USENIS=yes

3. /etc/pam.d/system-auth

[root@ubuntu ~]# vi /etc/pam.d/system-auth

password    sufficient    /lib/security/$ISA/pam_unix.so

nullok use_authtok md5 shadow

# 上面可是同一行喔!�⑺�改成:

password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow nis

4. /etc/yp.conf

[root@ubuntu ~]# vi /etc/yp.conf

# �@��是 ypbind 的主要�O定�n,主要�Z法是�@�拥模�

# domain [NIS�I域] server [主�C名�Q]

# 或者是透�^�V播,�m合用於大�W域有多部 NIS 伺服器�r:

# domain [NIS�I域] broadcast

domain davynis broadcast

�@�釉O定完成後,再�o他��� ypbind 即可:

[root@ubuntu ~]# /etc/init.d/portmap start

[root@ubuntu ~]# /etc/init.d/ypbind start

另外,那些手�犹�理的�n案��中, /etc/nsswitch.conf 是很重要的,因�樗���了 Linux 本�C要使用某些服��r,例如�ぬ�/密�a的�Y料、 主�C名�Q的����Y料、port number ���服�彰��Q的�Y料等等,�@些�Y料的搜�ろ�序! 更多的�Y料�自行�M入��n案�炔殚�,我��也��在 DNS 伺服器章�再次提到�@���n案的。

至於其他����O定�n, /etc/sysconfig/authconfig, /etc/pam.d/system-auth �t是�c使用者�ぬ�的��C有�P。

________________________________________


 利用 yptest �z��Y料�熘��y�:

直接�入 yptest 即可�z查相�P的�y��Y料,如下所示:

[root@ubuntu ~]# yptest

Test 1: domainname

Configured domainname is "vbirdnis"

Test 2: ypbind

Used NIS server: master.vbirdnis

Test 3: yp_match

WARNING: No such key in map (Map passwd.byname, key nobody)

....中�g省略....

Test 8: yp_maplist

hosts.byname

group.byname

passwd.byuid

group.bygid

passwd.byname

hosts.byaddr

....中�g省略....

Test 9: yp_all

....中�g省略....

1 tests failed

�倪@���y���中我��可以�l�F一些�e�`,重�c在第九��步�E yp_all 必�要有列出您 NIS server 上�^的所有�ぬ��Y�,如果有出�F�ぬ�相�P�Y料的�,那�N���就算��C成功了!比�^有���}的是第三步�E, 他��出�F在 passwd.byname ��中找不到 nobody 的字�印_@是因�樵缙诘� nobody 之 UID 都�O定在 65534 ,但 CentOS �t�� nobody �O定�橄到y�ぬ�的 99 ,所以��然不��被��, 也就出�F�@一��警告。不�^,�@���e�`是可忽略的啦! ^_^

________________________________________


 利用 ypwhich �z��Y料��盗�

�渭�使用 ypwhich 的�r候�@示的是『NIS Client 的 domain』名�Q,而��加入 -x �@�����r, �t是�@示『NIS Client �c Server 之�g�贤ǖ馁Y料�煊心男�?』你可以�@��y�哩!

[root@ubuntu ~]# ypwhich -x

Use "hosts"     for map "hosts.byname"

Use "group"     for map "group.byname"

Use "passwd"    for map "passwd.byname"

....以下省略....

由上面我��可以很清楚的就看到相�P的�n案啦!�@些�Y料��n案�t是放置在我的 NIS Server 的 /var/yp/davynis/* �e面�樱�

________________________________________


 利用 ypcat �x取�Y料��热�

除了 yptest 之外,你�可以直接利用 ypcat �x取�Y料�斓�热萼福∫话阕鞣ㄊ沁@�樱�

[root@ubuntu ~]# ypcat [-h nisserver] [�Y料�烀��Q]

��担�

-h nisserver :如果有�O定的�,指向某一部特定的 NIS 伺服器,

              如果�]有指定的�,就以 ypbind 之�O定�橹鳎�

�Y料�烀��Q:亦即在 /var/yp/vbirdnis/ �鹊�n名啊!例如 passwd.byname

�例:�x出 passwd.byname 的�Y料��热�

[root@ubuntu ~]# ypcat passwd.byname

�@三��指令在�M行 NIS Client 端的�z��r,是相��有用的喔!不要忽略了他的存在啊!尤其是��架�O好 NIS Client �r,一定要使用 yptest 去�z查看看有�]有�O定�e�`喔!根���幕�@示的�息去一��一��校正�e�`才行啊!

________________________________________


使用者��敌薷模� yppasswd, ypchfn, ypchsh

使用者如何在 NIS client 修改他自己的登入��担�例如密�a、shell 等等:

yppasswd :�c passwd 指令相同功能;

ypchfn :�c chfn 相同功能;

ypchsh :�c chsh 相同功能。


修改nistest密码

[nistest@ubuntu ~]$ yppasswd                  

不�^,如果要教育使用者使用 yppasswd 的�,他可能不太能�m��, 不要�o,你可以透�^修改 alias 或者是置�Q掉 /usr/bin/passwd �@支程式即可!

________________________________________


NIS �c NFS 的�O定�c�布���X�\用

不�缘媚�有�]有�l�F一件事情啊!那就是:我��的 NIS Server �O定的使用者家目�是在 /home 底下,

NFS �砑右栽O定啦!

在 NIS Server 上面�_放 /home �@��目�出�恚�

在 NIS Client 上面, mount NIS 主�C的 /home 到自己的 /home �e面去!

如此一�恚�不�登入哪一部 NIS Server 或 client ,使用者都是�M入到 NIS Server 的 /home �e面的家目��樱�

事��上,使用者的�Y�除了 /home 之外,像是 /var/spool/mail 以及 /var/spool/cron 也都是可能��有�Y料存放的目�,

1. �O定 NIS server 主�C的 NFS �_放目�:

[root@master ~]# vi /etc/exports

/home  192.168.4.0/24(rw,async)

[root@master ~]# exportfs -rv

exporting 192.168.4.0/24:/home

[root@master ~]# /etc/init.d/nfs start

[root@master ~]# chkconfig --level 35 nfs on

2. �O定 NIS Client 的 mount �Y料!

[root@ubuntu ~]# mount -t nfs -o bg,soft 192.168.4.106:/home /home

# 如果�@��指令�]有���},可以�⑺�加入 /etc/rc.d/rc.local ��中啊!

�@�右�恚�您的 NIS Clients 就具有和 NIS Server 主�C一模一�拥募夷夸�了!

事��上,�F�A段由於��人��X的相�P�O�洳坏�便宜,而且�\算效能�K不比一般大型��X慢, 因此很多人就在想:『那我可否�⒃S多��人��X透�^�W路串接起�恚��好�撞��人��X同步�\作一��程式, 那�N�程式就能�蛟诤芏痰�r�g�冗\算出�Y果�樱 缓呛牵∵@就是所�^的�布�式��人��X (PC cluster) 啦!

要��作 PC cluster 需要很多元件的配合,作�I系�y也是一��很重要的��担∧壳拜^常使用的��然就是 Linux 啦! 不�^我��知道 Linux 系�y的�\作需要用到使用者的相�P��担�例如 UID, GID 等等,所以�樱� 在 PC cluster ��中的每一部 Linux 的�ぬ�密�a以及『�n案系�y (filesystem) 』都需要相同才行! �楹�n案系�y需要相同呢?因�槟愕靡��每部主�C都使用到相同的一支程式吧?所以�樱� �@就需要 NIS �c NFS 的同步配合了!

由於『�A�y』�@��玩意�涸�碓街匾�,比如�f�庀箢A�蟆⒖�馄焚|�A�蟮鹊龋� 而�A�y需要一��很��大的模式�磉M行模�M的工作,�@�N��大的模�M工作需要大量的�\算, 在�W校�挝灰��I一部很�F的大型主�C��在很不容易!不�^,如果能�虼�接十部�p核心的��人��X的�, 那�N可能只需要不到 20 �f便能�蚪M成相��於具有 20 �w CPU 的大型主�C的�\算能力了! 所以�f,在未�� PC cluster 是一��可以�l展的�n�}喔!

________________________________________

指令����Y料

咱��前面�共�v到 NIS master server, NIS slave server, NIS client �@三��元件, 偏偏每��元件所需要��拥姆��找约翱墒褂玫闹噶疃疾幌嗤�, 所以�@�e�痛蠹�≌�一下���常�的指令吧! ^_^

相�P的�幼�NIS MasterNIS slaveNIS client

所需要��拥姆���ypservypserv

ypbindypbind

使用者能�蛐薷拿艽ayppasswddyppasswd

ypchfn

ypchsh

�Y料��鬏�服��ypxfrd

yppushypxfr

�Y料��y��x取yptest

ypwhich

ypcatyptest

ypwhich

ypcat

�Y料�斓慕�立ypinit -mypinit -s server

________________________________________


防火墙的设置

又�淼搅朔阑��的���了!要注意的是,我��的 NIS �c NFS 都是使用 RPC Server 的,所以�樱�除了上述�到的固定埠口之外, 你�得要�_放 port 111 才行。假�O你已�看�^前一章,而且是使用�B哥的 iptables.rule �_本�硖�理你的防火��, 那�N你可以修改��n案的�热荩�新增��l��t去:



NIS在ubuntu客户端配置:

安装NIS软件包

#sudo apt-get install nis portmap

在此过程中输入与NIS服务器端相同的NIS域名 davynis

/etc/yp.conf配置,新增以下内容

Ypserver 192.168.4.106

Ypserver 192.168.4.108

是NIS服务器的IP地址

修改/etc/passwd,/etc/group,/etc/shadow,


到此NIS客户端也就配置完了。

测试,通常用yptest,ypwhich,ypcat

yptest:测试 yp 的设定内容、数据库内容等等所有 NIS 相关的资料测试;

#yptest


看到test 9的测试内容为图中所示,则表示成功。为什么会出现test 3所示的警告信息,是因为在/var/yp/Makefile中默认的设置为


也就是不传送nobody这个账号。在ubuntu中nobody的UID,GID都为65534,如果是想传送并消除test 3的警告,则需要在NIS服务器端更改成


设置成“0”就是传送

重启动NIS服务

再次使用yptest,就会看到


就会看nobody也传送过来了,不会出现test 3 的错误了。

ypwhich:测试 NIS Client 与 Server 之间沟通的数据库 (database) 到底是哪几个档案;

#ypwhich

会显示NIS服务器的主机名

#ypwhich �Cx


ypcat:主要在取得 NIS Server 上面的使用者密码信息

#ypcat passwd.byname


也可以用geten命令查看

#getent passwd

#getent group

也能看到相应的NIS用户和组

(5)把admin04的家目录开机自动挂载到NIS的客户端

修改/etc/fstab

#sudo vim /etc/fstab


这时admin04用户登录到NIS客户端时,家目录也同时挂载上,否则当admin04登录时,会提示找不到家目录。

其它问题

以SSH登录不会出现什么提示,但是以桌面方式(ubuntu desktop)登录,会出现以下提示


出现以上信息,那么桌面上就是空白,什么菜单也没有,无法使用。这是因为在NFS端共享出来的家目录权限有问题,我的解决方法是在NFS服务器把admin04的权限修改成775。


出现以上信息,只要点"delete”就好了,只是桌面上一些小工具没有,还是可以用的。

结束语:

在这没有实验NIS的主从配置及在客户端更改密码yppasswd,ypchfn,ypchsh;觉的在生产环境中应用NIS不是太灵,相比之下 windows server的AD就比较好用,另外一种集中管理的方式LDAP也是可以的;还有一种方式就是利用samba把linux机器配置成域控制器,进行用户的 集中管理。文中没有修改的文件(ypserver.conf,ypserv.securenets,/etc/netgroup),都采用默认设置。为了 增强portmap安全性,还应配置/etc/hosts.deny,/etc/hosts.allow,/etc/ypserv.securenets 文件。


你可能感兴趣的:(主从NIS账号服务器配置管理)