返回列表 发帖

用户管理

笺注:这是在 CentOS6.9编译安装Zabbix4.4.5 的基础上进行的。


查看系统中有哪些用户组:
图片1.png
2020-9-29 16:37



系统中所有用户的账号基本信息都保存在 /etc/passwd
图片2.png
2020-9-29 16:38

注释:
用户zabbix的家目录为 /home/zabbix
登录Shell为 /sbin/nologin 是不能登录系统的。



系统中所有用户的账号密码信息都保存在 /etc/shadow
第2个区块:是使用MD5加密的密码字符串信息,当其包含“!”、“!!”时,该用户不能登录到系统;若其为空时,该用户无需密码验证即可登录系统(当然也要看登录Shell)
图片3.png
2020-9-29 16:38





新建用户组:
groupadd team01
图片4.png
2020-9-29 16:39



删除用户组:
groupdel team03
图片5.png
2020-9-29 16:39





新建用户:
-g:指定基本组  -G:指定附加组  -c:注释作用
[root@Zabbix_server_01 ~]# useradd -g team01 -G team02 -c laoban zhuohua
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# id zhuohua
uid=503(zhuohua) gid=503(team01) 组=503(team01),504(team02)
注释:依次为用户ID、基本组ID、基本组、附加组

[root@Zabbix_server_01 ~]# ls -ld /home/zhuohua/
drwx------ 3 zhuohua team01 4096 2月   8 11:50 /home/zhuohua/
注释:不指定家目录的话,默认会自动在/home给用户创建一个家目录。


[root@Zabbix_server_01 ~]# finger zhuohua
-bash: finger: command not found

解决方法:
[root@Zabbix_server_01 ~]# yum -y install finger


图片6.png
2020-9-29 16:40

注释:
用户zhuohua的家目录为 /home/zhuohua
登录Shell为 /bin/bash 是可以登录系统的
不能使用Name登录系统



-d:指定用户的家目录
adduser -g wheel -G root -d /newhome happy
图片7.png
2020-9-29 16:40

注释:目录不存在的话,会自动创建的。



-e:指定失效日期    -M:不创建家目录
-s:指定用户的登录Shell
adduser -e 2020-03-08 -s /sbin/nologin -M mary
图片8.png
2020-9-29 16:41

注释:
这个用户其实是没有家目录的;
登录Shell为 /sbin/nologin 是不能登录系统的;
不指定登录Shell的话,默认为 /bin/bash


新建用户时,如不指定其基本组,默认会以该用户的名称自动创建一个组
图片9.png
2020-9-29 16:41



新建的用户:
图片10.png
2020-9-29 16:42


图片11.png
2020-9-29 16:42







给用户zhuohua设置密码:(也可以使用这个方法修改用户密码)
[root@Zabbix_server_01 ~]# echo 'mima' | passwd --stdin zhuohua
更改用户 zhuohua 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# tail -4 /etc/shadow
zabbix:!!:18300:0:99999:7:::
zhuohua:$6$g0xdno33$r7.VQV23NHAFs23VPpJkwzphwElpdXHuIbmzrozDQ2kRibUNPldPbi3stwcpvn.9wqYHTppDbtKljuL/2rvVt1:18300:0:99999:7:::
happy:!!:18300:0:99999:7:::
mary:!!:18300:0:99999:7::18329:


用户zhuohua可以通过密码验证登录系统了:
图片12.png
2020-9-29 16:43





清空用户happy的密码:
passwd -d happy
图片13.png
2020-9-29 16:43

注释:第2个区块是空的;


用户happy登录系统不需要输入密码的:
图片14.png
2020-9-29 16:43



当重新给用户happy设置密码后,其登录系统时就需要密码验证了
[root@Zabbix_server_01 ~]# echo '123' | passwd --stdin happy
更改用户 happy 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep happy
happy:$6$5c1LkW1k$oOn5XodQgWcjCEF7DWaQpgJCRvYGqS0n1WSL4ptQPwBiq52tYWVssztYOe.n3rsjzd.ZyNjcIQEyrRsYT8AfW0:18300:0:99999:7:::


用户happy登录系统时需要输入密码了:
图片15.png
2020-9-29 16:44





给用户mary设置密码或清空密码,也是登录不了系统的,因为其登录Shell为 /sbin/nologin
[root@Zabbix_server_01 ~]# echo 'abc' | passwd --stdin mary
更改用户 mary 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep mary
mary:$6$gaysfJOd$URDcH.r22XP/1j01/5bp85bThCzYH1yK9f5PDvF.7YVFJBdKDER.pl5Auq9ECMREpTvgEREhc/3NbcK54o9Yp0:18300:0:99999:7::18329:
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# su mary
This account is currently not available.









###### 锁定用户的方法一

锁定用户zhuohua:
[root@Zabbix_server_01 ~]# passwd -l zhuohua
锁定用户 zhuohua 的密码 。
passwd: 操作成功
[root@Zabbix_server_01 ~]# passwd -S zhuohua
zhuohua LK 2020-02-08 0 99999 7 -1 (密码已被锁定。)
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep zhuohua
zhuohua:!!$6$g0xdno33$r7.VQV23NHAFs23VPpJkwzphwElpdXHuIbmzrozDQ2kRibUNPldPbi3stwcpvn.9wqYHTppDbtKljuL/2rvVt1:18300:0:99999:7:::

注释:其在 /etc/shadow 的第2个区块的开始字符变为“!!”


用户被锁定后将无法直接登录系统:
图片16.png
2020-9-29 16:46



但可以使用用户root进行切换:
图片17.png
2020-9-29 16:46

注释:普通用户切换到用户zhuohua是不成功的。



给用户admin解锁:
[root@Zabbix_server_01 ~]# passwd -uf zhuohua
解锁用户 zhuohua 的密码 。
passwd: 操作成功
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# passwd -S zhuohua
zhuohua PS 2020-02-08 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep zhuohua
zhuohua:$6$g0xdno33$r7.VQV23NHAFs23VPpJkwzphwElpdXHuIbmzrozDQ2kRibUNPldPbi3stwcpvn.9wqYHTppDbtKljuL/2rvVt1:18300:0:99999:7:::





###### 锁定用户的方法二

锁定用户zhuohua:
[root@Zabbix_server_01 ~]# usermod -L zhuohua
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# passwd -S zhuohua
zhuohua LK 2020-02-08 0 99999 7 -1 (密码已被锁定。)
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep zhuohua
zhuohua:!$6$g0xdno33$r7.VQV23NHAFs23VPpJkwzphwElpdXHuIbmzrozDQ2kRibUNPldPbi3stwcpvn.9wqYHTppDbtKljuL/2rvVt1:18300:0:99999:7:::

注释:其在 /etc/shadow 的第2个区块的开始字符变为“!”


解锁用户:
[root@Zabbix_server_01 ~]# usermod -U zhuohua
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# passwd -S zhuohua
zhuohua PS 2020-02-08 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# cat /etc/shadow |grep zhuohua
zhuohua:$6$g0xdno33$r7.VQV23NHAFs23VPpJkwzphwElpdXHuIbmzrozDQ2kRibUNPldPbi3stwcpvn.9wqYHTppDbtKljuL/2rvVt1:18300:0:99999:7:::










修改用户名以及其家目录:(将用户happy改名为admin)
[root@Zabbix_server_01 ~]# mv -f /newhome/ /home/admin
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# usermod -d /home/admin/ happy
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# usermod -l admin happy

用户admin会继承原用户happy的一切(包括家目录和密码等等)
[root@Zabbix_server_01 ~]# id happy
id: happy:无此用户
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# id admin
uid=504(admin) gid=10(wheel) 组=10(wheel),0(root)
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# finger admin
Login: admin                            Name:
Directory: /home/admin/                 Shell: /bin/bash
Last login 六 2月  8 12:24 (CST) on tty1
No mail.
No Plan.
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# ls -ld /home/admin/
drwx------ 3 admin wheel 4096 2月   8 12:24 /home/admin/











使用gpasswd命令添加单个用户到某个组:
[root@Zabbix_server_01 ~]# useradd k1
[root@Zabbix_server_01 ~]# useradd k2
[root@Zabbix_server_01 ~]# useradd k3
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# gpasswd -a k1 team02
正在将用户“k1”加入到“team02”组中
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# id k1
uid=506(k1) gid=506(k1) 组=506(k1),504(team02)






使用gpasswd命令添加多个用户到某个组:
gpasswd -M k2,k3 team02
图片18.png
2020-9-29 16:48

注释:需要一条命令指定组里的所有用户!没写的用户会被踢出该组!!


gpasswd -M k1,k2,k3 team02
图片19.png
2020-9-29 16:49







一个用户只能属于一个基本组,但可以同时属于多个附加组的:
图片20.png
2020-9-29 16:49

注释:
依次为用户ID、基本组ID、基本组、附加组;
基本组后面的都是附加组;


筛选以team02作为附加组的用户:
grep team02 /etc/group
图片21.png
2020-9-29 16:50

注释:就算用户以team02作为基本组,但附加组不包含team02,那么这种方法是筛选不出来的。



使用gpasswd命令从一个组里删除单个用户:
gpasswd -d k1 team02
图片22.png
2020-9-29 16:50












用户的家目录都会有一些隐藏的配置文件:
ls -alh ~zhuohua/
图片23.png
2020-9-29 16:50


注释:
.bash_profile 文件中的命令会在该用户每次登录时执行(别的用户直接 su 过来不算数的;使用 su - 用户名才生效)

.bashrc 文件中的命令会在该用户每次登录时执行,别的用户怎么 su 过来都算数

.bash_logout 文件中的命令会在该用户每次退出登录时执行(别的用户直接 su 过来再退出登录是不算数的;使用 su - 用户名登录后,再退出登录才生效的。)


原始文件内容:
图片24.png
2020-9-29 16:51


图片25.png
2020-9-29 16:51


图片26.png
2020-9-29 16:51




例子一,用户zhuohua每次登录都会在自己的家目录新建一个文件test1.txt
echo 'touch ~zhuohua/test1.txt' >> ~zhuohua/.bashrc
图片27.png
2020-9-29 16:51


效果:
图片28.png
2020-9-29 16:52




例子二,用户zhuohua每次登录都会在自己的家目录新建一个目录dir1
echo 'mkdir -p /home/zhuohua/dir1' >> ~zhuohua/.bash_profile
图片29.png
2020-9-29 16:52


效果:
图片30.png
2020-9-29 16:52



删除当前用户的家目录里的某个目录:
[zhuohua@Zabbix_server_01 ~]$ rm -rf ~/dir1/
[zhuohua@Zabbix_server_01 ~]$ ls
test1.txt



例子二,用户zhuohua每次退出登录时都会在自己的家目录新建一个文件test2.txt
echo 'touch ~zhuohua/test2.txt' >> ~zhuohua/.bash_logout
图片31.png
2020-9-29 16:53


效果:
图片32.png
2020-9-29 16:53






如果希望所有用户登录后,都会自动运行指定的命令、自动设置变量等等:(别的用户怎么su过来都是算数的)

例子一,任何用户登录后,都要在自己的家目录新建一个以自己名字开头的.txt文件
echo 'uu=`whoami`' >> /etc/bashrc
echo 'touch ~/${uu}.txt' >> /etc/bashrc
图片33.png
2020-9-29 16:54


效果:
图片34.png
2020-9-29 16:54


图片35.png
2020-9-29 16:54












删除用户:
[root@Zabbix_server_01 ~]# ls -ld /home/k1/
drwx------ 3 k1 k1 4096 2月   8 13:01 /home/k1/
[root@Zabbix_server_01 ~]# ls -ld /home/k2/
drwx------ 3 k2 k2 4096 2月   8 13:01 /home/k2/
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# userdel k1
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# ls -ld /home/k1/
drwx------ 3 506 506 4096 2月   8 13:01 /home/k1/

[root@Zabbix_server_01 ~]# userdel -r k2
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# ls -ld /home/k2/
ls: 无法访问/home/k2/: 没有那个文件或目录

注释:加上 -r 会连用户的家目录一并删除。



假如用户在登录状态:
[root@Zabbix_server_01 ~]# userdel -r k3
userdel: user k3 is currently used by process 2427

可先强制退出该用户和其进程:
[root@Zabbix_server_01 ~]# pkill -9 -U k3
[root@Zabbix_server_01 ~]# userdel -r k3
[root@Zabbix_server_01 ~]# id k3
id: k3:无此用户











############

当服务器中的用户账号已经固定,不再进行更改时,可以锁定用户账号的配置文件:

// 查看指定的文件是否被锁定
[root@Zabbix_server_01 ~]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow

// 锁定账号的信息文件、密码文件
[root@Zabbix_server_01 ~]# chattr +i /etc/passwd /etc/shadow
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow


// 解锁账号的信息文件、密码文件
[root@Zabbix_server_01 ~]# chattr -i /etc/passwd /etc/shadow
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow


笺注:用户账号的配置文件被锁定的情况下,其内容将不允许变更,因此无法添加、删除用户,也不能更改用户的密码、登录Shell、家目录等等。






普通文件也可以锁定的:
[root@Zabbix_server_01 ~]# lsattr 1.txt
-------------e- 1.txt
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# chattr +i 1.txt
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# lsattr 1.txt
----i--------e- 1.txt
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# echo '222' > 1.txt
-bash: 1.txt: 权限不够
[root@Zabbix_server_01 ~]# rm -rf 1.txt
rm: 无法删除"1.txt": 不允许的操作

[root@Zabbix_server_01 ~]# chattr -i 1.txt
[root@Zabbix_server_01 ~]# lsattr 1.txt
-------------e- 1.txt
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# echo '222' > 1.txt
[root@Zabbix_server_01 ~]# cat !$
cat 1.txt
222
[root@Zabbix_server_01 ~]# rm -rf !$
rm -rf 1.txt
[root@Zabbix_server_01 ~]# ls !$
ls 1.txt
ls: 无法访问1.txt: 没有那个文件或目录





相关文章:
vsftpd虚拟用户
vsftpd用户验证(一)
Samba用户验证(一)

CentOS8_在Docker中安装Samba

su和sudo命令
Linux常用命令(一)
Shell脚本中的函数





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^


苏泊尔电压力锅家用智能5L高压饭煲特价
dianfanbao.png
2020-1-13 10:14



苏泊尔电磁炉火锅家用智能正品学生电池炉灶特价炒菜
diancilu.png
2020-1-13 10:14



苏泊尔电蒸锅多功能家用蒸气锅三层大容量电蒸笼蒸锅蒸菜自动断电
dianzhengguo.png
2020-1-13 10:14

返回列表