Centos7.8 NIS服务

操作环境:7.8.2003

server IP 192.168.11.19

client  IP 192.168.11.20

NIS环境

NIS所需的软件包

搭建NIS:

服务器端

[root@NIS-server ~]# yum -y install ypserv        #安装ypserv服务相关的包

[root@NIS-server ~]# mkdir /nishome        #建立一个Nis专用用户目录文件夹

[root@NIS-server /]# useradd -d /nishome/user1 user1       #建立多个NIS用户,并为其配置密码

[root@NIS-server /]# useradd -d /nishome/user2 user2

[root@NIS-server /]# echo abc | passwd --stdin user1

Changing password for user user1.

passwd: all authentication tokens updated successfully.

[root@NIS-server /]# echo abc | passwd --stdin user2

Changing password for user user2.

passwd: all authentication tokens updated successfully.

注:编辑/etc/sysconfig/network为NIS服务器指定NIS网域名,,可以不用写www这个主机名,直接声明成二级域名也行。

[root@NIS-server /]# vim /etc/sysconfig/network

[root@NIS-server /]# cat /etc/sysconfig/network
# Created by anaconda
nisdomain=www.example.com

[root@NIS-server /]# nisdomainname www.example.com

[root@NIS-server /]# nisdomainname 
www.example.com

注:将服务器上的用户文件加载成数据库文件(该服务器上的所有用户名都将用作客户端身份认证),先关闭防火墙,开启ypserv服务后加载数据库

[root@NIS-server /]# systemctl stop firewalld      #关闭防火墙

[root@NIS-server /]# setenforce 0                  #关闭selinux防火墙
setenforce: SELinux is disabled

[root@NIS-server /]# systemctl start ypserv.service    #开启ypserv服务

[root@NIS-server /]# systemctl status ypserv.service   #查看ypserv状态

[root@NIS-server /]# /usr/lib64/yp/ypinit -m       #开启数据库
ctrl+d  # 确认     
y       #同意

客户端

   [root@NIS-client ~]# yum -y install ypbind         #装包,ypbind

[root@NIS-client ~]# authconfig-tui          #利用authconfig-tui进入图形化界面

验证配置、使用nis

标明nis域

验证测试:

客户端本地并没有user1这个用户,但是id一下却能查询出来uid、gid等信息,这是因为NFS环境下的客户端查询用户的方式是

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

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

[root@NIS-client ~]# id user1            #显示用户的ID,以及所属群组的ID
uid=1000(user1) gid=1000(user1) groups=1000(user1)

客户端切换进NIS域用户,不能正常显示是因为没有服务器的这三个隐藏文件

[root@NIS-client ~]# su - user1                       #变更为user1的身份
Last login: Fri Oct  8 13:50:52 CST 2021 on pts/2
su: warning: cannot change directory to /nishome/user1: No such file or directory
-bash-4.2$ whoami
user1

解决:

使用NFS将服务端的nishome目录共享出去,在客户端将NFS的服务端共享的目录挂载到本地即可,这里我采用自动挂载

  1. 服务端开启NFS,并共享/nishome目录

  2. 客户端安装autofs包,使用通配符的方式,将服务端的nishome下的用户都挂载到客户端

服务端的NFS服务的配置

[root@NIS-server ~]# systemctl start nfs           #开启nfs服务

[root@NIS-server ~]# systemctl status nfs          #查看nfs状态

[root@NIS-server ~]# vim /etc/exports               #编辑共享目录

[root@NIS-server ~]# cat /etc/exports               #查看exports文件
/nishome *(rw,sync,no_subtree_check,no_root_squash)

[root@NIS-server ~]# exportfs -rv                   #发布共享
exporting *:/nishome

[root@NIS-server ~]# showmount -e 192.168.11.19     #查看指定服务器的共享情况
Export list for 192.168.11.19:
/nishome *

客户端的NFS服务的挂载配置(这里也可以使用nfs或autofs分开来做,若使用nfs服务,需要在client上创建一个和server一样的nis家目录,然后挂载到client上。写入到/etc/rc.local里(注:需要将rc.local权限改为755),可实现开机自动挂载)

[root@NIS-client ~]# yum -y install autofs              #装包autofs
[root@NIS-client ~]# systemctl stop firewalld     #关闭防火墙

[root@NIS-client ~]# systemctl start autofs      #开启autofs服务

[root@NIS-client ~]# vim /etc/auto.master  #在autofs的主配置文件中定义挂载点根目录的子配置文件
 /nishome /etc/auto.misc     

[root@NIS-client ~]# systemctl restart autofs     #重启autofs服务

[root@NIS-client ~]# su - user1                   #访问server上的user1用户
Last login: Fri Oct  8 14:46:17 CST 2021 on pts/1

[user1@NIS-client ~]$ ls -a                       #查看user1隐藏文件
.  ..  .bash_logout  .bash_profile  .bashrc

以上是nis服务的搭建

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值