查看用户信息
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 文件来进行以上操作。重启后生效