帐号控管:NIS服务器

大型的网域当中,如果多部Linux主机,万一要每部主机都需要设定相同的帐号和密码,此时就可以通过一部帐号主控服务器来管理网域中所有主机的帐号,当其他的主机有用户

登入的需求时,才到这部主控服务器上面要求相关的帐号,密码等用户信息,这样的话如果想要增加,修改,删除用户数据,只要到这部主控服务器上面处理即可,这样就能够

降低重复设定使用者帐号的步骤了,这样的功能很多的服务器软件都可以达成,而这里介绍NIS server这个服务器软件

NIS 主要提供的是用户的账号、密码、家目录文件名、UID 等信息,但 NIS 并没有提供文件系统,同时,NIS同样使用到了RPC服务器

通常我们都会建议,一部Linux主机的功能越单纯越好,也就是说,一部Linux就专门进行一项服务,当发生入侵或者是系统产生状况的时候,也比较容易追查问题所在,因此

一个公司内部常常会有好几部Linux主机,有的负责WWW,有的负责Mail ,有的负责SAMBA等等的服务,不过,这样虽然有分散风险、容易追踪问题的好处,但是,由于是同一个

公司内的多部主机存在相同的帐号和密码,这个时候,我们就要专门设计一部用于管理帐号和密码的服务器,其他Linux主机当有客户端想要登入的时候,就必须要到这部管理

密码的服务器来查询用户的帐号与密码,如何一来就可以通过一部机器去统一管理帐号和密码了,这个就是NIS服务器的主要功能,当使用者登入时,Linux系统就会到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/rpc             每种 RPC 服务器所对应的程序号码

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

至少可以提供上述这些功能,当然你也可以自行定义哪些数据库需要,那些数据库不需要

NIS 的运作流程:透过 RPC 服务

由于NIS服务器主要是提供用户登入的信息给客户端主机来查询之用,所以,NIS服务器所提供的数据当然就需要用到传输与读写比较快速的“数据库”文件系统,而不是传统

的纯文本数据,为了达到这个目的,所以NIS服务器就必须要将一小节提到的那些档案制作成为数据库档案,然后使用网络协议让客户端主机来查询,至于所使用的通讯协议

与前一章的NFS相同,都使用远程过程调用(RPC)这个服务,当所有的LInux主机都向同一部NIS服务器要求用户数据时,这部NIS服务器的负载可能会过大,甚至如果考虑到

数据使用的风险,要是这单一的一部NIS服务器挂点了,那其他的Linux主机就无法让用户登入了,所以,在较为大型的企业环境当中,NIS服务器可以使用master/slave

(主控/辅助服务器) 架构的,Master NIS 服务器提供系统管理者制作的数据库, slave 则取得来自 master 的数据,并藉以提供其他客户端的查询,客户端可以向整个网域要求用户

资料的响应,master与slave皆可回答,由于slave的数据来自master,所以用户帐号数据本身是同步的,如果一方面可以分散NIS服务器的负载,而且也可以避免因NIS服务器

挂点而导致的无法登入的风险

整个NIS的运作,首先必须要有NIS server的存在,之后才会有NIS Client的存在,那么当使用者登入的需求时,整个NIS的运作程序是:

关于 NIS Server (master/slave) 的运作程序:

1.  NIS Master 先将本身的账号密码相关档案制作成为数据库档案;

2. NIS Master 可以主动的告知 NIS slave server 来更新;

3. NIS slave 亦可主动的前往 NIS master server 取得更新后的数据 库档案

4. 若有账号密码的异动时,需要重新制作 database 与重新同步化master/slave

关于当 NIS Client 有任何登入查询的需求时:

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

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

3. 每部 NIS server (不论 master/slave) 都可以响应,基本上是『先响应者优先』

由上面的流程可以发现NISclient还是 会先针对本机的帐号数据进行查询,若本机查不到时才到NIS server上头寻找,因此,如果你的NIS client本身就有很多一般使用者的帐号

时,那跟NIS server所提供的帐号就可能产生一定程度的差异,所以,一般来说,NIS client或NIS slave server会主动拿掉自己本机的一般使用者帐号,仅会保留系统所需要的

root及系统帐号而已,如此一来一般使用者才都会经由NIS maseter server 所控管

我们的 NIS 环境大致上需要设定的基本组件就有:

1.NIS Maseter server :将档案建置成数据库,并提供slave server 来更新

2. NIS Slave server :以Maseter server的数据库作为本身的数据库来源

3. 向master/server要求登入者的验证数据

就如同上面提到的,在大型环境中才会使用到这么复杂的 NIS master/slave 架构,这里仅会介绍NIS Master的建立,以及NIS client的设定而已,其实,NIS服务使用的环境大概

越来越仅局限在学术数值模式仿真的丛集计算机架构中 (PCcluster),仅学习NIS Master即可,如果还有其他帐号方面的要求,例如跨平台的帐号信息提供,那可能就要参考

Samba或更进阶的LDAP才好

NIS Server 端的设定   所需要的软件,由于NIS服务器需要使用RPC协议,且NIS服务器同时也可以当成客户端,因此他需要的软件有底下几个:

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

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

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

rpcbind :就是 RPC 一定需要的数据啊!

使用rpm -qa | grep '^yp' 来检查是否有安装上述的软件,一般来说yp-tools, ypbind 都会主动的安装,不过 ypserv 可能就不会安装了,建议你直接使用 yum install ypserv来安装

NIS 服务器相关的配置文件

在 NIS 服务器上最重要的就是 ypserv 这个软件了,但是,由于NIS设定时还会使用到其他网络参数设定数据:

/etc/ypserv.conf:  这是最主要的 ypserv 软件所提供的配置文件,可以规范 NIS 客户端是否可登入的权限

/etc/hosts:  由于 NIS server/client 会用到网络主机名与 IP 的对应,  因此这个主机名对应档就显的相当重要!每一部主机名与 IP 都需要记录才行

/etc/sysconfig/network:可以在这个档案内指定 NIS 的网域  (nisdomainname)

/var/yp/Makefile:前面不是说账号数据要转成数据库文件吗? 这就是与建立数据库有关的动作配置文件;

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

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

/usr/sbin/rpc.yppasswdd:提供额外的 NIS 客户端之用户密码修改服务,透过这个服务,NIS客户端可以直接修改NIS服务器上的密码,相关的使用程序则是yppasswd指令

与账号密码的数据库有关的指令方面有底下几个:

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

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

一个实作案例

NIS 的域名为 vbirdnis

整个内部的信任网域为 192.168.100.0/24

NIS master server 的 IP 为 192.168.100.254 ,主机名为 www.centos.vbird

NIS client 的 IP 为 192.168.100.10,主机名为clientlinux.centos.vbird

NIS server 的设定与启动:

首先要在NIS服务器上面搞定你的帐号与密码相关数据,这包括 /etc/passwd, /etc/shadow, /etc/hosts, /etc/group等等,都得要先搞定才行,

接着设定NIS的域名 (NIS domain name) , NIS是会分领域名 (domain name) 来分辨不同的账号密码数据的,因此你必须要在服务器与客户端指定相同的NIS领域名才行,设定

这个NIS领域名的动作是就直接编辑 /etc/sysconfig/network 即可,vim /etc/sysconfig/network 不要修改其他既有数据,只要加入底下几行即可:

NISDOMAIN=vbirdnis    <==设定 NIS 领域名

YPSERV_ARGS="-p 1011"   <==设定 NIS 每次都启动在固定的埠口

当然你也可以手动的方式暂时设定好你的NIS领域名,透过的方法就是nisdomainname 这个指令,其实 nisdomainname 与 ypdomainname 及 domainname

都是一模一样的指令,你只要记住一个指令名称即可。 请自行 man domainname,不过,这个指令现在大概只用来检查设定是否正确,因为启动NIS服务器时,服务器去捉取

的数据就是从 network 这个档案里面捉取的!所以只要改这个配置文件即可,另外,由于未来想使用 iptables 直接管理 NIS 的使用,因此我们想要控制NIS启动在固定的端口上,

此时, 就使用『YPSERV_ARGS="-p 1011"』这个设定值来固定端口在 1011

主要配置文件 /etc/ypserv.conf: 这个配置文件就是 NIS 服务器最主要的配置文件,内容其实很简单,你可以保留默认值即可,不过,也可以作一些更动的

dns: no  # NIS 服务器大多使用于内部局域网络,只要有 /etc/hosts 即可,不用 DNS

files: 30  # 默认会有 30 个数据库被读入内存当中,其实我们的账号档案并不多, 30个够用了

xfr_check_port: yes  # 与 master/slave 有关, 将同步更新的数据库比对所使用的端口口,放置于1024 内

# 底下则是设定限制客户端或 slave server 查询的权限,利用冒号隔成四部分:

# [主机名/IP] : [NIS 域名] : [可用数据库名称] : [安全限制]

# [主机名/IP] : 可以使用 network/netmask 如 192.168.100.0/255.255.255.0

# [NIS 域名] :例如本案例中的 vbirdnis

# [可用数据库名称]:就是由 NIS 制作出来的数据库名称;

# [安全限制] :包括没有限制 (none)、仅能使用 <1024 (port) 及拒绝 (deny)

# 一般来说,你可以依照我们的网域来设定成为底下的模样:

127.0.0.0/255.255.255.0  : * : * : none

192.168.100.0/255.255.255.0 : * : * : none

* : * : * : deny

# 星号 (*) 代表任何数据都接受的意思。上面三行的意思是,开放 lo 内部接口,  开放内部 LAN 网域,且杜绝所有其他来源的 NIS 要求的意思

还有一个简单作法,你可以先将上面三行批注,然后加入底下这一行即可:

* : * : * : none

在内部网域并不设定比较严格的限制,因此都是选择使用* : * : * : none 这个设定值,然后透过iptables来管控可使用的来源,当然,你可以依据你的需求来设定

设定主机名与IP对应  (/etc/hosts)

在 /etc/ypserv.conf 的设定当中我们谈到 NIS 大部分是给局域网络内的主机使用的,所以当然不需要DNS的设定了,不过,由于NIS使用到很多的主机名,但是网络联机透过

的是IP,所以你一定要设定好/etc/hosts里面的主机名与IP的对应,否则会无法成功联机NIS,这很重要,绝大部分无法达成NIS  server/client 的联机都是这里出问题而已

vim /etc/hosts   # 原本就有的 localhost 与 127.0.0.1 之类的设定都不要更动,只要新增数据:

192.168.100.254 www.centos.vbird

192.168.100.10  clientlinux.centos.vbird

hostname 在做个确认,确认输出的主机名与本机IP确实有写入/etc/hosts

注意!如果你的主机名 (hostname) 与 NIS 的主机名不一样,  那么在这个档案当中还是需要将你的主机名给他设定进来! 否则在后面数据库的设定时,肯定会发生问题

当然啦,你也可以直接在 /etc/sysconfig/network 当中直接重新设定主机名 ,然后重新启动,或者是利用 hostname 这个指令重新设定你的主机名也可以

4. 启动与观察所有相关的服务,接下来就是先启动所有相关的服务,包括RPC, ypserv 以及 yppasswdd,不过,如果你的RPC本来就已经启动的话,那就不需要重新启动

rpcbind了,此外为了也让yppasswd启动在固定的端口,方便防火墙的管理,因此,也建议你可以设定一下/etc/sysconfig/yppasswdd

vim /etc/sysconfig/yppasswdd

YPPASSWDD_ARGS="--port 1012"  <==找到这个设定值,修改一下内容成这样!

/etc/init.d/ypserv start

/etc/init.d/yppasswdd start

chkconfig ypserv on

chkconfig yppasswdd on

主要的NIS服务是ypserv,不过,如果要提供NIS客户端的密码修改功能的话,最好还是得要启动yppasswdd这个服务才行,在启动完毕后,我们可以利用rpcinfo来检查看看

rpcinfo -p localhost  # 看看埠口是否为我们规定的 1011, 1012 ,若不是的话,得要修改一下配置文件

rpcinfo -u localhost ypserv,如果rpc重新启动后,这将导致ypserv的注册数据被注销掉,因此,使用上述的动作来检测看看服务有没有等待中,要看到【就绪并等待服务】才

会是正常的

5. 处理账号并建立数据库

首先 使用大于 1000 的 UID 来建立这三个账号

useradd -u 1001 nisuser1   echo password | passwd --stdin nisuser1 同理依次建立三个用户

接下来,将建立的帐密数据转成数据库吧!转换的动作直接透过 /usr/lib64/yp/ypinit 这个指令来处理即可,整个步骤:

/usr/lib64/yp/ypinit -m 执行后要注意出现的信息当中,在告知你可以直接输入 [ctrl]-d 以结束的那个地方,你的主机名会主动的被捉出来,

注意!这个主机名务必需要在 /etc/hosts 可以被找到 IP的对应, 否则会出现问题。另外,万一在执行 ypinit -m 时,出现如下的错误,那肯定就是有些数据没有被建立了

# 解决方法很简单吶!缺少什么档案,就 touch 他就是了! 例如提示:No rule to make target `/etc/aliases', 此时就要执行touch /etc/aliases

/usr/lib64/yp/ypinit -m   然后再重新执行一次即可

如下的错误,那可能是因为:    你的 ypserv 服务没有顺利启动,请利用 rpcinfo 检查看看

你的主机名与 IP 没有对应好,请检查 /etc/hosts,

如果你的用户密码有变动过 ,那么你就得要重新制作数据库,重新启动ypserv 及 yppasswdd ,整个 NIS 服务器这样就给搞定了

防火墙设置

我们的 NIS 与 NFS 都是使用 RPC Server 的,除了上述谈到的固定埠口之外, 你还得要开放 port 111 才行

vim /usr/local/virus/iptables/iptables.allow

iptables -A INPUT -i $EXTIF -p tcp -s 192.168.100.0/24 --dport 1011 -j ACCEPT

iptables -A INPUT -i $EXTIF -p udp -s 192.168.100.0/24 -m multiport  --dport 1011,1012 -j ACCEPT

/usr/local/virus/iptables/iptables.rule # 千万记得要重新建置防火墙规则啊!

NIS Client端的设定

网络联机是双向的,NIS server提供数据库档案,NIS client当然也需要提供一些联机的软件,这个软件就是ypbind,NIS client会先搜索自己的/etc/passwd, /etc/group 等数据后才

再去找 NIS server 的数据库,所以NIS client最好能够将本身的账号密码删除到仅剩下系统账号,亦即UID,GID均小于500以下的账号即可,如此一来既可以系统执行无误,能

能够让登入者的信息完全来自NIS server ,比较单纯

NIS client 所需软件与软件结构

ypbind

yp-tools

yp-tools 是提供查询的软件,至于 ypbind 则是与 ypserv 互相沟通的客户端联机软件,另外,在 CentOS 当中我们还有很多配置文件是与认证有关的,包含 ypbind 的配置文件时

,在设定NIS client 你可能需要动到底下的档案:

/etc/sysconfig/network:就是 NIS 的领域名

/etc/yp.conf:这个则是 ypbind 的主要配置文件,里面主要设定 NIS 服务器所在

/etc/sysconfig/authconfig:规范账号登入时的允许认证机制;

/etc/pam.d/system-auth :这个最容易忘记!因为账号通常由 PAM 模块所管理, 所以你必须要在 PAM 模块内加入 NIS 的支持才行

/etc/nsswitch.conf :这个档案可以规范账号密码与相关信息的查询顺序,默认是先找 /etc/passwd 再找 NIS 数据库

NIS 还提供了几个有趣的程序给 NIS 客户端来进行账号相关参数的修改,例如密码、shell 等等, 主要有底下这几个指令:

/usr/bin/yppasswd :更改你在 NIS database (NIS Server 所制作的数据库) 的密码

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

/usr/bin/ypchfn :同上,但是是更改一些用户的讯息!

NIS client 的设定与启动

NIS client的设定最主要是加入NIS domain当中,然后再启动ypbind即可,虽然你可以手动去修改所有的配置文件,然而近期以来的 Linux distributions 账号处理机制越来越复杂,

所以如果你想要手动修改所有配置文件,恐怕会疯掉的~因此,这里建议你使用系统提供的工具来设定,就利用 setup 这个指令即可

执行setup后,出现页面选择『Authentication configuration』的项目,因为我们要用 NIS 作为登入者身份验证的机制,因此就得要选择 NIS 项目,如果是英文的话,得要选择

『Use NIS』项目即可,最后再填写 NIS 网域 (Domain) 以及 NIS 服务器的 IP (Server),按下确定即可。上述的结果有问题那就代表你的NIS client没有办法连接上NIS server,

最常发生的就是服务器的防火墙忘记放行,或者是你客户端输入服务器 IP 时,打错数字了,说到setup到底修改了哪些重要配置文件

cat /etc/sysconfig/network    NISDOMAIN=vbirdnis <==这个玩意儿会主动的被建立起来

cat /etc/yp.conf          domain vbirdnis server 192.168.100.254 <==主动建立这玩意儿~

vim /etc/nsswitch.conf    你会看到,每个项目后面都会接着 nis ,所以 nis 有被支持,且顺序排在本地的账号密码查询顺序之后

因为更动到的档案实在太多了,所以鸟哥还是建议使用 setup 来调整即可,如果你真的想要手动处理的话, 那么你必须要手动的修改底下这些档案:

/etc/sysconfig/network (加入 NISDOMAIN 项目)

/etc/nsswitch.conf (修改许多主机验证功能的顺序)

/etc/sysconfig/authconfig (CentOS 的认证机制)

/etc/pam.d/system-auth (许多登入所需要的 PAM 认证过程)

/etc/yp.conf (亦即是 ypbind 的配置文件)

NIS client 端的检验: yptest, ypwhich, ypcat

如何确定NIS client已经连上NIS server了,基本上,只要刚刚使用setup去设定时,最后的步骤没有被卡住,那应该就是顺利成功了,该步骤自动启动 rpcbind 与 ypbind 两个服务

如何确认数据传送的正确? 你可以利用 id 指令直接检查 NIS server 有的,但是 NIS client 没有的账号,如果有出现该账号的相关 UID/GID 信息时,那表示数据传输也是正确的

除此之外,我们还可以透过 NIS 提供的相关检验功能来检查

利用 yptest 检验数据库之测试:

直接在 NIS client 输入 yptest 即可检查相关的测试数据,执行yptest之后,注意yp_all必须要有列出你NIS server上头的所有账号信息,如果有出现账号相关数据的话,那就成功了

比较有问题的是第三步骤,他会出现在 passwd.byname 当中找不到 nobody 的字样这是因为早期的 nobody 之 UID 都设定在 65534 ,但 CentOS 则将 nobody 设定为系统账号的

99 ,所以当然不会被记录,也就出现这一个警告。不过,这个错误是可忽略的啦

利用 ypwhich 检验数据库数量

使用ypwhich的时候显示的是『NIS Client 的 domain』名称,而当加入-x这个参数时, 则是显示『NIS Client 与 Server 之间沟通的数据库有哪些,执行ypwhich -x,从结果中可以

看到相关的档案,这些数据库档案则是放置在我的NIS Server的/var/yp/vbirdnis/* 里面

利用 ypcat 读取数据库内容       ypcat [-h nisserver] [数据库名称]

选项与参数:

-h nisserver :如果有设定的话,指向某一部特定的 NIS 服务器,  如果没有指定的话,就以 ypbind 之设定为主;数据库名称:亦即在 /var/yp/vbirdnis/ 内的档名啊

# 读出 passwd.byname 的数据库内容,那么就执行ypcat passwd.byname

这三个指令在进行 NIS Client 端的检验时,是相当有用的,尤其是刚架设好 NIS Client 时,一定要用 yptest 去检查看看有没有设定错误,根据屏幕显示讯息去一个一个校正错误

使用者参数修改: yppasswd, ypchfn, ypchsh

完成了上述的设定后,你的 NIS server/client 的账号已经同步了,还有一个挺大的问题,那就是使用者如何在NISclient修改他自己的登入参数,例如密码、shell 等等?

因为 NIS client 是藉由数据库来取得用户的账号密码,那如何在 NIS 客户端处理账号密码的订正,这时我们就需要在NIS server上启动yppasswdd这支服务

因为 yppasswdd 可以接收 NIS client 端传来的密码修改,藉此而处理 NIS server 的 /etc/passwd, /etc/shadow , 然后 yppasswdd 还能够重建密码数据库,

让 NIS server 同步更新数据库!

那如何下达命令?透过 yppasswd, ypchsh, ypchfn 来处理即可

yppasswd :与 passwd 指令相同功能;

ypchfn :与 chfn 相同功能

ypchsh :与 chsh 相同功能

因为功能相当,所以鸟哥这里仅说明一下 yppasswd 而已。假设你已经登入 NIS client 那部主机, 并且是以 nisuser1 这个使用者登入的,记住,这个用户相关数据仅在 NIS

server 上,接下来,这个使用者可以下达 yppasswd

grep nisuser /etc/passwd <==不会出现任何讯息,因为无此账号

su - nisuser1 <==直接切换身份看看

-bash-4.1$ id 出现这样的结果,因为我们 client.centos.vbird 仅有帐户信息,并没有用户家目录

所以就会出现如上的警告,因此才需要用 id 验证,并且需要加挂 NFS 嘛

仔细看,现在的身份确实是 nisuser1 喔!确实有连上 NIS server,执行yppasswd,输入旧密码和新密码后,执行exit,这样就更新了NIS server 上头的

/etc/shadow 以及 /var/yp/vbirdnis/passwd.by* 的数据库,一下子就同步化了,不过,如果要教育使用者使用 yppasswd 的话,他可能不太能适应, 不要紧,你可以透过修改

alias 或者是置换掉 /usr/bin/passwd 这支程序即可,接着让我们回到 NIS 服务器端看看真的有更动到数据库 ll /var/yp/vbirdnis/,密码档案被更动过~时间已经不一样了

tail /var/log/messages从登陆档中也能够得到相关的记录

NIS 搭配 NFS 的设定在丛集计算机上的应用,刚刚使用nisuser1登入测试中,可以看到nisuser1没有家目录,这是因为nisuser1的家目录是在服务器端的/home上头

而你在客户端登入时, 在客户端的 /home 底下根本不可能有 nisuser1 的家目录,此时就要将服务器端的/home 挂载到客户端上面即可,那这个观念就是丛集计算机

什么是丛集计算机?

由于目前个人计算机的CPU速度越来越快,核心数目越来越多,因此个人计算机的效能不比服务器等级的大型计算机差了,不过,如果用来作为计算机大型数值模式的应用

即使是最快的个人计算机,还是没有办法有效的负荷的,。此时你可能就得要考虑一下, 是要买超级计算机 (Top 500) 还是要自己组一部 PC 丛集计算机 (PC cluster)

超级计算机是透过内部电路将多颗CPU与内存连接在一块,因为特殊设计,因此价格昂贵,我们可以将便宜的个人计算机串联在一块,将数值运算分给每一部串联在一块

的个人计算机,那就不是相当于超级计算机了吗?

在 PC cluster 上面的所有计算机就得要有

相同的用户帐户信息,包括账号、密码、家目录等等一大堆信息;

相同的文件系统,例如 /home, /var/spool/mail 以及数值程序放置的位置

可以搭配的平行化函式库,常见的有 MPICH, PVM...

上面的三个项目中,第一个可以透过NIS处理,第二个可以使用NFS来处理,在未来 PC cluster 是一个可以发展的课题

那我们来实际操作一下平行化得丛集架构,老实说很麻烦,我们现在至少可以先完成前面的两个组件,分别是NIS和NFS,现在网络中的用户账号实在是太紊乱了

如果将服务器的/home目录挂载到客户端的/home,那么客户端的很多本地用户都无法登入了,因此可以:建立大于 2000 以上的账号,账号名称为 cluser1, cluser2, cluser3 (将

cluster user 缩写为 cluser,不是少写一个 t 喔!),且这些账号的家目录预计放置于 /rhome 目录内,以与 NIS client 本地的用户分开

操作前提

NIS 服务器:领域名为 vbirdcluster,服务器是 www.centos.vbird (192.168.100.254),客户端是 clientlinux.centos.vbird (192.168.100.10);

NFS 服务器:服务器分享了 /rhome 给 192.168.100.0/24 这个网域,且预计将所有程序放置于 /cluster 目录中。 此外,假设所有客户端都是很干净的系统,因此不需要压缩客户

端 root 的身份。

NFS 客户端:将来自 server 的文件系统都挂载到相同目录名称底下!

那就分别来实作一下

NIS 实作阶段  mkdir /rhome

useradd -u 2001 -d /rhome/cluser1 cluser1             useradd -u 2002 -d /rhome/cluser2 cluser2               useradd -u 2003 -d /rhome/cluser3 cluser3

echo password | passwd --stdin cluser1                 echo password | passwd --stdin cluser2                    echo password | passwd --stdin cluser3

# 2. 修改 NISDOMAIN 的名称

vim /etc/sysconfig/network

NISDOMAIN=vbirdcluster <==重点在改这个项目喔!这个案例中,你只要做完上述的动作就即将完成了,其他的配置文件请参考之前的设置,接下来当然就是重新启动 ypserv 以

及制作数据库,

# 3. 制作数据库以及重新启动所需要的服务:

nisdomainname vbirdcluster      /etc/init.d/ypserv restart   /etc/init.d/yppasswdd restart    /usr/lib64/yp/ypinit -m

上述的这四个指令稍微有相依性关系的!所以不要错乱了顺序

换到客户端进行:

以 setup 进行 NIS 的设定,在领域的部分请转为 vbirdcluster 才对,做完后再以 id cluser1 确认看看。

NFS 服务器的设定   mkdir /cluster

vim /etc/exports

/rhome 192.168.100.0/24(rw,no_root_squash

/cluster 192.168.100.0/24(rw,no_root_squash)

# 2. 重新启动 NFS  /etc/init.d/nfs restart         showmount -e localhost    结果显示Export list for localhost: /rhome 192.168.100.0/24 /cluster 192.168.100.0/24

服务器的设定是很单纯的~客户端的设定得要注意

设定 NIS Client 的 mount 数据!

mkdir /rhome /cluster

mount -t nfs 192.168.100.254:/rhome /rhome                  mount -t nfs 192.168.100.254:/cluster /cluster

# 如果上述两个指令没有问题,可以将他加入 /etc/rc.d/rc.local 当中啊

su - cluser1  最后你应该就能够在客户端以 cluser1 登入系统,就这么简单的将账号与文件系统同步做完,登入之后就会有对应的家目录了

Linux NIS服务相关推荐

  1. linux机群下NFS+NIS服务的搭建以及MPICH的简单安装

    MPICH是目前应用最广泛的免费MPI系统,也是运行在大部分机群系统的MPI并行环境 MPICH的网址是:http://www.mcs.anl.gov/mpi/mpich,从此处可以下载源程序mpic ...

  2. DHCP服务和NIS服务

    <本章目标> ■ 掌握Linux系统网络配置 ■ 掌握DHCP和NIS的服务器配置和客户端使用 ■ 使用DHCP中继代理实现跨网段的网络地址自动分配 ■ 使用NIS服务实现主机和用户帐户的 ...

  3. linux 常见服务

    acpid ACPI(全 称 Advanced Configuration and Power Interface)服务是电源管理接口.建议所有的笔记本用户开启它.一些服务器可能不需要 acpi.支持 ...

  4. linux常见服务解释

    转载于http://blog.chinaunix.net/uid-10697776-id-3324147.html acpid ACPI(全 称 Advanced Configuration and ...

  5. linux 系统启动服务setup设置

    本文来自网络收集,备注于此: 不要关闭以下服务(除非你有充足的理由): acpid, haldaemon, messagebus, klogd, network, syslogd 请确定修改的是运行级 ...

  6. Centos8搭建并应用NIS服务

    1.NIS是Sun Microsystem于1985年发布的一项目录服务技术(Diretory Service),用来 集中控制 几个系统管理数据库的网络用品.. NIS简化了 UNIX 和 LINU ...

  7. Linux网络服务-Web Service之【HTTP协议简介】(一)

    一.什么是HTTP? 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收 ...

  8. Linux网络服务基础

    Linux网络服务基础<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /& ...

  9. Linux网络服务_邮件服务器-Redhat Enterprise 5.9

    Linux网络服务_邮件服务器-Redhat Enterprise 5.9 案例环境: 邮件服务器:mail.tarena.com192.168.1.100 邮件域:@tarena.com 邮件账号: ...

最新文章

  1. 用 PHP 读取 XML
  2. (原创分享,改进版)CSS样式表速成!
  3. numba.jit警告:Compilation is falling back to object mode WITH looplifting enabled because Function
  4. 9-15 redis-trib构建集群
  5. 语法错误 : 缺少“;”(在“<”的前面)
  6. Zebra命令模式分析
  7. 计算机二级java应用题怎么答,2015年计算机二级考试JAVA基本操作和简单应用题
  8. 2017国二c语言考试试卷,2017备考计算机二级C语言真题试卷
  9. ccf csp 题目:门禁系统
  10. 两张图片放在一起有条白线_用photoshop对两幅图无缝拼接后,怎么消除接口那条明显的线?...
  11. 【总结】1268- 几个前端代码部署的灵魂拷问
  12. 伦敦国王学院计算机申请要求,2020年伦敦国王学院高级计算机专业研究生申请条件及世界排名|学费介绍...
  13. Node 的单元测试--jasmine
  14. IoT DDoS警报系统是如何帮助我们预测网络攻击的?
  15. 【C语言关键知识点1】C语言的预处理、编译和链接过程
  16. radius系列:freeradius测试
  17. php 判断app浏览器打开,手机浏览器下判断是否安装某app,并判断是否打开该应用...
  18. 数据结构与算法——树和二叉树***
  19. C语言:最大公约数详解
  20. norflash启动uboot

热门文章

  1. 编写dylib_iOS逆向-无需越狱注入动态库
  2. 轮廓图编程-自定义QChartView
  3. 如何避免背光源正负极做错?
  4. 汇编语言入门--调试工具debug的使用(史上最全,11种常见命令)
  5. cisco 华三 对接_H3C 交换机与Cisco交换机采用链路聚合对接的配置案例
  6. 使用oracle函数 LISTAGG 函数报错。ORA-00923: 未找到要求的 FROM 关键字
  7. margin-top、top、以及position的总结
  8. 磊科linux无线网卡驱动安装步骤,磊科NW336无线网卡驱动程序安装步骤
  9. Openpyxl 修改单元格长宽
  10. Oracle DataGuard介绍