查看用户信息

cat /etc/passwd

其中包含了登录 Linux 系统所必需的每个用户的信息。它保存用户的有用信息,如
用户名、密码、用户 ID、群组 ID、用户 ID 信息、用户的home目录和 Shell 。
如:

root:x:0:0:root:/root:/bin/bash #root用户...boil:x:1000:1000:boil:/home/boil:/bin/bash#自定义用户...mysql:x:114:119:MySQL Server,,,:/nonexistent:/bin/false#mysql用户

boil❌1000:1000:boil:/home/boil:/bin/bash 为例,7 个字段( “:”分割)的详细信息如下

  • 用户名(boil): 已创建用户的用户名,字符长度 1 个到 12 个字符
  • 密码(x):代表加密密码保存在 `/etc/shadow 文件中
  • 用户 ID(1000):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的
  • 群组 ID (1000):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中
  • 用户信息(boil):代表描述字段,可以用来描述用户的信息
  • home目录(/home/boil):代表用户的home目录。
  • Shell(/bin/bash):代表用户使用的 shell 类型。

可以结合grep筛选

比如,

用户

创建用户

命令:useradd 用户名

useradd boil1

删除用户

命令:userdel 用户名

userdel boil1

这时用户boil被删除了,但用户留在系统上的目录不会被删除,使用命令”rm -rf 目录名“可以删除用户目录
也可以在删除用户时直接使用命令”userdel -r 用户名“实现这一目的。

用户组

查看组

cat /etc/group#查看所有组

可结合grep筛选

比如

新增组

命令:groupadd 组名
例如,增加一个名为boil的组

groupadd boil1

删除组

命令:groupdel 组名
例如,删除一个名为boil的组

groupdel boil

注意:用户组里面有用户,必须先把用户移动或删除了,才能删除组。

实践

查看用户所属组

groups boil

在新创建用户时候让其归属于一个已经存在的组

命令:useradd -g 组名 用户名
例如,创建用户boil1并使其属于boil组

# 创建boil用户组groupadd boil# 创建一个用户名为 boil1 的用户,并加入 boil 用户组useradd -g boil boil1

让一个已有的用户增加到一个已有的用户组中

命令:usermod -a -G 组名 用户名
例如,把boil1用户添加到group组中

usermod -a -G testgroup1 boil1


或者批量添加

usermod -G testgroup1,testgroup2 boil1 

从组中删除用户

如上,boil1 同时属于boil,testgroup1,testgroup2 三个组。
为了从“ testgroup1”和“ testgroup2”组中删除用户“ boil1”,仅使boil1 属于boil组。

使用usermod

即,仅将boil1保留在“boil”组中:
命令:usermod -G 组名 用户名

usermod -G boil boil1

使用gpasswd

命令:gpasswd -d 用户名 组名

sudo gpasswd -d boil1 testgroup1

其他思路

也可自行编辑 /etc/group 或者 /etc/passwd 文件来进行以上操作。重启后生效