NFS+NIS+Autofs 实现用户的集中化管理
时间:2022-07-22
本文章向大家介绍NFS+NIS+Autofs 实现用户的集中化管理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一:需求
某大学机房部署,需求如下:每个同学上机后可用自己的学号登录,登录后可访问自己的家目录并在里面读写自己的文件,每同学的文件全部都保存于服务器上,所有帐号由服务器统一管理。
二:分析
为了使每个同学在不同的机器上都能登录,如果机房里每个电脑都设置他们的账户,则就有了用户信息不同步的现象,修改账户密码也不能同步,而且也使帐号管理变得异常繁杂。所以不能让他们在本地进行账户认证,必须经过统一的服务器认证用户,这里我们需要用到nis服务。
每个同学的家目录都存放了自己的文件,每次在不同的机位登录后能进入自己的家目录,所以我们需要在服务器保存用户的文件,使用NFS挂载用户家目录到本地进行操作就可以彻底解决同步的问题,用户就像使用本地文件一样方便。
三:实施
首先进行 NFS NIS Autofs的配置安装
NIS服务需要以下软件包:ypserv、rpcbind、ypbind、yp-tools
NFS服务需要以下软件包:rpcbind、nfs-utils
Autofs服务需要以下软件包:autofs
centos7(服务器)ip:192.168.83.134 centos6 (客户端)ip:192.18.83.140
服务器包的安装:
[root@centos7 ~]# yum -y install ypserv ypbind yp-tools
[root@centos7 ~]# yum -y install nfs-utils
客户端包的安装:
[root@centos6 ~]# yum install ypbind -y
[root@centos6 ~]# yum -y install autofs
配置域:
#重启后生效
[root@centos7 ~]# vim /etc/sysconfig/network
# Created by anaconda
NISDOMAIN=QI
#当前生效
[root@centos7 ~]# nisdomainname QI
配置nis服务
[root@centos7 ~]# vim /etc/ypserv.conf
127.0.0.1:*:*:none #允许本机访问nis
192.168.83.0/255.255.255.0:*:*:none #允许这个网段的访问nis
*:*:*:deny #其他的全部拒绝
[root@centos7 ~]# systemctl restart ypserv #重启nis服务
[root@centos7 ~]# systemctl enable ypserv #使nis开机自启动
创建用户:
[root@centos7 ~]# useradd -u 2001 -d /app/homedir/junchao junchao
[root@centos7 ~]# useradd -u 2002 -d /app/homedir/dapang dapang
[root@centos7 ~]# for n in {1..5};do useradd -d /app/homedir/nisuser$n nisuser$n;echo centos |passwd --stdin nisuser$n;done
生成nis数据库
[root@centos7 ~]# /usr/lib64/yp/ypinit -m
ctrl+d
y
客户端配置nis服务
[root@centos6 ~]# setup
在Use NIS这里安空格即可选中
这里的QI是域,而ip是服务器的ip地址
NFS 共享家目录
[root@centos7 ~]# vim /etc/exports.d/mage.exports
/app/homedir *(rw,sync) #注意*和()之间没有空格
autofs 自动挂载家目录
[root@centos6 ~]# vim /etc/auto.master
/app/homedir /etc/auto.mage --timeout=10
[root@centos6 ~]# vim /etc/auto.mage
* -fstype=nfs 192.168.83.134:/app/homedir/& #这里*匹配了用户名,&的值等于*,所以这样配置完后,每个用户都会自动挂载自己的家目录。
[root@centos6 ~]# service autofs restart
测试
[root@centos6 ~]# yptest
.........
.........
.........
Test 3: yp_match
WARNING: No such key in map (Map passwd.byname, key nobody)
1 tests failed
#Test 3: yp_match 下面的这个警告客户忽略,所以 1 tests failed 这个不算失败,这个是成功的
演示
[root@centos6 ~]# su - junchao
[junchao@centos6 ~]$ su - qijunchao
Password:
[qijunchao@centos6 ~]$ pwd
/app/homedir/qijunchao
总结
这个项目集中化的管理账户,使得每个客户端登录后都能方便存取自己的文件,同时又解决了大量用户分散管理的一些繁琐,能大大提高管理人员的效率。
- Enterprise Library 4.0缓存应用程序块
- 通过.htaccess 让WordPress 的上传文件夹更安全
- asp.net 性能调较
- 零基础学习大数据,搭建Hadoop处理环境
- 为你的WordPress 博客开启两步验证功能(技术支持:谷歌)
- 为你的WordPress 博客开启两步验证功能(技术支持:谷歌)
- WordPress 注册页面显示自定义提示信息
- Windows Server 2008密码重设盘
- Dynamite动态排序库
- WordPress 顶部管理工具条添加自定义栏目
- WordPress 在后台文章和页面列表显示对应的ID
- WordPress 修改默认的 wp_ 数据库前缀
- WordPress自动在uploads文件夹内创建子文件夹
- MP6 Light:浅色型的扁平化WordPress 后台管理界面
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel实现上传图片的两种方式小结
- Laravel开启跨域请求的方法
- Laravel 5.4前后台分离,通过不同的二级域名访问方法
- Yii框架数据库查询、增加、删除操作示例
- 在laravel5.2中实现点击用户头像更改头像的方法
- laravel 多图上传及图片的存储例子
- Laravel 添加多语言提示信息的方法
- Laravel框架表单验证操作实例分析
- Thinkphp5.0框架视图view的模板布局用法分析
- laravel5环境隐藏index.php后缀(apache)的方法
- php实现对文件压缩简单的方法
- laravel实现Auth认证,登录、注册后的页面回跳方法
- php 实现银联商务H5支付的示例代码
- Yii2.0框架behaviors方法使用实例分析
- laravel 去掉index.php伪静态的操作方法