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确认
关闭防火墙和防火墙的开机启动

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、修改配置文件
在vim /etc/hosts末尾加上

192.168.2.21    david
192.168.2.25 client

修改vim /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立即生效
用getenforce查看SELinux的状态(或sestatus)
(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


 成功了。

三、排错、挂载文件

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


 重新挂载即可。

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

查看挂载情况

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

systemctl stop rpcbind
systemctl start rpcbind
systemctl status rpcbind

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

systemctl start ypbind 

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

rpcbind.socket


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

systemctl stop rpcbind
systemctl stop ypbind
systemctl start rpcbind
systemctl start ypbind

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

i、将USENIS=no改为USENIS=yes

vim /etc/sysconfig/authconfig


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

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

vim /etc/nsswitch.conf


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

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. this-2

    读起来使你有新认识或可以使你离更确切的定义更近时的文章不应该被忽略.thisthis既不指向函数自身,也不指向函数的词法作用域(ES6中箭头函数采用词法作用域).this实际上是函数被调用时才发生绑定 ...

  2. VsCode[Git] | 配置Gitee和Github | 不使用全局用户名和邮箱

    (VsCode[Git] | 配置Gitee和Github | 不使用全局用户名和邮箱 | 2021-04-11) 目录 一 .安装Git / VsCode配置Git / Win10系统 二.Git配 ...

  3. 基于DEM的坡度坡向分析

    坡度坡向分析方法 坡度(slope)是地面特定区域高度变化比率的量度.坡度的表示方法有百分比法.度数法.密位法和分数法四种,其中以百分比法和度数法较为常用.本文计算的为坡度百分比数据.如当角度为45度 ...

  4. (AAAI2020 Yao) Graph Few-shot Learning via knowledge transfer

    22-5-13 seminar上和大家分享了这篇文章 [0]Graph few-shot learning via knowledge transfer 起因是在MLNLP的公众号上看到了张初旭老师讲 ...

  5. Tomcat配置安装

    1.tomcat是什么? 是由JAVA开发的开源且免费,主要是用于web服务器,是中间件.主要用于中小型企业 2.tomcat安装 安装jdk,可以rpm或者官网安装,安装完配置java环境变量,打开 ...

  6. KeyDB重量发布6.3.0开源版

    摘要:5月12日 KeyDB 社区隆重发布了 6.3.0开源版本,将与华为加拿大研究院DCS团队2021-2022年合作的成果,深度优化的企业版的能力贡献给了开源社区. KeyDB是目前Redis 分 ...

  7. 2020级cpp机考模拟题A卷-#题解1

    为了各位朋友的身心健康(不是),我们按照题目难度顺序来写题解. 第一次写题解,希望多点包容和鼓励(恬不知耻 1:谁先输出-4 题意: 输入3个整数,按从大到小的顺序输出,每两个数字间加一个空格. 题解 ...

  8. form表单与css选择器

    目录 form表单 action属性 input标签 lable标签 select标签 textarea标签 补充 网络请求方式 CSS简介 CSS基本选择器 组合选择器 属性选择器 分组与嵌套 伪类 ...

  9. SpringBoot 整合 RabbitMQ 实现消息可靠传输

    消息的可靠传输是面试必问的问题之一,保证消息的可靠传输主要在生产端开启 comfirm 模式,RabbitMQ 开启持久化,消费端关闭自动 ack 模式. 环境配置 SpringBoot 整合 Rab ...

  10. 关于p命名空间和c命名空间 外加一个context

    P命名空间注入 : 需要在头文件中加入约束文件 导入约束 : xmlns:p="http://www.springframework.org/schema/p" 如 xmlns=& ...