Centos7中配置NIS:用户账号管理


NIS:网络信息服务
 
Linux系统中用户按地域分两类:本地用户,远程用户(NIS、LDAP、AD)

模式:C/S模式
ypbind是定义NIS服务器的客户端进程,一旦确定了服务器位置,客户端绑定到了服务器上,所有客户的查询都发往NIS服务器。
ypserv是回答客户端查询的服务器进程。
 
一、安装NIS服务器(Server端192.168.2.21)
设置主机名 hostnamectl set-hostname david 设置完后可以用hostname确认
关闭防火墙和防火墙的开机启动
systemctl stop firewalld systemctl disable firewalld.service
1、安装软件包 yp-tools
yum install ypserv ypbind nfs-utils rpcbind
2、设置NIS域名
nisdomainname testserver.com
如果不想每次重启都设置则需要修改network文件
vim /etc/sysconfig/network 添加一行NISDOMAIN=testserver.com 
设置开机自动加入NIS域
vim /etc/rc.d/rc.local 添加一行/bin/nisdomainname testserver.com
3、修改配置文件
在/etc/hosts末尾加上
192.168.2.21    david 192.168.2.25    client
修改/etc/ypserv.conf
把最后一行的注释去掉,也就是说通配所有的主机,加入所有的域,map所有的东西,none是表示没有安全性,这一项其实是个安全选项,可以通过这个控制权限
* : * : * : none
为了安全,你可以这样写:
127.0.0.0/255.255.255.0   : * : * : none 192.168.2.0/255.255.255.0 : * : * : none *                         : * : * : deny

4、启动NIS服务
systemctl start rpcbind           (service rpcbind start) systemctl start yppasswdd systemctl start ypserv
5、在home下新建目录nis_users(用于nfs共享)
然后新增用户user1,user2并指定home目录和设置密码
mkdir /home/nis_users useradd -d /home/nis_users/user1 user1
6、初始化数据库
/usr/lib64/yp/ypinit -m
按Ctrl + D,再按y确认
//每次更新账户信息后都需要更新数据库
//cd /var/yp     再    make 或者 //make -C /var/yp/      
现在执行下面的命令,并可以看到用户口令表
getent passwd
7、通过NFS共享/home/nis_users目录
(i)、首先禁用selinux
vim /etc/selinux/config
将SELINUX=enforcing改为:SELINUX=disabled,保存退出。
输入setenforce 0立即生效
(ii)、vim /etc/exports
添加一行,格式为
共享目录                  网络地址 (rw, sync)
/home/nis_users 192.168.2.0/24(rw,sync)
(iii)、然后重启nfs,并设置开机启动
systemctl restart nfs systemctl enable nfs
(iv)、现在在本机执行exportfs命令,应该可以看到下面的输出
/home/nis_users
如果执行完以上步骤一切正常,那么NIS服务器的NFS就配置好了
 

 
二、Client(客户端192.168.2.25)
设置主机名
hostnamectl set-hostname client
1、安装软件包
yum install authconfig\*   sssd\*  krb5\*  autofs   ypbind //yum install -y ypbind yp-tools
2、设置nis域名
nisdomainname testserver.com
如果不想每次重启都设置则需要修改network文件
vim /etc/sysconfig/network 添加一行NISDOMAIN=testserver.com
设置开机自动加入NIS域
vim /etc/rc.d/rc.local 添加一行/bin/nisdomainname testserver.com
3、修改配置文件
在/etc/hosts末尾加上
192.168.2.21    david 192.168.2.25    client
4、用图形界面配置NIS(推荐II)
I、执行system-config-authentication.选择Enable NIS然后点Configure按照我们刚才的设置填入NIS 域和NIS服务器的地址然后点OK确定,并退出
现在在客户端执行
getent passwd
应该可以输出服务器上的口令表
II、或者authconfig-tui
用方向键移动光标,空格键确定
第一个界面左边选择Use NIS,右边保持默认,然后next

输入nis的域名(testserver.com)和master的IP地址(192.168.3.10),选择OK 

5、启动服务并设置开机启动
systemctl start rpcbind systemctl start ypbind systemctl enable ypbind
输入yptest测试,如果能看到master上的用户则表明client的nis设置成功


6、编辑autofs配置文件
vim /etc/auto.master    //(注释掉所有以前的配置,加入)
格式为
挂载点          配置文件
/home/nis_users /etc/auto.nis

7、配置文件
vim  /etc/auto.nis
格式为
服务端用户名     服务端IP:挂载用户的目录
*            192.168.2.21:/home/nis_users/&
注:*匹配所有用户名,&匹配用户路径
8、保存退出后重启autofs,并设置开机启动
systemctl restart autofs systemctl enable autofs 
9、用su命令登陆并进行测试
su - user1 pwd 


 成功了。

 

三、排错、挂载文件
若出现下图,则说明文件系统没有挂载上。
mount -t nfs 192.168.2.21:/home/nis_users /home/nis_users/
查看挂载情况

 四、客户端步骤4的图形界面的其它办法
i、修改/etc/yp.conf加入下面的设置
    (domain  域名  server  主机名)

ii、
vim /etc/sysconfig/authconfig
 
iii、
vim /etc/nsswitch.conf