用户管理简介
越是对系统安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
在Linux中,主要是通过用户配置文件来查看和修改用户信息。
/etc/passwd
用户基本信息文件,Linux中每一个用户的基本信息都保存在该文件中。
## 范例命令
vim 5 passwd ## 获取配置文件passwd的说明信息
vim /etc/passwd ## 编辑查看passwd配置文件
## passwd和shadow两个配置文件的权限比较
[root@localhost /]# ll /etc/passwd
-rw-r--r--. 1 root root 2545 5月 16 01:29 /etc/passwd
[root@localhost /]# ll /etc/shadow
----------. 1 root root 1682 5月 15 06:40 /etc/shadow
文件格式说明
配置文件中,每一行标识一个用户的基本信息,每一行有七个部分,每个部分通过“:”隔开。 该配置文件的行数即为该系统的总用户数。 实例:
root:x:0:0:superUser:/root:/bin/bash
第一部分:用户名称
用户名不应使用特殊字符,名称应当遵循一定的规范以方便管理。没用特殊含义的字符串(如:abc)也不应当作为用户名使用。
第二部分:密码标志
密码并没有存放在/etc/passwd配置文件中,而是在/etc/shadow配置文件中。 早期的Linux系统其密码是加密后存在/etc/passwd配置文件中的,这种做法容易导致系统出现一定的风险。因此,后期的Linux系统便不再将密码保存到该配置文件中。 该字段的占位符“x”不能省略,如果省略,表明该用户名没有登录密码。那么在该用户登录的时候,系统便不会去/etc/shadow配置文件中比对密码,随便输入都能登录成功。且没有登录密码的用户,只能在Linux主机登录,不能通过远程登录。
第三部分:UID(用户ID)
0:超级用户 root 1-499:系统用户(伪用户,较新的Linux系统可能为:1-999) 500-65535:普通用户(较新的Linux系统为:1000-65535) root用户不一定的超级用户,UID为0的用户一定是超级用户。 不同用户可能具有相同的UID,Linux系统认为相同的UID即为同一个用户。因此,我们在设置超级用户时,可以将该用户的UID设置成0,那么该用户便也是超级用户,创建的文件等也被认为是超级用户创建。
第四部分:GID(用户初始组ID)
用户组类型说明: 初始组:用户创建时自动所在的用户组,用户一登录就拥有这个用户组的相关权限。每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组名称。初始组可以修改,但是并不建议修改,因为修改后会导致以前或以后创建的文件或目录的所属组错乱,难以维护。 附加组:指用户后期加入的其他用户组,并且拥有其组的权限,附加组可以有多个。 将一个用户的GID设置成0,即超级用户组,依然不能将该用户变成超级用户,而是需要修改器UID为0。
第五部分:用户说明
简单概括,说明用户信息
第六部分:家目录
超级用户:/root/ 普通用户:/home/用户名/
第七部分:登录之后的Shell
Shell是什么 Shell就是Linux的命令解释器。 在/etc/passwd配置文件中,除了标准Shell(
/bin/bash
)之外,还有如/sbin/nologin
等。 所有的普通用户,其Shell都应当是/bin/bash。Shell为/sbin/nologin的用户,绝大多数都是系统默认用户,无法登录。如果将一个用户的Shell改成/sbin/nologin,那么该用户即被禁用。 需要注意,这个字段除了可以填写Shell类型类型外,还可以填写命令(命令的绝对路径),表示该用户登录只允许执行这一条命令。