📄 0430nis.htm
字号:
UID, GID 均小于 500 以下的帐号即可</span>,
如此一来既可让系统执行无误,也能够让登入者的资讯完全来自 NIS server ,比较单纯啦!<br />
<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen"> 事实上,你想要让 NIS 伺服器写入的各项帐号资料都在 NIS server 的 /var/yp/Makefile 那个档案设定的!
您可以进入该档案搜寻一下 UID 就知道了! ^_^
</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
<hr /><a NAME="nis_client_pack"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">NIS client
所需套件与套件结构</span><br />
<div class=block2>
NIS client 端所需要的套件仅有∶<br />
<ul>
<li>ypbind
<li>yp-tools</ul>
即可,yp-tools 提供查询的软体,至于 ypbind 则是与 ypserv 互相沟通的用户端连线软体啦!
另外,在 CentOS 当中我们还有很多设定档是与认证有关的,包含 ypbind 的设定档时,
在设定 NIS client 你可能需要动到底下的档案∶<br />
<ul>
<li><span class=text_import1>/etc/sysconfig/network</span>
∶里头主要设定了 NIS 领域名称,让 ypbind 启动时可以设定好;
<li><span class=text_import1>/etc/hosts</span> ∶很重要吧!至少需要有各个 NIS 伺服器的 IP 与主机名对应;
<li><span class=text_import1>/etc/yp.conf</span> ∶这个则是 ypbind 的主要设定档,里面主要规范 NIS server ;
<li><span class=text_import1>/etc/sysconfig/authconfig</span> ∶规范帐号登入时的允许认证机制;
<li><span class=text_import1>/etc/pam.d/system-auth</span> ∶这个最容易忘记!因为帐号通常由 PAM 模组所管理,
所以你必须要在 PAM 模组内加入 NIS 的支援才行!
<li><span class=text_import1>/etc/nsswitch.conf</span>
∶这个档案重要到不行!可以规范帐号密码与相关资讯的查询顺序,预设是 /etc/passwd 再 NIS 等等;
</ul>
另外, NIS 还提供了几个有趣的程式给 NIS 用户端来进行帐号相关参数的修改,例如密码、shell 等等,
主要有底下这几个指令∶<br />
<ul><span class=text_import2><font face="细明体">
<li>/usr/bin/yppasswd ∶更改你在 NIS database (NIS Server 所制作的资料库) 的密码
<li>/usr/bin/ypchsh ∶同上,但是是更改 shell
<li>/usr/bin/ypchfn ∶同上,但是是更改一些使用者的讯息!
</font></span></ul>
OK!那么底下就让我们开始来设定 NIS 用户端吧!^_^<br /><br />
</div>
<hr /><a NAME="nis_client_setup"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">NIS client
的设定与启动</span><br />
<div class=block2>
启动 NIS client 的设定就简单多了!最主要是加入 NIS domain 当中,然后再启动 ypbind 即可。
整个设定过程是这样的∶<br /><br />
<hr /><li><span class=text_import1>设定好 NIS domain 以及 /etc/hosts 主机名对应</span></li>
<div class=block2>
设定 NIS domain 就利用 nisdomainname 来处理即可啊∶<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. 直接建立领域名称</span>
[root@linux ~]# <span class=term_command>nisdomainname vbirdnis</span>
<span class=term_hd>2. 开机立即启动此一领域名称</span>
[root@linux ~]# <span class=term_command>vi /etc/rc.d/rc.local</span>
<span class=term_say># 加入底下这一行∶</span>
<span class=term_write>/bin/nisdomainname vbirdnis</span>
<span class=term_hd>3. 预设在启动 ypbind 时,设定 NIS 领域名</span>
[root@linux ~]# <span class=term_command>vi /etc/sysconfig/network</span>
<span class=term_say># 加入底下这一行∶</span>
<span class=term_write>NISDOMAIN=vbirdnis</span>
</pre></td></tr></table>
然后则是主机名称与 IP 的对应设定档,重要的很!<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/hosts</span>
<span class=term_write>192.168.1.2 master.vbirdnis
192.168.1.10 slave.vbirdnis
192.168.1.100 client.vbirdnis</span>
</pre></td></tr></table>
这样就好了!继续下一步! <br /><br />
</div>
<a name="ypbind"></a><hr /><li><span class=text_import1>启动 ypbind 来连结至 NIS server </span></li>
<div class=block2>
<span class=text_import2>要启动 ypbind 必须要设定很多的档案,实在很麻烦~不过不打紧,
CentOS 提供给我们一个工具『authconfig』</span>,
透过这个工具我们可以很快的将 ypbind 设定起来。你只要在终端机环境下下达
authconfig 就能够设定了。设定的方式如下所示∶<br /><br />
<a name="authconfig"></a>
<center>
<img src="0430nis/authconfig_01.png"
alt="authconfig 的使用说明"
title="authconfig 的使用说明"><br />
图二、authconfig 的使用说明</center><br />
系统原本就会有 MD5 及 Shadow 的加密编码,您只要选择上图的 NIS 项目,然后按下 OK
便进入到如下所示画面∶<br /><br />
<center>
<img src="0430nis/authconfig_02.png"
alt="authconfig 的使用说明"
title="authconfig 的使用说明"><br />
图三、authconfig 的使用说明(续)</center><br />
在你输入了正确的 NIS 领域名称 (Domain) 以及正确的主机名称 (就是主控主机) ,
并且按下 OK 后,<span class=text_import2>你的 CentOS 就会自动的帮你启动 portmap 以及 ypbind 这两支程式,
同时还会自动的使用 chkconfig 的功能帮您在开机时自动启动 portmap 及 ypbind 喔!</span>
真的是很方便吧!这样你就启动了 ypbind 了!很简单吧!<br /><br />
如果你真的想要手动处理的话,那么你必须要手动的修改底下这些档案∶<br />
<ul><span class=text_import2>
<li>/etc/nsswitch.conf (修改许多主机验证功能的顺序)
<li>/etc/sysconfig/authconfig (CentOS 的认证机制)
<li>/etc/pam.d/system-auth (许多登入所需要的 PAM 认证过程)
<li>/etc/yp.conf (亦即是 ypbind 的设定档)
</span></ul>
事实上, <a href="#authconfig">authconfig</a> 指令也是在处理这些档案而已。
我们就来谈一谈这个小细节吧!<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. /etc/nsswitch.conf</span>
[root@linux ~]# <span class=term_command>vi /etc/nsswitch.conf</span>
<span class=term_say># 这个档案的内容有相当多,不过如果你只想要进行登入验证,可以这样∶</span>
passwd: files <span class=term_write>nis</span>
shadow: files <span class=term_write>nis</span>
group: files <span class=term_write>nis</span>
hosts: files <span class=term_write>nis</span> dns
<span class=term_say># 亦即只要加入 nis 即可!这几个设定的意义是∶
# 1. passwd: 就是使用者相关资讯查寻,分别为 /etc/passwd, nis
# 2. shadow: 就是使用者密码的查寻, /etc/shadow, nis
# 3. group: 就是使用者的群组资讯查寻, /etc/group, nis
# 4. hosts: 就是主机名称与IP对应的查寻,/etc/hosts, nis 及 /etc/resolv.conf</span>
<span class=term_hd>2. /etc/sysconfig/authconfig</span>
[root@linux ~]# <span class=term_command>vi /etc/sysconfig/authconfig</span>
USENIS=no
<span class=term_say># 这个档案的内容很好修改!只要将上面 NIS 部分改成 yes 即可∶</span>
USENIS=<span class=term_write>yes</span>
<span class=term_hd>3. /etc/pam.d/system-auth</span>
[root@linux ~]# <span class=term_command>vi /etc/pam.d/system-auth</span>
<span class=term_say># 这个部分也很重要!很容易忘记啦!修改 PAM 的设定档找到如下一行∶</span>
password sufficient /lib/security/$ISA/pam_unix.so nullok
use_authtok md5 shadow
<span class=term_say># 上面可是同一行喔!将他改成∶</span>
password sufficient /lib/security/$ISA/pam_unix.so nullok
use_authtok md5 shadow <span class=term_write>nis</span>
<span class=term_hd>4. /etc/yp.conf</span>
[root@linux ~]# <span class=term_command>vi /etc/yp.conf</span>
<span class=term_say># 这个是 ypbind 的主要设定档,主要语法是这样的∶
# domain [NIS领域] server [主机名称]
# 或者是透过广播,适合用于大网域有多部 NIS 伺服器时∶
# domain [NIS领域] broadcast</span>
<span class=term_write>domain vbirdnis broadcast</span>
</pre></td></tr></table>
这样设定完成后,再给他启动 ypbind 即可∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>/etc/init.d/portmap start</span>
[root@linux ~]# <span class=term_command>/etc/init.d/ypbind start</span>
</pre></td></tr></table>
你可以手动处理,也可以直接使用 <a href="#authconfig">authconfig</a> 啦!
鸟哥这里倒是建议您可以直接使用 authconfig 比较简单啊! ^_^!<br /><br />
另外,那些手动处理的档案当中,
/etc/nsswitch.conf 是很重要的,因为他规范了 Linux 本机要使用某些服务时,例如帐号/密码的资料、
主机名称的对应资料、port number 对应服务名称的资料等等,这些资料的搜寻顺序!
更多的资料请自行进入该档案内查阅,我们也会在 DNS 伺服器章节再次提到这个档案的。<br /><br />
至于其他两个设定档, /etc/sysconfig/authconfig, /etc/pam.d/system-auth 则是与使用者帐号的验证有关,
这是 CentOS (Red Hat 系统) 所惯用的设定档,如果没有修改设定的话,那么顺利启动 ypbind 也是无法登入的啦!
这样说,可以了解吧! ^_^
</div>
</div>
<hr /><a NAME="nis_client_check"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">NIS client 端的检验∶
yptest, ypwhich, ypcat</span><br />
<div class=block2>
如何确定 NIS client 已经连上 NIS server 呢?简单的要命啊!你可以利用 id 这个指令直接检查 NIS server
有的,但是 NIS client 没有的帐号,如果有出现该帐号的相关 UID/GID 资讯时,那表示有连接上啊!
除此之外,我们还可以透过 NIS 提供的相关检验功能来检查喔!底下分别来瞧一瞧∶<br /><br />
<a name="yptest"></a><hr /><li><span class=text_import1>利用 yptest 检验资料库之测试∶</span></li>
<div class=block2>
直接输入 yptest 即可检查相关的测试资料,如下所示∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>yptest</span>
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)
<span class=term_say>....中间省略....</span>
Test 8: yp_maplist
hosts.byname
group.byname
passwd.byuid
group.bygid
passwd.byname
hosts.byaddr
<span class=term_say>....中间省略....</span>
Test 9: yp_all
<span class=term_say>....中间省略....</span>
1 tests failed
</pre></td></tr></table>
从这个测试当中我们可以发现一些错误,<span class=text_import2>重点在第九个步骤 yp_all 必须要有列出您 NIS server
上头的所有帐号资讯,如果有出现帐号相关资料的话,那么应该就算验证成功了</span>!比较有问题的是第
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -