day4.3
用户管理
用户指的是能够正常登录Linux或windows系统
支持同一个用户多个设备同时登录
支持不同的用户多个设备同时登录
1.系统上每一个进程都需要特定的用户运行
2.每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制
3.进程能够以何种方式访问某一个文件或目录,与进程所关联的用户有关
查看系统用户的命令
id :默认情况下不加用户名,则查看当前登陆用户的信息
id 用户名
[root@localhost ~]
uid=1000(wc ) 用的id 号
gid=1000(wc ) 用户组号
groups =1000(wc ) 该用户的所有信息
[root@localhost ~]
系统用户相关配置文件
/etc/passwd
举例
[root@28technicians ~]
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
第一列
第二列
第三列
第四列
第五列
第六列
第七列
内容
root
x
0
0
root
/root
/bin/bash
作用
用户名
密码占位符
uid
gid
描述信息
用户的家目录
用户登陆的shell
存放用户密码相关信息文件
[root@28technicians ~]
root:$6$HIZwKMy6GZ5jHzYA$cnBPWWwBCT4b69LHBPI9T25nhOTMNwa6u /jcTYJa4xwHPSzEGoYaAwT5MzkQ5Fx.zinjBQGj/nHiqchE109UX/::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:2:66275
以:为分隔符
第一列
第二列
第三列
第四列
第五列
第六列
第七列
第八列
第九列
内容
root
*(!!)没加密
17834
0
99999
7
2
66275
无
作用
用户名
密码(加密)
从1970年开始 上一次修改密码过了多少天
密码最少使用多少天,0代表没有限制
密码最大使用多少天
密码快过期的7天提示要修改密码
密码过期后强制修改密码
用户快过期时间从1970年开始
用户的uid
系统中含义
0
超级管理员用户
1-200
系统用户(系统自己创建的)
201-999
系统用户(可以手动创建的)
1000+
普通用户
/etc/group
举例
[root@28technicians ~]
root:x:0:
bin:x:1:
daemon:x:2:
/etc/gshadow
举例
[root@28technicians ~]
root:::
bin:::
daemon:::
chage命令修改用户信息(了解)
-d 设置用户两次改变密码之间使用天数
-d //设置最近一次更改密码时间, 0下次登陆系统强制修改密码
-m //设置用户两次改变密码之间使用"最小天数"
-M //设置用户两次改变密码之间使用"最大天数"
-W //设置密码更改警告时间将过期警告天数设为“警告天数”
-I //设置密码过期天数后, 密码为失效状态
-E //设置用户过期时间, 账户失效后无法登陆
-l //显示用户信
用户操作命令
用户创建
创建用户在默认情况下,会同时创建出跟该用户名相同的组,跟uid相同的uid,除非-g指定组,则不会创建同名组
useradd [选项]... 用户名
-u:创建用户时指定用户的uid
举例
[root@28technicians ~]
[root@28technicians ~]
uid=666(wc1) gid=1001(wc1) groups =1001(wc1)
-g:创建用户时指定用户的gid 指定用户组名(改组必须存在)
举例
[root@28technicians ~]
[root@28technicians ~]
uid=1001(wc2) gid=0(root) groups =0(root)
-G:创建用户时指定用户的附加组(改组必须存在)
举例
[root@28technicians ~]
[root@28technicians ~]
uid=1001(wc2) gid=1001(wc2) groups =1001(wc2),0(root)
-c:创建用户指定用户的描述信息
举例
[root@28technicians ~]
[root@28technicians ~]
wc2:x:1001:1001:dsb:/home/wc2:/bin/bash
-d:创建用户时指定用户的家目录(该目录可以不存在,会自动创建)
-m:修改用户时迁移用户的家目录,必须配合-d使用
举例
[root@28technicians ~]
[root@28technicians ~]
wc2:x:1001:1001:dsb:/dsb:/bin/bash
[root@28technicians ~]
[root@28technicians ~]
wc2:x:1001:1001:dsb:/home/aaa:/bin/bash
-M:创建用户时不能创建用户的家目录
举例
[root@28technicians ~]
[root@28technicians ~]
wc2:x:1001:1001:dsb:/home/wc2:/bin/bash
-s:创建用户时指定登陆的shell(默认是/bin/bash)
举例
[root@28technicians ~]
[root@28technicians ~]
wc2:x:1001:1001:dsb:/home/wc2:/sbin/nologin
-r:创建用户时指定用户为系统用户
举例
[root@28technicians ~]
[root@28technicians ~]
wc3:x:998:996::/home/wc3:/bin/bash
[root@localhost ~]
useradd: group '666' does not exist
原因:666这个组不存在,前提,-g必须加入到一个已存在的组
[root@localhost ~]
[root@localhost ~]
useradd: warning: the home directory already exists.Not copying any file from skel directory into it.
原因:使用-d指定用户的家目录时,家目录不能提前创建
修改用户
usermod [选项] 用户名
-u:修改用户时指定用户的uid
-g:修改用户时指定用户的gid 指定用户组名(该组必须存在)
-G:修改用户时指定用户的附加组,会覆盖原来的附加组(该组必须存在)
-a:修改用户附加组的时候,配合-a追加使用
-c:修改用户时指定用户的描述信息
-d:修改用户时指定用户的家目录(该目录可以不存在,会自动创建)
-M:修改用户时不创建用户的家目录
-s:修改用户时指定用户登录的shell(默认是/bin/bash)
-r:修改用户时指定用户为系统用户
---------------------------------------
-l:更改用户登录名
-L:锁定用户
-U:解锁用户
举例
[root@localhost ~]
uid=1001(wc1) gid=1001(wc1) groups =1001(wc1),0(root),1000(zhu)
[root@localhost ~]
[root@localhost ~]
uid=1001(wc1) gid=1001(wc1) groups =1001(wc1),1003(hl)
[root@localhost ~]
uid=1001(wc1) gid=1001(wc1) groups =1001(wc1),0(root),1000(zhu)
[root@localhost ~]
[root@localhost ~]
uid=1001(wc1) gid=1001(wc1) groups =1001(wc1),0(root),1000(zhu),1003(hl)
[root@localhost ~]
[root@localhost ~]
usermod: user hl3 is currently used by process 70107
原因:hl3用户当前正在被PID为70107进程占用,所以无法修改
删除用户
usedel delete
注意:删除用户,默认情况下,只删除用户本身,其他相关目录文件不会删除
usedel [选项]... 用户名
-r:递归删除,用户所有相关文件
举例
[root@28technicians ~]
[root@localhost ~]
useradd: warning: the home directory already exists.Not copying any file from skel directory into it.Creating mailbox file: File exists
原因:创建用户时,该用户以前创建过,但是在删除时没有加-r选项,没有删干净(用户同样可以创建出来)
查看用户其他命令
[root@28technicians ~]
用户 终端 登陆时间 从哪里连接
root tty1 2022-04-02 13:46
root pts/1 2022-04-02 15:14 (10.0.0.1)
[root@28technicians ~]
16:59:25 up 3:12, 2 users , load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 13:46 3:12m 0.01s 0.01s -bash
root pts/1 10.0.0.1 15:14 5.00s 0.05s 0.00s w
[root@28technicians ~]
root
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了