NIS:网络信息服务

Linux系统中用户按地域分两类:本地用户,远程用户(NIS、LDAP、AD)

模式:C/S模式

ypbind是定义NIS服务器的客户端进程,一旦确定了服务器位置,客户端绑定到了服务器上,所有客户的查询都发往NIS服务器。
ypserv是回答客户端查询的服务器进程。
相关的软件:

yp-tools #提供NIC相关查询命令功能
ypbind #提供NIC客户端的设置软件
ypserv #提供NIC服务端的设置软件
rpcbind #这是RPC必需的软件
/etc/ypserv.conf定义NIS客户端是否有可登录权限
/etc/sysconfig/network可以在这个文件夹内指定NIS网路
/var/yp/Makefile建立数据库有关的操作文件
NIS的主要服务:

/usr/sbin/ypservNIS提供的主要服务
/usr/sbin/rpc.yppasswdd提供额外的NIS客户端的用户密码修改服务,通过这个服务,NIS客户端可以直接修改在NIS服务器上的密码。yppasswd命令
与账号密码数据库有关的命令:
/usr/lib64/yp/ypinit建立数据库的命令,经常使用
/usr/bin/yppasswd让用户修改服务器上的密码

一、安装NIS服务器(Server端192.168.2.21)

设置主机名

hostnamectl set-hostname david

设置完后可以用hostname确认
关闭防火墙和防火墙的开机启动

  1. systemctl stop firewalld
  2. systemctl disable firewalld.service

1、安装软件包 yp-tools

  1. yum install ypserv ypbind nfs-utils rpcbind

2、设置NIS域名

  1. nisdomainname testserver.com

如果不想每次重启都设置则需要修改network文件

  1. vim /etc/sysconfig/network
  2. 添加一行NISDOMAIN=testserver.com

设置开机自动加入NIS域

  1. vim /etc/rc.d/rc.local
  2. 添加一行/bin/nisdomainname testserver.com

3、修改配置文件
在vim /etc/hosts末尾加上

  1. 192.168.2.21 david
  2. 192.168.2.25 client

修改vim /etc/ypserv.conf
把最后一行的注释去掉,也就是说通配所有的主机,加入所有的域,map所有的东西,none是表示没有安全性,这一项其实是个安全选项,可以通过这个控制权限

  1. * : * : * : none

为了安全,你可以这样写:

  1. 127.0.0.0/255.255.255.0 : * : * : none
  2. 192.168.2.0/255.255.255.0 : * : * : none
  3. * : * : * : deny


4、启动NIS服务

  1. systemctl start rpcbind (service rpcbind start)
  2. systemctl start yppasswdd
  3. systemctl start ypserv

5、在home下新建目录nis_users(用于nfs共享)
然后新增用户user1,user2并指定home目录和设置密码

  1. mkdir /home/nis_users
  2. useradd -d /home/nis_users/user1 user1

6、初始化数据库

  1. /usr/lib64/yp/ypinit -m

按Ctrl + D,再按y确认
//每次更新账户信息后都需要更新数据库

  1. //cd /var/yp 再 make
  2. 或者 //make -C /var/yp/

现在执行下面的命令,并可以看到用户口令表

  1. getent passwd

7、通过NFS共享/home/nis_users目录
(i)、首先禁用selinux

  1. vim /etc/selinux/config

将SELINUX=enforcing改为:SELINUX=disabled,保存退出。
输入setenforce 0立即生效
用getenforce查看SELinux的状态(或sestatus)
(ii)、vim /etc/exports
添加一行,格式为
共享目录                  网络地址 (rw, sync)

  1. /home/nis_users 192.168.2.0/24(rw,sync)

(iii)、然后重启nfs,并设置开机启动

  1. systemctl restart nfs
  2. systemctl enable nfs

(iv)、现在在本机执行exportfs命令,应该可以看到下面的输出
/home/nis_users
如果执行完以上步骤一切正常,那么NIS服务器的NFS就配置好了
 

二、Client(客户端192.168.2.25)

设置主机名

  1. hostnamectl set-hostname client

1、安装软件包

  1. yum install authconfig\* sssd\* krb5\* autofs ypbind
  2. //yum install -y ypbind yp-tools

2、设置nis域名

  1. nisdomainname testserver.com

如果不想每次重启都设置则需要修改network文件

  1. vim /etc/sysconfig/network
  2. 添加一行NISDOMAIN=testserver.com

设置开机自动加入NIS域

  1. vim /etc/rc.d/rc.local
  2. 添加一行/bin/nisdomainname testserver.com

3、修改配置文件
在/etc/hosts末尾加上

  1. 192.168.2.21 david
  2. 192.168.2.25 client

4、用图形界面配置NIS(推荐II)
I、执行system-config-authentication.选择Enable NIS然后点Configure按照我们刚才的设置填入NIS 域和NIS服务器的地址然后点OK确定,并退出
现在在客户端执行

  1. getent passwd

应该可以输出服务器上的口令表
II、或者authconfig-tui
用方向键移动光标,空格键确定
第一个界面左边选择Use NIS,右边保持默认,然后next

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

5、启动服务并设置开机启动

  1. systemctl start rpcbind
  2. systemctl start ypbind
  3. systemctl enable ypbind

输入yptest测试,如果能看到master上的用户则表明client的nis设置成功


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

  1. /home/nis_users /etc/auto.nis


7、配置文件

  1. vim /etc/auto.nis

格式为
服务端用户名     服务端IP:挂载用户的目录

  1. * 192.168.2.21:/home/nis_users/&

注:*匹配所有用户名,&匹配用户路径
8、保存退出后重启autofs,并设置开机启动

  1. systemctl restart autofs
  2. systemctl enable autofs 

9、用su命令登陆并进行测试

  1. su - user1
  2. pwd


 成功了。

三、排错、挂载文件

1、若出现无法更改到用户目录,则说明文件系统没有挂载上。


 重新挂载即可。

  1. mount -t nfs 192.168.2.21:/home/nis_users /home/nis_users/

查看挂载情况

2、若出现:can't yp_bind: Reason: 未绑定域

  1. systemctl stop rpcbind
  2. systemctl start rpcbind
  3. systemctl status rpcbind

3、若出现:无法与ypbind通讯

  1. systemctl start ypbind 

4、若出现Warning: Stopping rpcbind.service, but it can still be activated by:

rpcbind.socket


 关闭ypbind、和rpcbind服务,再开启即可。

  1. systemctl stop rpcbind
  2. systemctl stop ypbind
  3. systemctl start rpcbind
  4. systemctl start ypbind

四、客户端步骤4的图形界面的其它办法

i、将USENIS=no改为USENIS=yes

  1. vim /etc/sysconfig/authconfig


ii、修改vim /etc/yp.conf加入下面的设置:定义NIS客户端是否有可登录权限
    (domain  域名  server  服务器地址或主机名)

iii、在passwd、shadow、group以及hosts行的files后面都添加上nis。

  1. vim /etc/nsswitch.conf


iv、在password  sufficient一行中,在shadow后面插入nis。

  1. vim /etc/pam.d/system-auth

Centos7中配置NIS:用户账号管理的更多相关文章

  1. centos7中配置java + mysql +jdk +使用jar部署项目

    centos7中配置java + mysql +jdk  +使用jar部署项目 思维导图 1. 配置JDK環境 1.1下载jdk安装包 Java Downloads | Oracle 1.2 将下载j ...

  2. Spring中配置Hibernate事务管理

    <!-- transationManager --> <bean id="transactionManager" class="org.springfr ...

  3. 详解centos7中配置keepalived日志为别的路径

    由于在默认状态下keepalived的日志会写入到/var/log/message中,我们需要将此剥离出来. 在centos 6下可以: (1)首先修改/etc/sysconfig/keepalive ...

  4. docker探索-CentOS7中配置Docker的yum源并升级安装docker1.13(十)

    此处使用的是CentOS7,内核版本为 [root@localhost ~]# uname -r -.el7.x86_64 该版本下,配置了yum的源为阿里的镜像源,具体的配置方法可以参见阿里镜像源配 ...

  5. 在CentOS7中配置网络时常见的LSB加载失败问题

    前几天,为了给OpenNebula扩展新的主机节点,对CentOS7的网络进行了配置.本以为网络配置只需要简单修改ifcfg-eth0即可,但是在重启网络服务时却遇到了一个LSB加载失败的问题(Fai ...

  6. 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL

    centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...

  7. CentOS7中配置vsftpd

    1.yum -y install vsftpd  安装vsftpd 2.配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以下配置内容 #不允许匿名访问 anonym ...

  8. CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目

    配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监 ...

  9. 六、Centos7中配置svn服务器

    今天配置了 SVN 记在这儿 备忘: --svn开机自启动服务 systemctl enable svnserve.service --svn开机自启动服务 systemctl disable svn ...

随机推荐

  1. 从NSSRound#1学到了什么

    sql_by_sql 二次注入: 更改密码的功能形如: update user set password='%s' where username='%s'; 的语句就可以存在二次注入,即假设有个adm ...

  2. SM3和Blake

    在此给出SM3和Blake的对比 哈希函数 哈希算法 (Hash Algorithm) 是将任意长度的数据映射为固定长度数据的算法,也称为消息摘要.一般情况下,哈希算法有两个特点, 一是原始数据的细微 ...

  3. 153. Find Minimum in Rotated Sorted Array - LeetCode

    Question 153. Find Minimum in Rotated Sorted Array Solution 题目大意:给一个按增序排列的数组,其中有一段错位了[1,2,3,4,5,6]变成 ...

  4. MongoDB启动报错:Unrecognized option: storage try 'mongod --help' for more information(已解决)

    问题说明: 今天在使用配置文件方式启动MongoDB时,一直启动失败,报错显示:Unrecognized option: storage try 'mongod --help' for more in ...

  5. 关于『HTML』:第二弹

    关于『HTML』:第二弹 建议缩放90%食用 第二弹! 它来了! 它来了! 我竟然没有拖更,对了,你们昨天用草稿纸了么 开始正文之前提一个问题:大家知道"%%%"是什么意思吗?就这 ...

  6. Java 接口返回值集合防止空指针

    接口 返回值为一个集合 public interface UserSearchService{ List<User> listUser(); } 接口实现 public List<U ...

  7. quasar + uni-app混合打包APP

    写几个关键点,作为备忘录. 和所有框架一样,现在本地run build quasar的cli是 quasar build 然后记住打包好以后的静态文件 目录 uni-app新建一个5+App的默认模板 ...

  8. 史上最全Spring Cloud Alibaba--Nacos教程(涵盖负载均衡、配置管理、多环境切换、配置共享/刷新、灰度、集群)

    能够实现Nacos安装 基于Nacos能实现应用负载均衡 能基于Nacos实现配置管理 配置管理 负载均衡 多环境切换 配置共享 配置刷新 灰度发布 掌握Nacos集群部署 1 Nacos安装 Nac ...

  9. Java添加条形码到PDF表格

    条码的应用已深入生活和工作的方方面面.在处理条码时,常需要和各种文档格式相结合.当需要在文档中插入.编辑或者删除条码时,可借助于一些专业的类库工具来实现.本文,以操作PDF文件为例,介绍如何在编辑表格 ...

  10. JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了

    本系列是 我TM人傻了 系列第七期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了:https://zhuanlan.zhihu.com/p/3970425 ...