ubuntu server10.4下NIS服务的配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

前言:

上次学习了SUN的NFS服务,今天学习SUN的另一个作品NIS服务。Network Information Service(NIS)原名叫做Sun Yellow Pages,也就是YP(黄页),所以NIS服务的配置文件都是YP开头,也不难理解了。

(1)NIS服务能提供什么功能?与windows server操作系统中的AD比较如何?

用过windows server 2008/2003/2000的都知道AD,NIS的作用就像AD,进行用户账号的集中管理,NIS提供用户的账号、密码、UID、GID、家目录、shell 等。在客户机登录时输入的用户账号到NIS服务器上进行认证,本地不需要具有该用户账号信息。

但是我觉的NIS没有像AD那样使用方便,AD还能管理计算机,但NIS不能。另外还一有个缺点是:用户登录后,在本地没有家目录,此时需要结合NFS服务完成这个功能。NIS需要在服务器端与客户端都进行配置,AD不需要在客户端进行配置。windows server中可以配置多台域控制器,NIS也可以配置成主从结构。

(2)NIS是基于什么协议的服务?

NIS与NFS一样都是基于RPC协议。

(3)在ubuntu server 10.4中需要的软件包?

NIS在ubuntu 中在服务器与客户端需要的软件包都是nis,portmap。

(4)使用NIS服务要准备那些东西?

  1. 基本的用户账号管理,会配置NFS,知道RPC的作用,
  2. 还要提前想好一个NIS的域名,这个域名与NDS的域名不同,服务器端与客户端安装NIS时要用到这个NIS域名。
  3. NIS服务器最好采用固定IP。
  4. 有DNS服务器的,要设置好NIS客户端能解析到NIS服务器;没有DNS的,要配置好客户端的/etc/hosts文件,使用客户端能解析到NIS服务器。
  5. 是否需要配置主从NIS服务器。

 

配置一实例:

配置一台NIS服务器建立用户账号admin04,要求在客户端这账号能够登录,并同时挂载上自己的家目录,有相应的权限,可以读写文件。

NIS服务器配置:

(1)安装NIS

#sudo apt-get install nis portmap

nis01

如果这台机器是做为NIS主服务器,那么就创建一个NIS域名,如果做为从NIS服务器或客户端,则输入一个存在的NIS域名。这里我写一个testlab作为NIS域名。

完成后,会在/etc下新增yp.conf,ypserver.conf,ypserv.securenets三个文件

(2)配置/etc/default/nis

nis11

这里只配置一台主NIS服务器

(2)配置/etc/yp.conf,增加以下内容。

nis08

domain,server都是关键字。

testlab就是NIS域名,如果不记得了或要修改,可以用#nisdomainname完成查询或修改

ubuntulab就是NIS服务器的主机名

(3)初始化数据库

#sudo /usr/lib/yp/ypinit –m

nis02

因为这是一台主NIS服务器所以用带-m的参数,初始化NIS服务的数据库。

#sudo /etc/init.d/nis restart

重启NIS服务。

到此NIS服务器就配置完了,此时能看到在/var/yp下有这么一些文件

nis25

其中Makefile就是NIS数据库文件

testlab就是以”NIS域名”为名的目录,内容就是一些相关的配置文件

(4)现在把/home/admin04用NFS共享出来,具体NFS配置,在这不再说了

#sudo vim /etc/exports

nis23

1003为admin04的UID,GID。

 

NIS客户端配置:

(1)安装NIS软件包

#sudo apt-get install nis portmap

在此过程中输入与NIS服务器端相同的NIS域名

(2)/etc/yp.conf配置,新增以下内容

nis12

192.168.2.87是NIS服务器的IP地址

(3)修改/etc/passwd,/etc/group,/etc/shadow,依次增加以下内容

nis13

nis14

nis15

到此NIS客户端也就配置完了。

(4)测试,通常用yptest,ypwhich,ypcat

yptest:测试 yp 的设定内容、数据库内容等等所有 NIS 相关的资料测试;

#yptest

nis17

看到test 9的测试内容为图中所示,则表示成功。为什么会出现test 3所示的警告信息,是因为在/var/yp/Makefile中默认的设置为

nis18

也就是不传送nobody这个账号。在ubuntu中nobody的UID,GID都为65534,如果是想传送并消除test 3的警告,则需要在NIS服务器端更改成

nis19

设置成“0”就是传送

重启动NIS服务

再次使用yptest,就会看到

nis20

就会看nobody也传送过来了,不会出现test 3 的错误了。

ypwhich:测试 NIS Client 与 Server 之间沟通的数据库 (database) 到底是哪几个档案;

#ypwhich

会显示NIS服务器的主机名

#ypwhich –x

nis21

ypcat:主要在取得 NIS Server 上面的使用者密码信息

#ypcat passwd.byname

nis22

也可以用geten命令查看

#getent passwd

#getent group

也能看到相应的NIS用户和组

(5)把admin04的家目录开机自动挂载到NIS的客户端

#sudo /home/admin04

#sudo chown admin04:admin04 /etc/admin04

修改/etc/fstab

#sudo vim /etc/fstab

nis24

这时admin04用户登录到NIS客户端时,家目录也同时挂载上,否则当admin04登录时,会提示找不到家目录。

*:为什么我不直接把NFS的/home目录共享出来,而只是用户的admin04目录?

因为我发现当在NIS客户端挂载了NFS服务器端分享出来的/home目录后,NIS客户端的本地用户登录后,就没有家目录了。所以要想NIS客户端的本地用户也能正常登录时,就用这方式。

(6)其它问题

以SSH登录不会出现什么提示,但是以桌面方式(ubuntu desktop)登录,会出现以下提示

nis04

出现以上信息,那么桌面上就是空白,什么菜单也没有,无法使用。这是因为在NFS端共享出来的家目录权限有问题,我的解决方法是在NFS服务器把admin04的权限修改成775,google一下这个问题也有其它的解决方法。

nis05

出现以上信息,只要点"delete”就好了,只是桌面上一些小工具没有,还是可以用的。

结束语:

在这没有实验NIS的主从配置及在客户端更改密码yppasswd,ypchfn,ypchsh;觉的在生产环境中应用NIS不是太灵,相比之下windows server的AD就比较好用,另外一种集中管理的方式LDAP也是可以的;还有一种方式就是利用samba把linux机器配置成域控制器,进行用户的集中管理。文中没有修改的文件(ypserver.conf,ypserv.securenets,/etc/netgroup),都采用默认设置。为了增强portmap安全性,还应配置/etc/hosts.deny,/etc/hosts.allow,/etc/ypserv.securenets文件。

 NIS 官方网站:http://www.linux-nis.org/

NIS HOW-TO:http://www.linux-nis.org/nis-howto/HOWTO/index.html


本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/400864


相关文章
|
29天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
45 2
|
2月前
|
网络协议 Ubuntu 网络安全
|
2月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
93 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
2月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
42 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
399 3
|
3月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
209 1
|
2月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
126 0
|
3月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
317 3
|
3月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
404 2
|
3月前
|
Ubuntu
树莓派 —— ubuntu上通过netplan配置网络
树莓派 —— ubuntu上通过netplan配置网络