欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用户管理

程序员文章站 2022-07-14 20:04:01
...

用户管理

每个用户都有一个唯一的UID,UID是怎么区分用户的
0             超级管理员,最高权限,有着极强的破坏能力
1~200      系统用户,用来运行系统自带的进程,默认已创建
201~999   系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
1000+      普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限0             超级管理员,最高权限,有着极强的破坏能力

创建用户会在哪个配置文件中保存

 /etc/password		存储用户信息
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200312195429136.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjIwNDc3Nw==,size_16,color_FFFFFF,t_70)
 /etc/shadow		存储用户密码
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200312195443255.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjIwNDc3Nw==,size_16,color_FFFFFF,t_70)

使用useradd命令新增用户,注意: adduser命令软链接指向useradd

选项

-u 指定要创建用户的UID,不允许冲突

-g 指定要创建用户默认组 (老婆) <–如果没有指定 国家派送一个与你同名的组

-G 指定要创建用户附加组,逗号隔开可添加多个附加组 (妾 N多个)

-c 指定要创建用户注释信息

-s 指定要创建用户的bash shell /bin/bash /sbin/nologin

-d 指定要创建用户家目录 (默认都在/home下)

-M 给创建的用户不创建家目录

-r 创建系统账户,默认无家目录

例子:.创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登陆shell:/bin/bash
创建组
[[email protected] ~]# groupadd students
[[email protected] ~]# groupadd sa

创建用户(指定属性)
[[email protected] ~]# useradd bgx -u 5001 -g students -G sa -c “2020 new student” -s /bin/bash

检查bgx用户
[[email protected] ~]# id bgx
uid=5001(bgx) gid=1110(students) groups=1110(students),1111(sa)

过滤配置文件,检查用户详情(在这里面不显示附加组信息,只显示基本组)
[[email protected] ~]# grep “bgx” /etc/passwd
bgx❌5001:1110:2020 new student:/home/bgx:/bin/bash

#2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统

1.-r创建一个系统用户,系统用户默认就没有家目录,-s 在指定不运行登陆系统
[[email protected] ~]# useradd mysql -r -s /sbin/nologin

2.-M不给用户创建家目录,并指定登陆的bash是/sbin/nologin
[[email protected] ~]# useradd mysql2 -M -s /sbin/nologin

如何使用usermod命令修改用户信息

#选项

-u 指定要修改用户的UID

-g 指定要修改用户基本组

-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组

-d 指定要修改用户家目录

-s 指定要修改用户的bash shell

-c 指定要修改用户注释信息

-l 指定要修改用户的登陆名

-L 指定要锁定的用户

-U 指定要解锁的用户

#1.检查此前创建的用户信息
[[email protected] ~]# grep “bgx” /etc/passwd
bgx❌5001:1110:2020 new student:/home/bgx:/bin/bash

#2.修改bgx用户uid6001、group:devops, groups:network,sa

[[email protected] ~]# groupadd devops
[[email protected] ~]# groupadd network
[[email protected] ~]# usermod bgx -u6001 -g devops -G network,sa
-G > network,sa
-aG >> network

检查的操作
[[email protected] ~]# grep “bgx” /etc/passwd
bgx❌6001:5003:2020 new student:/home/bgx:/bin/bash

[[email protected] ~]# id bgx
uid=6001(bgx) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)


#3.修改bgx用户的注释信息 用户家目录 /opt/bgx 登录shell /bin/sh 登录名 bgx_new

[[email protected] ~]# usermod bgx -c “2200 new student” -d /opt/bgx -s /bin/sh -l bgx_new

检查
[[email protected] ~]# grep “bgx” /etc/passwd
bgx_new❌6001:5003:2200 new student:/opt/bgx:/bin/sh

[[email protected] ~]# id bgx_new
uid=6001(bgx_new) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)

#4.锁定用户[扩展]
[[email protected] ~]# echo “123” |passwd --stdin username
[[email protected] ~]# usermod -L username #锁定后会无法登陆系统

#5.解锁用户[扩展]
[[email protected] ~]# usermod -U username

使用userdel命令删除账户

#选项 -r 删除用户的家目录,以及用户的邮件
测试环境:随便删
生产环境:尽量不要使用-r操作,因为对方的家目录下可能有一些比较重要的配置、或者其他…

#1.删除user1用户,但不删除用户家目录和 mail spool
[[email protected] ~]# userdel user1

#2.-r参数可以连同用户家目录一起删除(慎用)
[[email protected] ~]# userdel -r user1

ttt用户 -r ttt

了解项:who、whoami、w检查用户登陆情况


1.如何为新用户设定密码,又如何变更老用户的密码。

创建用户后,如需要使用该用户登陆系统则需要为用户设定密码,设定密码使用passwd命令。建议密码复杂度高一些、长度大于10、出现各种特殊字符、无任何规律. (不要出现名字,电话,生日等)

#1.使用passwd命令修改用户密码

passwd #给当前用户修改密码

passwd root #给root用户修改密码(只能是root才有此权限,其他任何用户都没有该权限)

passwd oldboy #给oldboy用户修改密码(root可以,或者oldboy用户自己给自己修改密码)

#通过passwd --stdin读取输出的结果,将结果赋值给对应的用户

echo “123” | passwd --stdin xuliangwei #非交互式修改密码

PS: 注意事项
1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符
2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。

#3.系统内置变量生成随机字符串
[[email protected] ~]# echo $RANDOM | md5sum | cut -c 2-10
d588c9112
[[email protected] ~ 19:38:52]# echo $RANDOM 产生5位随机整数
17851
[[email protected] ~ 19:39:53]# echo $RANDOM | md5sum 变成乱码
33d9e47646b1f41879bd8434c51871f7 -

#4.mkpasswd生成随机字符串
选项:
-l 设定密码长度,
-d 数字
-c 小写字母,
-C 大写字母,
-s 特殊字符

[[email protected] ~]# yum install expect -y
#注意:各种特殊字符的位数加起来,不能超过-l指定的长度
[[email protected] ~]# mkpasswd -l 10 -d 2 -c 3 -C 3 -s 2
<uhKf-L73X

PS: 推荐密码保存套件工具,支持windows、MacOS、Iphone以及浏览器插件Lastpass官方网站