Linux中的用户与创建
用户的类型
超级管理用户:
权限最高的用户(uid:0) #uid:是用户的身份证号,Linux系统只认uid
普通用户:
权限受限的用户(uid:1000-60000)
程序用户:
不是给人登陆使用:是给程序使用(uid:1-999)
一个用户必须有一个基本组,附加组可有可无,也可以有多个
基本组:必须要有,有且只有一个
附加组:可有可无。也可以有多个
用户账号管理
文件位置
/etc/passwd
存放保存用户名称、宿主目录、登录 Shell 等基本信息
[root@localhost ~]# ls /etc/passwd
/etc/passwd
[root@localhost ~]# cat /etc/passwd
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:997:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:995:993::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:994:990::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:993:988:User for geoclue:/var/lib/geoclue:/sbin/nologin
sssd:x:992:987:User for sssd:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
asdjkl:x:1000:1000:asdjkl:/home/asdjkl:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
root❌0:0:root:/root:/bin/bash
root:用户的名字
x:密码占位符
0:uid
0:gid
root:备注信息
/root:家目录位置
/bin/bash:登陆时默认加载的shell类型
可通过 man 5 passwd 指令查询该文件的信息
用户密码文件
/etc/shadow 存放保存密码(密码被加密)
[root@localhost ~]# head /etc/shadow
root:$6$1ErSmgzZVaTclNcr$TMSjtWrgcZXeE1lo2.SQyrRK4M.GKe/rZsnhTOr4zS5QtwPFvKibxys9aiA4cmjj6COZ2SwNrTTQqrva6hZzT/::0:99999:7:::
第一xiu:用户名
第二$6$F9xdHRnn$Y7h6DXNH.MbjWN/ws1mK4UKAI4ylimRVwc6zOyE2Zvd7z83e9FF9z02YXlMzeD9Ui/M.rO04gDbdnpkIPEvDr0 密码
第三:19055: 最后一次修改密码时间
第四:0: 修改密码最小天数 0 不限制
第五:99999: 密码有效期
第六:7: 提前7天提醒
第7:宽限天数
第8:失效时间 -1:永久不会失效
第9:保留
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
halt:*:17110:0:99999:7:::
mail:*:17110:0:99999:7:::
operator:*:17110:0:99999:7:::
添加用户
useradd命令
新建用户,并且修改用户的属性
useradd -u 1234 -s /sbin/nologin -M aa #1234 是udi号
# /sbin/noiogin 是选择的shell类型
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
[root@test1 ~]#useradd -u 1234 a
[root@test1 ~]#cat /etc/passwd |grep a
a:x:1234:1234::/home/a:/bin/bash
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
[root@test1 ~]#useradd -d /etc/data aa
[root@test1 ~]# cat /etc/passwd |grep aa
aa:x:1001:1001::/etc/data:/bin/bash
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号)。
[root@localhost ~]# useradd -g asdjkl kk
[root@localhost ~]# cat /etc/passwd |grep kk
kk:x:1236:1000::/home/kk:/bin/bash
[root@localhost ~]# id kk
uid=1236(kk) gid=1000(asdjkl) 组=1000(asdjkl)
-G:指定用户的附加组名(或使用 GID 号)。
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
-s:指定用户的登录 Shell /sbin/nologin
[root@localhost ~]# useradd -s /sbin/nologin lll
[root@localhost ~]# cat /etc/passwd |grep lll
lll:x:1237:1237::/home/lll:/sbin/nologin
密码管理
passwd命令
为用户账号设置密码
passwd [选项]... 用户名
[root@localhost ~]# passwd asdjkl
更改用户 asdjkl 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
-d:清空指定用户的密码,仅使用用户名即可登录系统。
[root@localhost ~]# passwd -d qq
清除用户的密码 qq。
passwd: 操作成功
-l:锁定用户账户。
[root@localhost ~]# passwd -l qq
锁定用户 qq 的密码 。
passwd: 操作成功
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。
[root@localhost ~]# passwd -S qq
qq LK 2024-04-08 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -u qq
解锁用户 qq 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S qq
qq PS 2024-04-08 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
#### 修改用户账号的属性
##### usermod命令
usermod [选项]... 用户名
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-u 修改用户的 UID 号
-U 解锁锁用户账户
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)
-G:修改用户的附加组名(或使用 GID 号)
-s:指定用户的登录 Shell
#### 删除用户
##### userdel
userdel [选项] 用户
[root@localhost ~]# userdel qq #可以删除用户,但不能删除用户文件
[root@localhost ~]# id qq
id: qq: no such user
[root@localhost ~]# useradd qq
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
-r 将宿主目录一起删除
[root@localhost ~]# userdel -r qq
[root@localhost ~]# id qq
id: qq: no such user
[root@localhost ~]# useradd qq
[root@localhost ~]# id qq
uid=1001(qq) gid=1001(qq) 组=1001(qq)
标签:qq,sbin,nologin,用户,Linux,权限,root,localhost
From: https://www.cnblogs.com/zhj0708/p/18121337