本小节介绍 Linux 用户的基础知识,了解 Linux 系统中有哪些用户,如何查看当前 Linux 系统中有哪些用户,每一个 Linux 用户的权限取决于这些账号登录时获取到的权限。
1. Linux 用户类型
Linux 系统是一个多用户多任务的操作系统,在 Linux 系统中一般可将用户分为 root 用户
和 普通用户
两大类。root 用户
是 Linux 系统中的系统管理员用户,root 用户
在登录终端工具时,命令行前面显示 #
,如下图展示的是 root 用户
类型:
普通用户
在登录终端工具时,命令行前面显示 $
,如下图展示的是 普通用户
类型:
2. 查看 Linux 有哪些用户
Linux 系统中 /etc/passwd
文件保存的就是系统中所有的用户主要信息,这些信息以 :
分隔,可以使用 cat
命令查看其中的信息,命令如下:
cat /etc/passwd
执行结果如下图:
如上图所示,每行代表一个用户,这些用户中的绝大多数是系统或服务正常运行所必需的用户,我们把这种用户称为系统用户或伪用户。系统用户是不能登录系统的,但是这些用户同样也不能被删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
/etc/passwd
文件中每行用户包含的信息如下:
- 登录用户名;
- 用户账户的 UID;
- 用户账户的组 ID;
- 用户账户的描述;
- 用户家目录的位置;
- 用户的默认 shell。
以第一行为例,root:x:0:0:root:/root:/bin/bash
中包含的信息有 用户名是 root
、密码标志 x
、UID 0
、组ID(GID) 0
、用户描述 root
、家目录位置 /root
、默认shell /bin/bash
,第二行最后的 nologin
表示这个用户不能登录(有些不能登录的用户可以用作启动某个软件进程)。
3. 查看 Linux 用户信息
Linux 中 /etc/shadow
文件上保存了每个用户的信息,该文件只有 root
用户才能访问,这个文件中包含每个用户的一条记录信息,使用 cat
命令查看:
cat /etc/shadow
执行结果如下图:
这些信息以 :
分隔,/etc/shadow
文件中每行用户包含的信息如下:
- 用户名(和 /etc/passwd 对应);
- 密码(已被加密),这个字段是非空的;
- 上次修改口令的时间(距离 1970 年 1 月 1 日的天数);
- 两次修改口令间隔最少的天数,如果这个字段的值为空,帐号永久可用;
- 提前多少天警告用户口令将过期,如果这个字段的值为空,帐号永久可用;
- 在口令过期之后多少天禁用此用户,如果这个字段的值为空,帐号永久可用;
- 用户过期日期,表示用户作废的天数(距离 1970 年 1 月 1 日的天数),如果这个字段的值为空,帐号永久可用;
- 保留字段,目前为空,以备将来发展之用。
4. 小结
本小节介绍了 Linux 系统中的 root
用户和 普通用户
,并且还介绍了 Linux 系统中两个和用户相关的文件 /etc/passwd
和 /etc/shadow
文件,其中 /etc/shadow
文件只有 root 用户
才有访问权限。