linux-用户管理
一、用户/组的基本概念
由六个冒号被分为七列(七个字段)
1、用户基本信息文件
[root@localhost ~]# vim /etc/passwd(基本信息)
用户名:x:uid:gid:描述:HOME:shell
用户名:登录系统的名字
x:密码占位符,具体按内容不在这里 > uid:0 特权用户
uid:用户的身份证号------------>uid:1~499 系统用户
> uid:1000+ 普通用户
gid:group组号
root描述:一般与用户名相同
/root:家目录:登录系统时,所在目录
/bin/bash (shell(壳)命令解释器) :
bash=ashell+bshell
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saned:x:996:994:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
saslauth:x:995:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
setroubleshoot:x:994:991::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
"/etc/passwd" 43L, 2256C
2、用户密码信息文件
由八个冒号被分为九列(九个字段)
[root@localhost ~]# vim /etc/shadow(加密信息)
root: $6$ Fbp
1、用户名
2、加密值
3、最后一次修改时间
4、最小时间间隔,改密码的最小天数 0:当天就可以改
5、最大时间间隔 ,密码有效期,99999:永久
6、警告时间(提示修改密码)
7、不活动时间(用户不登录系统,超过规定时间,禁用你)
8、失效时间(到了规定的时间,账号就不能使用了)
9、保留
a7ExKABTGHhVB$MMWyM0yrr29.E1F7q.eQMb5gkIrt94o5P9mfOPGggjUZCUa7KbpG7jhtSm1/lNQp2Nz44PNlgO3ufHUkVDWt9/
::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::
mail:*:18353:0:99999:7:::
operator:*:18353:0:99999:7:::
games:*:18353:0:99999:7:::
ftp:*:18353:0:99999:7:::
nobody:*:18353:0:99999:7:::
systemd-network:!!:19192::::::
dbus:!!:19192::::::
polkitd:!!:19192::::::
libstoragemgmt:!!:19192::::::
colord:!!:19192::::::
rpc:!!:19192:0:99999:7:::
saned:!!:19192::::::
saslauth:!!:19192::::::
abrt:!!:19192::::::
setroubleshoot:!!:19192::::::
"/etc/shadow" [只读] 43L, 1247C
3、组信息文件
由三个冒号被分为四列(四个字段)
[root@localhost ~]# vim /etc/group(组信息)
组名: 组密码:组id:组成员
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:roo
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
"/etc/group" 71L, 963C
二、用户/组的管理
1、用户
1.1只创建用户 useradd user01
//创造了一个用户user01
[root@localhost ~]# ls /home/
1 user01
//查看用户
[root@localhost ~]# id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)
//查看创造的用户的详细信息
1.2创建用户并且加一些权限
1.3删除用户:
[root@localhost ~]# userdel -r user02
//删除用户user02的同时删除文件user02
若不加 -r 仅仅删除用户不会删除user02
1.4修改用户密码
普通用户只能修改自己的密码
root用户可以修改别人的密码
[root@localhost ~]# passwd user01
更改用户 user01 的密码 。
新的 密码:123456(实际不可见)
无效的密码: 密码少于 8 个字符
重新输入新的 密码:123456(实际不可见)
passwd:所有的身份验证令牌已经成功更新。
1.5将用户加入组
1.6修改用户属性usermod -s(shell)
[root@localhost ~]# usermod 命令 -s 选项 /sbin/nologin(不让登录 什么shell )user02 用户名
//禁用用户user02登录
2、用户组
2.1.3创建组
[root@localhost ~]# groupadd hr
加 g
//创造组“hr”
[root@localhost ~]# cat /etc/group
[root@localhost ~]# grep hr /etc/group
//两个查看方式
hrony:x:988:
hr:x:1003:
2.1.4创造组的同时设置id
[root@localhost ~]# groupadd g1 -g 2000
[root@localhost ~]# grep g1 /etc/group
g1:x:2000:
//查看
2.1.5删除组
[root@localhost ~]# groupdel g1
2.2组的类型
基本组:随用户而建,组名同用户组
附加组:用户加入其他组
useradd:增加用户
userdel:删除用户
usergroup:增加组
-u:制定用户的UID
-g:制定用户的基本组
-G:制定用户的附加组
/etc/passwd可以查看的是用户的基本组
/etc/group可以查看的是用户的附加组或用“id”也可以
[root@localhost ~]# cat /etc/passwd
AAA:x:1003:1004::/home/AAA:/bin/bash //用户AAA
BBB:x:1004:1005::/home/BBB:/bin/bash //用户BBB
[root@localhost ~]# cat /etc/group
AAA:x:1004://组AAA
BBB:x:1005://组BBB
CCC:x:1006://组CCC
[root@localhost ~]# usermod AAA (用户名)-g CCC(修改组)
//把AAA的基本组改为CCC,无附加组
[root@localhost ~]# grep CCC /etc/group
CCC:x:1006://CCC的组号1006
[root@localhost ~]# grep AAA /etc/passwd
AAA:x:1003:1006::/home/AAA:/bin/bash
[root@localhost ~]# id AAA
uid=1003(AAA) gid=1006(CCC) 组=1006(CCC)
[root@localhost ~]# usermod BBB(用户名) -G CCC(修改组)
//为BBB添加一个附加组CCC,原来基本组不变
[root@localhost ~]# grep BBB /etc/passwd
BBB:x:1004:1005::/home/BBB:/bin/bash
[root@localhost ~]# grep BBB /etc/group
BBB:x:1005:
CCC:x:1006:BBB
[root@localhost ~]# id BBB
uid=1004(BBB) gid=1005(BBB) 组=1005(BBB),1006(CCC)
2.3删除附加组
[root@localhost ~]# gpasswd -d DDD(用户) CCC
正在将用户“DDD”从“CCC”组中删除、
三、提权(了解)
注意:在普通用户下需要使用超级管理员权限时
1、永久提权su(switching users with su)
[user01@localhost ~]$ su - root
密码:123456(实际不可见)
//切换身份需要密码验证
上一次登录:一 7月 25 18:52:05 CST 2022:4 上
[root@localhost ~]# exit //退出身份
登出
2、临时提权sudo(running commands as root with)
注意:在超级管理员权限下时操作
[root@localhost ~]# vim /etc/sudoers
[root@localhost ~]# useradd yps -G wheel
//创建用户yps并把yps放到附加组wheel中
[root@localhost ~]# id yps
uid=1005(yps) gid=1007(yps) 组=1007(yps),10(wheel)
//登录进入yps用户
[yps@localhost ~]$ sudo useradd user03
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。