linux用户与组的管理

用户与组的配置文件

  • /etc/passwd:用户配置信息。
  • /etc/group:组配置信息。
  • /etc/shadow:用户密码配置(密码密文保存)。
  • /etc/gshadow:组密码配置(密码密文保存)。

用户配置信息

[rc@localhost ~]$ cat /etc/passwd | grep rc
rc:x:1000:1000:rc:/home/rc:/bin/bash
用户名 密码(实际存放在/etc/shadow中) UID GID 全名或注释 家目录 默认使用的shell
rc x 1000 1000 rc /home/rc /bin/bash

组配置信息

[rc@localhost ~]$ cat /etc/group | grep rc
wheel:x:10:rc
rc:x:1000:rc
组名 密码(实际存放在/etc/gshadow中) GID 附加用户
rc x 1000 rc

用户密码配置

[rc@localhost ~]$ sudo cat /etc/shadow | grep rc
rc:$6$zl9Q14oGB0htw4kt$bURziE3yg8YES8cMesq4t7jm1z88VJI6mJ2Zc13RKbeo0Gj6q2ZHXjEWWO/PTvASvl.gtwKElumvHYfde3Mnz/::0:99999:7:::
用户名 加密密码 上一次更改密码的unix时间戳 再过几天可以更改(0表示随时可改) 再过几天必须更改(99999表示永久) 过期前几天提醒用户 过期多久账户将被锁定 多少天后账户失效
rc $6$qoOaCPosRISLl4Av$DRf6V5ABSQjFR3gJAOV6exJfNgiu.Y8dqg7yMJLZYaB4ftZrTXmv2.RYbHakWbRCRHl1UggjSwzNLHXS15UU10 0 99999 7

用户管理

添加用户

通过useradd命令可以新增用户。

useradd [选项] 登录名

主要选项如下。

  • -u, --uid:指定UID(系统默认递增)。
  • -g, --gid:所属主组(默认创建同名的主组)。
  • -G, --groups:所属附加组,逗号分隔。
  • -d, --home-dir:家目录(默认/home/$username)。
  • -m, --create-home:家目录不存在则创建(一般默认自动创建)。
  • -c, --comment:用户描述。
  • -s, --shell:设置用户默认使用的shell。

示例。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 22:36:24 CST 2022pts/0 上
[root@localhost ~]# useradd sj
[root@localhost ~]# ll /home/
总用量 0
drwxr-xr-x. 5 rc rc 119 9月  20 21:44 rc
drwx------. 2 sj sj  62 9月  20 23:00 sj

设置用户密码

用户创建好之后,还需要给它设置好密码。在这之前没法远程登陆该用户,也不能从普通用户切换到该用户。
passwd命令用来修改用户的密码。

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

主要选项。

  • -d, --delete:删除密码,只有root用户才能切换到没有密码的用户。
  • -e, --expire:强迫用户下次登录时必须修改密码。
  • -l, --lock:停止账号使用。
  • -u, --unlock:启用已被停止的账户。
  • -n, --minimum:指定密码最短存活期。
  • -x, --maximum:指定密码最长存活期。
  • -w, --warning:口令要到期提前警告的天数。
  • -i, --inactive:口令过期后多少天停用账户。

示例。
这里不用管无效密码的提示,本机测试就随便写了个简单密码,也是ok的。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 22:55:13 CST 2022pts/0 上
[root@localhost ~]# passwd sj
更改用户 sj 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# cat /etc/shadow | grep sj
sj:$6$NaKyZB6D$/aARF1As5dk4BD5QdYHUet8qLtDyA90wJpqXDnuTmJUIx4ugFXAjfPXGXBIO.mXWUmX4oLyr2RHN/nWiuOD3a1:19255:0:99999:7:::

删除用户

通过userdel命令可以删除用户。

userdel [选项] 登录名

主要选项如下。

  • -r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除。

示例。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 23:01:54 CST 2022pts/0 上
[root@localhost ~]# userdel -r sj
[root@localhost ~]# ll /home/
总用量 0
drwxr-xr-x. 5 rc rc 119 9月  20 21:44 rc

组管理

添加组

通过groupadd命令可以创建一个新组。

groupadd [选项] 组名

示例。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 23:04:09 CST 2022pts/0 上
[root@localhost ~]# groupadd good
[root@localhost ~]# cat /etc/group | grep good
good:x:1001:

将已有用户添加到指定组

通过usermod命令可以增加用户的附加组信息。

主要选项。

  • -a, --append:追加模式,和-G一起使用表示添加用户进组。
  • -G, --groups:附加组列表,和-a一起使用,组名用逗号分隔。

示例。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 23:05:57 CST 2022pts/0 上
[root@localhost ~]# usermod -a -G good rc
[root@localhost ~]# id rc
uid=1000(rc) gid=1000(rc) 组=1000(rc),10(wheel),1001(good)

将用户移除出组

通过gpasswd命令可以增删组成员信息。

gpasswd [选项] 组名

常用选项。

  • -a, --add:添加一个用户进组。
  • -d, --delete:将用户从组中删除。
  • -M, --members:设置组成员列表,逗号分隔。

示例。

[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 23:07:59 CST 2022pts/0 上
[root@localhost ~]# gpasswd -d rc good
正在将用户“rc”从“good”组中删除
[root@localhost ~]# id rc
uid=1000(rc) gid=1000(rc) 组=1000(rc),10(wheel)

删除组

通过groupdel命令可以删除组。

示例。

[rc@localhost ~]$ cat /etc/group | grep good
good:x:1001:
[rc@localhost ~]$ su - root
密码:
上一次登录:二 9月 20 23:10:56 CST 2022pts/0 上
[root@localhost ~]# groupdel good
[root@localhost ~]# cat /etc/group | grep good
[root@localhost ~]#

参考资料

posted @ 2022-03-14 14:19  HachikoT  阅读(65)  评论(0编辑  收藏  举报