本文最后更新于 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

以冒号隔开

  1. 用户名

  2. 废弃的密码位。 /etc/shadow

  3. UID 用户标识号

  4. GID 缺省组标识号

  5. 用户信息记录字段(备注)

  6. 家目录

  7. 用户使用的 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
  1. 用户名

  2. 加密密码

    • !! 或 * 当前这个用户无法使用

    • 只有!! 或 * 代表你这个用户要么是系统用户,要么普通用户未设置密码

    • $6:SHA-512 加密

    • $1:md5 加密

    • $2:Blowfish 加密

    • $5:SHA-256 加密

    • !!$6$dDWf 代表你这个用户被禁用了

  3. 最后一次修改时间,从 1970.1.1 开始计算

  4. 最小修改密码时间间隔。0 代表可以随时修改。

  5. 密码有效期。默认 99999 天,相当于永久生效

  6. 密码需要更改前的警告天数。默认 7 天

  7. 密码过期后的宽限天数。 0:密码过期后,账户立马停用 -1 密码永不失效

  8. 账户失效时间

  9. 保留位

🎈用户命令操作

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
  1. 组名

  2. 废弃密码位

  3. GID

  4. 组内用户

    • wheel 组 -- 管理员组

    • 加入了 wheel 组以后,su 不需要输入密码,sudo 不需要输入密码

🎈用户组密码信息文件

/etc/gshadow
zyl:!!: :zyl
 1  2  3  4
  1. 组名

  2. 组密码位

  3. 组管理员

  4. 组中的附加用户

🎈用户组命令操作

groupadd 组名 //创建组
groupdel 组名 //删除组
gpasswd -a 用户名 组名 //将用户添加到附属组
gpasswd -d 用户名 组名 //将用户从附属组删除
groupmod //修改用户组属性

选项:

  • -g< 群组识别码 >:设置欲使用的群组识别码

  • -o:重复使用群组识别码

  • -n< 新群组名称 >:设置欲使用的群组名称