linux的NIS
‘壹’ nis是什么意思
网络信息服务(NIS)
(Network Information Service)
NIS是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和linux桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。
提到NIS不得不先说明一下WINDOWS2000的域控制器,在局域网内有一台WIN2000域控制器,下面有一些机器加入到这个域中,在下的机器登录时,有一个选项是选择登入到本机还时登入到域内,登入本地的密码有本机控制,但是如果登入域内,密码由域控制器负责管理。
LINUX也是操作系统,跟WIN2000没有本质的区别,所以仔细读上段话,就能理解NIS是原理是什么样了,这时出现了一个重要的文件/etc/nsswitch.conf
NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。ypserv是回答客户端查询的服务器进程。
‘贰’ linux 怎么实现用NIS服务本地用户远程登录
搭建NIS服务器实现用户集中化认证。
NIS服务器概述
NIS网络信息服务,模式是C/S 模式。NIS是集中控制几个系统管理数据库的网络产品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd。管理员只需要简单的使用维护NIS服务器的文件即可。
Linux系统中用户按地域分两类:本地用户,远程用户(NIS,LDAP,AD)
ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所有客户端的查询都发往NIS服务器。
ypserv是回答客户端查询的服务器进程。
使用的场景:
在一个大型的网域当中,如果有多部 Linux 主机,万一要每部主机都需要设定相同的账号与密码时,如果能够有一部账号主控服务器来管理网域中所有主机的账号, 当其他的主机有用户登入的需求时,才到这部主控服务器上面要求相关的账号、密码等用户信息, 如此一来,如果想要增加、修改、删除用户数据,只要到这部主控服务器上面处理即可, 这样就能够降低重复设定使用者账号的步骤了!
NIS工作流程
NIS服务的应用结构分为NIS服务器和NIS客户机两种角色,NIS服务器集中维护用户的帐号信息(数据库)供NIS客户机进行查询,用户登录任何一台NIS客户机都会从NIS服务器进行登录认证,可实现用户帐号的集中管理。1.Nis Master先将帐号密码相关文件制作成数据库文件;2.若有帐号密码变动时,需要重新制作数据库文件并重新同步Master/Slave。3.NIS client 若有登入需求时,会先查询其本机的 /etc/passwd, /etc/shadow 等档案;4.若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询;5.每部 NIS server (不论 master/slave) 都可以响应,基本上是‘先响应者优先’
一:实验目标
实战:配置NIS服务器实现集中化认证。
实战:在客户端自动挂载NIS用户家目录
二:实验环境
NIS服务端 :xuegod63 IP:192.168.1.63
Web服务端 :xuegod64 IP:192.168.1.64
客户端 :xuegod62 IP:192.168.1.62
参考: http://www.2cto.com/net/201705/638244.html
‘叁’ Linux的NIS服务器怎么搭建
一、服务器配置:1、第1张安装光盘中包括NIS服务器的安装包ypserv-
# chkconfig time on
# chkconfig time-udp on
# service xinetd restart
2、设置NIS域名和本地解析文件
# echo '192.168.1.2 LinServ' >> /etc/hosts
# nisdomainname nistest
# echo '/bin/nisdomainname nistest' >> /etc/rc.d/rc.local
# echo 'NISDOMAIN=nistest' >> /etc/sysconfig/network
3、设置安全过滤文件
# vi /var/yp/securenets
host 127.0.0.1
255.255.255.0 192.168.1.0
4、启动服务
# service portmap status
# service ypserv start
# service yppasswdd start
5、构建数据库
/usr/lib/yp/ypinit -m
注意:如果服务器新增了用户,需要重新运行初始化命令。
二、客户机配置:1、NIS客户机需要安装ypbind和yp-tools两个软件包
2、
# echo '192.168.1.2 LinServ' >> /etc/hosts
3、
# nisdomainname nistest
# echo '/bin/nisdomainname nistest' >> /etc/rc.d/rc.local
# echo 'NISDOMAIN=nistest' >> /etc/sysconfig/network
4、修改配置文件
echo 'domain nistest server LinServ' >> /etc/yp.conf
无法解析时可将LinServ换成IP。
5、设置nsswitch.conf文件
文件中需要添加使用nis作为主机信息的查询方式
passwd: files nis
shadow: files nis
group: files nis
hosts: files nis dns
6、
# service portmap status
# service ypbind start
7、测试命令
yptest ypwhich -x ypcat passwd
8、改密码
yppasswd
‘肆’ linux 禁止nis用户登录。
在vi /etc/hosts.allow 和vi /etc/hosts.deny 把aaa用户所使用得pc的ip地址添加进hosts.deny 内容为 sshd:aaaip 或者 all:aaaip。然后重新启动xinetd进程即可(service xinetd restart)。
如果aaa是登陆用户名的话,就只能修改/etc/passwd文件,将aaa用户关闭。
‘伍’ Linux NIS服务器问题 can't yp_bind: Reason: Domain not bound
你好!
你是考RHCE吗?搞这东西没用。还不如搞LDAP,不过都很少用到这些东西;
仅代表个人观点,不喜勿喷,谢谢。
‘陆’ linux在做NIS服务器时启动 chkconfig time on时显示在 time 服务中读取信息时出错:没有那个文件或目录
必须条件:
a) 服务器端和客户端要安装运行支持服务pormap
b) c/s两端要分别安装nis软件包,并配置正确
c) 服务端要输出NFS共享目录,客户端要挂载SERVER端的共享目录
d) 客户端须修改用户帐号信息查询方式为NIS
e) 服务端本地信息更改,须重建NIS数据库
服务
协议
软件包
进程
NIS
(Network Information Service)
由portmap服务支持
Tcp & Udp 111
服务端:ypserv-*.rpm
客户端:ypbind-*.rpm
yp-tools-*.rpm
服务端:ypserv 和
Yppasswdd
客户端:ypbind 和 ypxfrd
服务器配置:
一. 支持服务安装
a). 确认服务portmap安装并运行。
rpm –qa | grep portmap 确定服务是否已安装;
service portmap status 确定服务是否正常运行;
b). 启动time和time-udp服务
chkconfig time on
chkconfig time-udp on
service xinetd restart
二. 安装NIS服务端软件包
a) 挂载光驱,找到安装包ypserv-*.rpm并安装
rpm –ivh ypserv-*.rpm
b) 设置开机启动NIS服务
chkconfig - - level 35 ypserv on
chkconfig - - level 35 yppasswdd on
c) 建立NIS域名:nisdomainname nistest
将命令写入开机自动执行档,开机时自动建立NIS域名:echo ‘nisdomainname nistest’ >> /etc/rc.d/rc.local
三. (可选)配置NIS服务的配置文件:vi /etc/ypserv.conf
设置允许或拒绝指定的主机(网段)使用NIS服务。格式如下:
主机(网段)地址 : 网络域名 : 映射数据库类型 : 安全等级
ip/主机名/网段 * * none/port/deny
例: 127.0.0.0/255.255.255.0 : * : * : none
192.168.1.0/255.255.255.0 : * : * : none
四. (可选)配置安全配置文件 vi /var/yp/securenets
比ypserv.conf具有更高的访问控制的级别与效率
例: host 127.0.0.1
255.255.255.0 192.168.1.0
五. 启动NIS服务,在启动NIS服务前,须确定支持服务已启动。
service ypserv start
service yppasswdd start
六. 构建NIS数据库,在NIS服务务主机中对本地系统用户帐号、组帐号等信息(文件)更改后都需要使用ypinit命令重新构建数据库文件的内容,否则NIS客户端主机获得的信息不会自动更新。
/usr/lib/yp/ypinit –m 建立主数据库
/usr/lib/yp/ypinit –s master 建立从数据库,master必存在。
建立成功后数据库文件何存在 /var/yp/ 下的与NIS域名同名的子目录中。
客户端配置:
一. 安装客户端软件包 rpm –ivh ypbind-*.rpm
二. 安装客户端测试工具 rpm –ivh yp-tools-*.rpm
三. 设置hosts文件 vi /etc/hosts 以便客户机可以通过主机名访问NIS服务器
四. 建立NIS域名: nisdomainname nisserver
设定开机自动设置NIS域名
方法一:vi /etc/rc.d/rc.local
增加一行:/bin/nisdomainname nisserver
方法二:echo ‘/bin/nisdomainname nisserver’ >> /etc/rc.d/rc.local
五. 设置ypbind服务程序的配置文件yp.conf
a) echo ‘domain nistest server nisserver’ >> /etc/yp.conf
b) vi /etc/yp.conf
添加:domain nistest server nisserver
六. 设置 /etc/nsswitch.conf ,用于设置系统中信息的查询方式
files表示本地 nis表示从NIS服务器
l passwd表示用户帐户信息查询
l shadow表示用户口令信息查询
l group表示用户组帐户信息查询
l hosts表示主机名信息查询
七. 启动ypbind服务
a) 查看支持服务portmap是否安装并运行正确
rpm –qa | grep pormap
service portmap status
b) 启动ypbind
service ypbind start
c) 设定ypbind运行级别
chkconfig –level 35 ypbind on
共享目录的应用
server端输出NFS共享目录:
1. 编辑 vi /etc/exports ,添加共享目录(例:/home)
/home *(rw,sync)
2. 启动NSF服务器程序
service nfs start
Client端挂载共享目录:
1. 添加自动挂载设置
vi /etc/fstab
192.168.1.10:/home /home nfs defaults 0 0
2. 使用mount命令挂载目录
例:mount /home
以下进行客户端上的配置:
1.确认安装以下包: ypbind、yp-tools默认安装了的
2.设置hosts文件
[root@localhost ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.1.10 crazylinux NIS服务器的主机名
3.建立NIS域名
[root@crazylinux /]# nisdomainname nistest
[root@crazylinux /]# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/bin/nisdomainname nistest 添加这行使之开机运行
修改/etc/sysconfig/network文件,增加此行:NISDOMAIN=nistest
4.设置yp.conf
[root@localhost ~]# cat /etc/yp.conf
# generated by /sbin/dhclient-script
domain domain.org broadcast
domain nistest 添加这句
ypserver crazylinux.nistest
在/etc/passwd最下面添加
+::::::
5.设置nsswitch.conf
vi /etc/nsswitch.conf 修改为这样
passwd: files nis nisplus
shadow: files nis nisplus
group: files nis nisplus
#hosts: db files nisplus nis dns
hosts: files nis dns
6.启动ypbind服务程序
[root@localhost ~]# service portmap status
portmap (pid 1683) is running...
[root@localhost ~]# service ypbind start
Binding to the NIS domain: [ OK ]
Listening for an NIS domain server..
在NIS服务器中输出NFS共享目录
在nis服务器上
[root@localhost ~]# vi /etc/exports 添加
/home 192.168.1.0/24(rw,async,np_root_squash)
[root@localhost ~]#service nfs start
在NIS客户机上
[root@localhost ~]#vi /etc/fstab
Crazylinux.nistest:/home/ /home nfs defaults 0 0
‘柒’ linux nis 密码怎么改
一:建立NIS应用服务,所需的软件:
[root@kk ~]# rpm -qa ypserv ypbind yp-tools portmap
portmap-4.0-65.2.2.1
yp-tools-2.9-0.1
ypbind-1.19-11.el5
ypserv-2.19-5.el5
二:服务端
1:建立NIS域 time.com //////区别于DNS域,完全不同的概念
01、nisdomainname time.com /////命令直接建立,重启消失
02、echo “/bin/nisdomainname time.com” >>/etc/rc.d/rc.local /////追加到这个文件里
03、echo “NISDOMAIN=time.com”>>/etc/sysconfig/network ////追加到这个文件里
2:设定服务端的主机名称 nis
01、echo “127.0.0.1 nis” >/etc/hosts
02、echo “HOSTNAME=nis”>>/etc/sysconfig/network
3:修改配置文件/etc/ypserv.conf
添加:
127.0.0.0/255.0.0.0 : * : * : none //////本地无限访问nis服务器
192.168.1.0/255.255.255.0 : * : * : none //////这个网段无限访问nis服务器
* : * : * : deny ///////拒绝所有(除了上面的)
4:重启NIS服务
Service portmap restart ///////开启rpc远程端口
Service ypserv restart ///////开启NIS服务
Service yppasswdd restart ///////开启修改密码的服务
5:建立测试用户kkadmin
mkdir /rhome //////新建用户的宿主目录
useradd -d /rhome/kkadmin kkadmin ////指定用户宿主目录(每次都要这样)
yppasswdd kkadmin ///////设置密码
6:输出共享目录
在/etc/exports
添加:
/rhome 192.168.1.0/24(sync,rw,no_root_squash)
7:重启NFS服务
Service nfs restart
8:建立数据库文件
/usr/lib/yp/ypinit –m
………………………..
…………………………..
Next host to add: nis
Next host to add: //////按ctrl +D组合键
………………
[y / n : y] y ///////输入y键
9:建立允许访问的群体
touch /etc/netgroup ///////在配置文件已经做了限制,这个文件建立之后是空的就行
10: /etc/hosts 建立ip和域名的对应关系
192.168.1.158 nis //////主NIS服务器
192.168.1.157 slave //////从NIS服务器
//////////////服务端配置完毕/////////////////////
三:客户端
所需软件:ypbind和yp-tools
1:加入time.com
(方法等同服务端的做法,略过)
2:设定主机名称 ccc
(方法等同服务器的做法,略过)
3:/etc/hosts主机名称和ip的对应关系
添加:
192.168.1.158 nis
192.168.1.157 slave
4:配置文件/etc/yp.conf的设定
添加:
domain time.com ///////NIS域名
ypserver nis //////主nis服务器
domain time.crom //////NIS域名
ypserver slave //////从nis服务器
5:配置文件/etc/nsswitch.conf
原来:
passwd: files
shadow: files
group: files
hosts: files
修改为:
passwd: files nis slave
shadow: files nis slave
group: files nis slave
hosts: files nis slave dns
查询方式顺序:filesànis-àslave-àdns
6:重启客户端服务
Service portmap restart
Service ypbind restart
7:客户端自动挂载NIS服务器输出的共享家目录的设定
01: 修改/etc/auto.master文件
添加:
/rhome /etc/auto.home
02: 修改/etc/auto.home (若没有则建立)
添加:
* -fstype=nfs 192.168.1.158:/rhome/&
03:重启autofs 服务
Service autofs restart
////////////////////客户端设置完毕/////////////////////////////////////
四:测试
使用账户kkadmin测试
退出到虚拟终端,登录
(注意:客户端是没有kkadmin这个用户的,在NIS服务端)
ccc login: kkadmin
password:
[kkadmin@ccc ~]$ ///////若NIS服务端没有设置家目录输出共享,
///////那么将显示bash提示符shell界面
五:从nis服务器配置
一般企业里有主NIS服务器就能够满足需求了,这略过,有兴趣的读者请参考相
技术资料,这个不再赘述。
六:客户端的几个测试命令
01: yptest命令 使用客户端之前,先使用该命令进行测试
02: ypwhich 命令 显示服务端的数据库文件
03: ypcat 命令 显示服务端的账号密码等信息
************* **********NIS服务器讲解完毕**********************
‘捌’ linux nis+ 自动挂载
autofs进行挂载和mount挂载的参数是不一样的,自动挂载还要考虑一顺序问题。
‘玖’ linux中NIS的作用到底是什么请高人简单扼要的说一下,复制的不给分
NIS有点类似于WINDOWS的domain,是一个集中身份管理的方式。在NIS服务器上建立各个用户,当计算机加入到NIS中时,便可以使用NIS域中的任何帐户登录这台计算机,如果多台Linux加入到一个NIS域,你可以用一个统一的账号登录和访问各个计算机,而不用在每台机器上都建立这样一个用户。
但是NIS域有个致命的缺点是,它是明文发送认证信息的,这使得这种机制的安全性很成问题。而windows域有很好的NTLM认证方式,所以至今WINDOWS域被广泛接受而 NIS基本无人使用。
‘拾’ linux系统 搭建 NIS服务时 ypbind启动失败
客户端nisdomainname必须和服务器相同
vi /etc/yp.conf
22行改为服务器地址
vi /etc/nsswitch.conf
38行添加nis