Centos7中配置NIS:用户账号管理
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)
设置主机名
设置完后可以用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:用户账号管理的更多相关文章
- centos7中配置java + mysql +jdk +使用jar部署项目
centos7中配置java + mysql +jdk +使用jar部署项目 思维导图 1. 配置JDK環境 1.1下载jdk安装包 Java Downloads | Oracle 1.2 将下载j ...
- Spring中配置Hibernate事务管理
<!-- transationManager --> <bean id="transactionManager" class="org.springfr ...
- 详解centos7中配置keepalived日志为别的路径
由于在默认状态下keepalived的日志会写入到/var/log/message中,我们需要将此剥离出来. 在centos 6下可以: (1)首先修改/etc/sysconfig/keepalive ...
- docker探索-CentOS7中配置Docker的yum源并升级安装docker1.13(十)
此处使用的是CentOS7,内核版本为 [root@localhost ~]# uname -r -.el7.x86_64 该版本下,配置了yum的源为阿里的镜像源,具体的配置方法可以参见阿里镜像源配 ...
- 在CentOS7中配置网络时常见的LSB加载失败问题
前几天,为了给OpenNebula扩展新的主机节点,对CentOS7的网络进行了配置.本以为网络配置只需要简单修改ifcfg-eth0即可,但是在重启网络服务时却遇到了一个LSB加载失败的问题(Fai ...
- 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL
centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...
- CentOS7中配置vsftpd
1.yum -y install vsftpd 安装vsftpd 2.配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以下配置内容 #不允许匿名访问 anonym ...
- CentOS7中配置基于Nginx+Supervisor+Gunicorn的Flask项目
配置Nginx 1.安装nginx yum install nginx 2.安装好后在/etc/nginx/default.d中添加location的配置,并指向8001端口,以后Gunicorn会监 ...
- 六、Centos7中配置svn服务器
今天配置了 SVN 记在这儿 备忘: --svn开机自启动服务 systemctl enable svnserve.service --svn开机自启动服务 systemctl disable svn ...
随机推荐
- 关于前端ajax请求获取数据成功之后无法操作数据的原因及解决方法
前言:做项目的时候我用ajax请求json数据,遍历使用数据时却发现页面无响应.关于这个问题今天有个朋友又问了我一次,记录一下.由于我没有记录,这里用我朋友的图片. 代码现象: 这里他是使用alert ...
- 通过有序线性结构构造AVL树
通过有序线性结构构造AVL树 本博客旨在结局利用有序数组和有序链表构造平衡二叉树(下文使用AVL树代指)问题. 直接通过旋转来构造AVL树似乎是一个不错的选择,但是稍加分析就会发现,这样平白无故做了许 ...
- 解决mysq服务无法正常启动问题
在mysql的启动过程中,遇到什么问题都可以反馈给我,我都会尽力帮你们解决 第一种:通过net start mysql启动MySQL服务器时,出现以下信息 是因为在MySQL5.7以上的版本中默认的没 ...
- 一条更新SQL的内部执行及日志模块
一条更新SQL的内部执行 学习MySQL实战45讲,非常推荐学 还是老图: 上文复习 在执行查询语句的时候,会执行连接器(总要连上才能搞事情),然后去查询缓存(MySQL8+删除了),有数据返回,没数 ...
- 手把手教你使用 Spring Boot 3 开发上线一个前后端分离的生产级系统(一) - 介绍
项目简介 novel 是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离的学习型小说项目,配备详细的项目教程手把手教你从零开始开发上线一个生产级别的 J ...
- 论文阅读 Dynamic Network Embedding by Modeling Triadic Closure Process
3 Dynamic Network Embedding by Modeling Triadic Closure Process link:https://scholar.google.com.sg/s ...
- 浅析 2D 组态与 2.5D 组态的区别 | 空调装配生产线与化工安全流程
前言 为了更有效辨别 2D 与 2.5D 之间的区别,图扑软件选用 2D 空调装配生产线与 2.5D 化工厂安全流程作比较.通过自主研发的 HT 产品,采用 B/S 架构快速搭建零代码拖拽式 Web ...
- 【原创】快速理解Unicode和utf-8的本质
字符串编码 基本概念 在代码中处理,为了字节统一,都统一使用Unicode 核心:在pyhton中s.encode("utf-8")中的变量实例s必须是已经是Unicode格式,否 ...
- 学学dotnet core中的身份验证和授权-1-概念
前言 身份验证: Authentication 授权: Authorization net core 中的身份验证和授权这两个部分,是相辅相成的.当初我在学在部分的时候,是看的 net core 官网 ...
- MySQL - 并发事务出现的问题
1. 脏读 含义:在事务过程中,读到了其它事务为提交的数据. 解决方法:将数据库事务提升到读已提交或以上的隔离级别. 2. 不可重复读 含义:一次事务中,两次读操作中,读出来的数据内容不一致. 解决方 ...