wiki/运维/操作系统/Linux/笔记/6.用户管理.md
2025-01-02 10:46:09 +08:00

3.6 KiB
Raw Permalink Blame History

1、用户登录信息查看

[root@tencentos ~]# whoami
root
[root@tencentos ~]# who
root     pts/0        2023-11-25 19:37 (111.201.149.21)
[root@tencentos ~]# w
 00:25:21 up 17:30,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    111.201.149.21   19:37    0.00s  0.20s  0.00s w

2、用户

Linux中每隔用户是通过User IDUID来唯一标识的

  • 管理员root0因为UID是0所以root是管理员
  • 普通用户1-60000 UID自动分配
    • 系统用户1-999 UID对守护进程获取资源进行权限分配
    • 登录用户1000+,给用户进行交互式登录使用

** id命令查看用户的UIDGID等信息**

3、用户组

Linux中可以将一个或者多个用户加入用户组中用户组是通过Group IDGID来唯一标识的GID 同UID相同

4、用户及用户组配置文件

/etc/passwd用户机器属性信息名称、UID、主组ID等 /etc/shadow用户密码及其相关属性 /etc/group组及其属性信息 /etc/gshadow组密码机器相关属性

4.1 passwd文件格式
  • login name用户名root
  • passwd密码X
  • UID
  • GID
  • GECOS注释
  • home directory用户家目录
  • shell用户默认使用的shell
4.2 shadow文件格式
  • 登录名
  • 用户密码
  • 从1970年1月1日起到密码最近一次被修改的时间
  • 密码再过几天可以变更0表示随时可变
  • 密码再过几天必须变更99999表示永不过期
  • 密码过期前几天系统提醒用户(默认为一周)
  • 密码过期几天后账号会被锁定
4.3 group文件格式
  • 群组名称
  • 群组密码
  • GID
  • 以当前组为附加组的用户列表,多个用户间用逗号分隔

5、用户管理命令

  • useradd
  • usermod
  • userdel
5.1 用户创建

useradd格式 useradd [options] LOGIN 常见选项:

  • -uUID
  • -gGID
  • -c注释
  • -d家目录
  • -sshell可用列表在/etc/shells特殊shell /sbin/nologin
  • -G附加组
  • -r创建系统用户
  • -M不创建家目录
5.2 用户属性修改

usermod格式 usermod [option] login 常见选项:

  • -u新UID
  • -g新GID
  • -G新附加组
  • -s新shell
  • -c新注释
  • -d新家目录
  • -l新名字
  • -L锁定用户
  • -U解锁用户
  • -eYYYY-MM-DD指定用户账号过期日期
  • -f设置宽限期
5.3 删除用户

userdel格式 和上面一样不多bb 常见选项:

  • -f强制
  • -r删除家目录和邮箱
5.4 用户身份切换

su 格式: su [option] [-] user -的作用: su ubuntu非登录式切换,不会读取目标用户的配置文件,不改变当前工作目录 su - ubuntu 登录式切换,读取配置文件,改变当前工作目录 范例:切换到其他用户执行命令

su - root -c 'cat /etc/passwd'
5.5 设置用户密码

passwd格式和其他一样 常用选项:

  • -d删除指定用户密码
  • -l锁定用户
  • -u解锁
  • -e强制用户下次登录的时候修改密码
  • -f强制操作

6、用户组管理命令

6.1 创建用户组

groupadd常用选项

  • -g GID指定GID
6.2 修改用户组

groupmod常用选项

  • -n新名字
  • -g GID新GID
6.3 删除组

groupdel常见选项

  • -f强制删除
6.4 管理附加组

groupmems常见选项

  • -a指定用户加入组
  • -d从组中删除用户
  • -p从组中清除所有成员
  • -l显示组成员列表