一、存放用户和组的重要文件
-
/etc/passwd:该文件存放所有用户信息。
可以看到每个用户信息由7个字段构成,下面以root用户和kali用户为例解释一下这些字段:
字段1表示用户名;
字段2表示用户密码,由于密码并不存放在该文件中,所以显示"x"表示密码不在这里,相当于一个占位符,并不是说密码是"x";
字段3表示uid(用户的唯一数字标识),可以看到超级管理员用户root的uid为0,而普通用户kali用户的uid为1000,这是因为kali系统规定了超级管理员用户uid为0,普通用户uid>=1000;
字段4表示gid(用户组的唯一数字标识),root用户所在组为管理员组,系统默认gid=0,kali用户所在组是一个普通的用户组,gid>=1000,注:在哪个组就显示哪个组的gid,就拥有该组的权限,例如在管理员的的所
有用户gid为0,拥有管理员权限;
字段5表示用户名全程和一些描述;
字段6表示该用户的家目录,root用户的主目录是/root,kali的主目录是/home/kali;
字段7表示用户登录的shell。
综上所述,用户信息所构成的字段为 用户名:密码占位符:uid:gid:注释信息:家目录:登录shell
-
/etc/groups:该文件存放所有组。
组名:密码占位符:gid:用户列表
注:一个用户可以属于多个组。
二、用户与组管理命令
1. 用户管理命令
-
sudo [命令]:以管理员身份执行命令。如果当前为普通用户,想要执行一些管理员权限的命令,可以使用sudo。例如创建用户:sudo useradd [用户名]。sudo还可以提权为管理员root,使用:sudo su命令之后输入当前用户密码即可。
-
whoami:查看当前用户:
当前用户为root。
-
id:查看当前用户更详细的信息:
可以看到uid,gid,groups信息。uid是每个用户的唯一数字标识,uid为0的是超级管理员root,拥有系统上的所有权限,普通用户uid>=1000括号中的数字就是当前的用户名称;gid是每个组的唯一数字标识符,为0的是root组
-
useradd [用户名]:创建相应用户名的用户(需要管理员权限)。例如创建一个名为zhangsan的用户:
此时创建的用户是没有密码的。
-
passwd [用户名]:为相应用户设置密码(需要管理员权限)。例如将zhangsan用户密码设置为123456:
密码不会显示出来
-
su [用户名]:切换用户。例如讲当前用户切换为zhangsan用户:
如果是管理员账户切换普通账户,不需要输入密码,如果是普通用户切换其他用户,要输入密码,该例中密码为123456
-
usermod:修改用户信息(需管理员权限),详情可使用usermod --help命令查看用法。如果想给用户某个权限,只需将该用户的gid改为对应权限的组的gid即可
-
exit:退出当前用户。
-
userdel [用户名]:删除用户(需管理员权限),例如删除zhangsan:
2. 组管理命令
-
groups:显示当前用户所在的组
-
groupadd:创建新的用户组(需管理员权限),和创建用户格式一样
-
groupmod:修改组信息(需要管理员权限),和修改用户信息格式一样
-
groupdel:删除组(需管理员权限),和删除用户格式一样
重要声明:本文仅为学习分享,请勿用于非法用途,否则后果自负,与作者本人无关