
Linux 用户与组
本文最后更新于 2024-10-11,文章内容可能已经过时。
👦🏻用户
🎈用户分类
超级用户:ROOT UID=0
普通用户:UID=1000-60000 可以登录系统,权限比管理员低,只能对自己目录下的文件进行访问和修改 - /etc/login.defs --- 账户相关配置
伪用户(系统用户): UID=1-999 不能登录系统,与系统和程序服务相关,不是真正的使用者
🎈用户信息文件
用户信息文件,所有用户可读
/etc/passwd
打开文件会看到以下信息
root:x:0:0:root:/root:/bin/bash
1 2 3 4 5 6 7
以冒号隔开
-
用户名
-
废弃的密码位。 /etc/shadow
-
UID 用户标识号
-
GID 缺省组标识号
-
用户信息记录字段(备注)
-
家目录
-
用户使用的 shell,默认是 /bin/bash
注:/sbin/nologin 为伪用户 --- 不能登录的
🎈用户密码信息文件
/etc/shadow
只有 root 用户拥有读权限,其他用户没有任何权限
root:$6$dDWf.e....ez0: :0:99999:7: : :
1 2 3 4 5 6 7 8 9
-
用户名
-
加密密码
-
!! 或 * 当前这个用户无法使用
-
只有!! 或 * 代表你这个用户要么是系统用户,要么普通用户未设置密码
-
$6:SHA-512 加密
-
$1:md5 加密
-
$2:Blowfish 加密
-
$5:SHA-256 加密
-
!!$6$dDWf 代表你这个用户被禁用了
-
-
最后一次修改时间,从 1970.1.1 开始计算
-
最小修改密码时间间隔。0 代表可以随时修改。
-
密码有效期。默认 99999 天,相当于永久生效
-
密码需要更改前的警告天数。默认 7 天
-
密码过期后的宽限天数。 0:密码过期后,账户立马停用 -1 密码永不失效
-
账户失效时间
-
保留位
🎈用户命令操作
useradd 添加用户
useradd #用户添加命令
选项:
-
-u(UID):手工指定用户 ID
-
-d [家目录]:手工指定用户的家目录
-
-M:不创建家目录
-
-c [用户说明]:手工指定的用户说明(用户备注信息)
-
-g [组名]:手工指定用户的初始组
-
-G [组名]:指定用户的附属组
-
-s(shell):手工指定用户的登录 shell。默认是 /bin/bash
注:先有组再有用户
💡passwd 密码相关
passwd [选项] [用户名]
选项:
-
-S:查询用户密码的密码状态,仅 root 用户可用
-
-l:暂时锁定用户,仅 root 用户可用
-
-u:解锁用户,仅 root 用户可用
💡usermod 修改用户信息
usermod [选项] [用户名]
选项:
-
-u(UID)修改用户的 UID 号
-
-c(用户说明)修改用户的说明信息
-
-G(组名)修改用户的附属组
-
-L(Lock)临时锁定用户
-
-U(Unlock)解锁用户锁定
💡chage
chage [选项] [用户名]
选项:
-
-d (日期) 修改密码最后一次更改日期 (shadow[3] 字段)
-
-m(天数) 两次密码修改间隔 (shadow[4] 字段)
-
-M(天数) 密码有效期 (shadow[5] 字段)
-
-W(天数) 密码过期前的警告天数 (shadow[6] 字段)
-
-I (天数) 密码过期后宽限天数 (shadow[7] 字段)
-
-E (日期) 账号失效时间 (shadow[8] 字段)
💡sudo 命令
vim /etc/sudoers #sudo配置规则
root ALL=(ALL) ALL
zyl ALL=(ALL) ALL
sudo #仅使用root身份执行一次命令
💡其他命令
id 用户名 //查看用户信息
whoami //查看当前用户
who am i //查看登录系统的用户
👨🏻👩🏻👧🏻👦🏻用户组
用户组分为 [主组] 和 [附属组]
🎈用户组分类
管理员组:root GID=0
普通组:GID=1-60000
系统组(1-999)和登录组(1000-60000)
🎈用户组信息文件
/etc/group
zyl:x:1000:zyl
1 2 3 4
-
组名
-
废弃密码位
-
GID
-
组内用户
-
wheel 组 -- 管理员组
-
加入了 wheel 组以后,su 不需要输入密码,sudo 不需要输入密码
-
🎈用户组密码信息文件
/etc/gshadow
zyl:!!: :zyl
1 2 3 4
-
组名
-
组密码位
-
组管理员
-
组中的附加用户
🎈用户组命令操作
groupadd 组名 //创建组
groupdel 组名 //删除组
gpasswd -a 用户名 组名 //将用户添加到附属组
gpasswd -d 用户名 组名 //将用户从附属组删除
groupmod //修改用户组属性
选项:
-
-g< 群组识别码 >:设置欲使用的群组识别码
-
-o:重复使用群组识别码
-
-n< 新群组名称 >:设置欲使用的群组名称