一、基本的配置
1、安装,配置网段
2、SSH免密登录
3、批量修改hosts文件
4、建立NFS服务
5、建立NIS服务(设置默认共享目录/share/home)
二、服务的配置
1、openMPI并行计算
.........
现在出现问题:
节点1作为客户端节点,两张网卡,搭建的局域网
除了节点1的节点,剩余节点使用的自己搭建的局域网,都没有网,该怎样安软件,怎样用apt?
解决方案1:使用rsync同步,有弊端,为避免相关配置文件被同步
rsync -av --exclude-from=/root/etc.exclude /lib ubuntu3:/
解决方案2:用ISO镜像,把里边的仓库放到共享目录中,然后修改局域网节点的源为本地源。
NFS服务昨天配置好了
NFS或网络文件系统是一种分布式文件系统协议,最初是由Sun Microsystems构建的。通过NFS,您可以允许系统通过网络与其他人共享目录和文件。在NFS文件共享中,用户甚至程序可以访问远程系统上的信息,就像它们驻留在本地计算机上一样。
今天配置MIS服务
这个配置坑比较多,卡了一天半的时间
先把静态IP配了
一般看你的netplan目录
vim /etc/netplan/01-network-manager-all.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
ens160:
dhcp4: no
addresses: [192.168.80.10/24]
optional: true
gateway4: 192.168.80.2
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
ens192:
addresses: [192.168.1.1/24]
netplan apply
NIS相关文档
NIS提供用户的账号、密码、UID和主目录等。在客户机登陆输入用户的账户信息到NIS服务器端进行认证,客户机不需要存有该用户的信息。
NIS 域名: ubuntu1
服务器名: ubuntu1(192.168.1.1)
客户端名: ubuntu2(192.168.1.10)、ubuntu3(192.168.1.11)
账号: 创建新账号test01,主目录为NFS共享目录share/home/test01
相关软件:
yp-tools :提供 NIS 相关的查询命令
ypbind :NIS Client 端
ypserv :NIS Server 端
rpcbind :NIS 需要的 RPC 服务
Server 端:
1. 需要安装:
运行 界面输入域名
sudo apt-get install nis rpcbind
完成后,会在/etc下新增yp.conf、ypserver.conf、ypserv.securenets三个文件
3. 新建账户 test01:
adduser --home /share/home/test01 test01
4. 修改配置文件:
A、主要就配两个:
vi /etc/default/nis
NISSERVER=master
vi /etc/yp.conf
domain ubuntu1 server ubuntu1
B、次要:
vi /etc/hosts.allow
ALL: 192.168.1.
portmap ypserver ypbind: 192.168.1.
sshd: 192.168.1.
mountd: 192.168.1.
C、配置权限相关
vi /etc/ypserv.securenets
# Always allow access for localhost
255.0.0.0 127.0.0.0
# This line gives access to everybody. PLEASE ADJUST!
#0.0.0.0 0.0.0.0
255.255.255.0 192.168.1.0
vi /etc/ypserv.conf
255.255.255.0 192.168.1.0
下边的配置是以前就弄好的 (以前配置完成可忽略)
/etc/hosts配置
/etc/exports里边的NFS配置
/share 192.168.1.0/24(rw,sync,no_root_squash)
5. 初始化数据库
sudo /usr/lib/yp/ypinit -m
Ctrl+D
6. 重启服务
sudo service ypserv restart
sudo make -C /var/yp
测试
yptest
到此NIS服务器就配置完了,此时能看到在/var/yp下有这么一些文件
其中Makefile就是NIS数据库文件
testlab就是以”NIS域名”为名的目录,内容就是一些相关的配置文件
现在把/home/admin04用NFS共享出来,具体NFS配置,在上一篇文章
Client端
1. 需要安装:
运行
sudo apt-get install nis rpcbind
界面输入nisdomainname ubuntu1
2. 修改配置文件:
vi /etc/yp.conf
domain ubuntu1 server ubuntu1
必须改
/etc/nsswitch.conf
其实就是现在本地查用户信息,查不到就去NIS服务器也就是节点1查
添加
passwd: nis compat
group: nis compat
shadow: nis compat
3. 重启:
sudo service ypserv restart
sudo make -C /var/yp
4. 测试
yptest
出现test 3所示的警告信息,是因为在/var/yp/Makefile中默认的设置为
也就是不传送nobody这个账号。在ubuntu中nobody的UID,GID都为65534,如果是想传送并消除test 3的警告,则需要在NIS服务器端更改成
设置成“0”就是传送
重启动NIS服务
再次使用yptest,就会看到nobody也传送过来了,不会出现test 3 的错误了。
ypwhich:测试 NIS Client 与 Server 之间沟通的数据库 (database) 到底是哪几个档案;
#ypwhich
会显示NIS服务器的主机名
#ypwhich –x
ypcat:主要在取得 NIS Server 上面的使用者密码信息
#ypcat passwd.byname
也可以用geten命令查看
#getent passwd
#getent group
也能看到相应的NIS用户和组
配置过程中出现的问题:
1、服务端和客户端的域名一定保持一致
查看域名
nisdomainname
2、Can't communicate with ypbind
当一个机子作为NIS客户机的时候,可能会出现标题中的报错。在NIS套件中,ypbind是客户机向服务器获取用户信息的工具。要处理题中的错误,需要:
- 检查IP,配置静态IP
- 由于是处于局域网当中,客户机没有网,采用的是节点1同步到节点2的方式,可能同步有问题。
3、确保NIS的配置无误
检查客户机和服务器所处的NIS域是否一致,可用nisdomainname检查。
检查服务器端的/etc/ypserv.securenets文件中指定可以访问NIS服务的机子是否包含客户机
检查客户机端的/etc/yp.conf文件中指定的NIS服务器是否正确
检查客户机端的/etc/nsswitch.conf文件的配置
如果在服务器和客户机的配置文件中指定彼此的时候使用了对方的主机名,记得检查/etc/hosts中是否包含了对对方主机名的解析。
4、重启服务
重启服务器端、客户机端的
service ypserv restart
service ypbind restart
3、如果服务有异常,可以用 yptest 排错
1) 如果ypserv没有启动,在client端执行yptest返回
Test 2: ypbind
can't yp_bind: Reason: Domain not bound
2) 如果ypbind没有启动,在client端执行yptest返回
Test 2: ypbind
Can't communicate with ypbind
3) (可能新增和删除是不需要这样的)如果在server端删除用户,但是没有 make -C /var/yp 的话,client端仍然能够用这个用户登录。
4、do_ypcall: clnt_call: RPC: Unable to receive; errno = Connection refused
安装nis不成功的遗留问题
RPC是远程过程调用、IP问题
/etc/nsswitch.conf配置文件还原
关于用户创建和删除:
1. 创建用户
useradd命令
//命令一:这种命令会在登录界面显示用户名
sudo useradd -m XXX -d /home/XXX -s /bin/bash
//命令二:这种命令会在登录界面隐藏用户名
sudo useradd -r -m -s /bin/bash XXX //XX指代创建的用户名
useradd命令参数意义:
-r:建立系统账号
-m:自动建立用户的登入目录
-s:指定用户登入后所使用的shell
为创建的用户设置密码
在Ubuntu18.04系统中,如需要设置用户密码,要手动执行以下命令来设置新用户的密码.
sudo passwd XXX //XXX指创建的用户名
输入ls /home/,可以看到用户目录被成功创建了!
2. 修改用户权限
采用修改系统中/etc/sudoers文件的方法分配用户权限。因为此文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限。
sudo chmod +w /etc/sudoers
sudo vim /etc/sudoers
然后找到以下代码:
# User privilege specification
root ALL=(ALL:ALL) ALL
并添加需要sudo权限的用户名:
# User privilege specification
root ALL=(ALL:ALL) ALL
XXX ALL=(ALL:ALL) ALL //这一行为添加的代码,XXX表示需要添加权限的用户名
将sudoers文件的操作权限改为只读模式.
sudo chmod -w /etc/sudoers
3. 删除用户
执行userdel命令.
sudo userdel XXX //XXX为需要删除的用户名
删除用户权限相关配置.
删除或者注释掉/etc/sudoers中关于要删除用户的配置,否则无法再次创建同名用户.
彻底删除步骤如下:
(1) 删除/home目录下的文件.
cd /home
rm -rf XXX //XXX为需要删除的用户名
(2) 删除/etc/passwd下的用户.
cat /etc/passwd
此命令是查看系统中的所有用户,找到最后一行,可以发现刚刚创建的用户,再使用vi编辑器删除最后一行。
(3) 删除/etc/group下的用户组文件.
cat /etc/group
此命令是查看系统中的所有用户组,找到最后一行,可以发现刚刚创建的用户,再使用vi编辑器删除最后一行。
(4) 删除/var/spool/mail下的邮箱文件.
cd /var/spool/mail
rm -rf XXX //XXX为需要删除的用户信息
linux userdel 删除用户遇到 userdel: user test1 is currently used by process 7585 无法删除的问题
1.最大的可能性就是之前登录root用户了,用exit命令退出(或者ctrl+d),之后就可以正常删除了(我无法删除是这个原因)
2.或许真的有被删除用户部分程序在运行,kill掉