购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 账户管理

3.1.1 账户管理概述

1.账户实质

Linux操作系统是多用户的操作系统,它允许多个用户同时登录到系统上,使用系统资源。当多个用户能同时使用系统时,为了使所有用户的工作都能顺利进行,保护每个用户的文件和进程,也为了系统自身的安全和稳定,必须建立起一种秩序,使每个用户的权限都能得到规范。为此,首先需要区分不同的用户,这样就产生了用户账户。

账户实质上就是一个用户在系统上的标识,系统依据账户ID来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、Shell版本以及X Window环境的配置等),使每个用户的工作都能独立、不受干扰地进行。

2.用户和组

广义上讲,Linux的账户包括用户账户和组账户两种。

Linux系统下的用户账户(简称用户)有两种,普通用户账户和超级用户账户(或管理员账户)。普通用户在系统上的任务是进行日常工作,管理员在系统上的任务是对普通用户和整个系统进行管理。管理员账户对系统具有绝对的控制权,能够对系统进行一切操作,如操作不当很容易对系统造成损坏。因此即使系统只有一个用户使用,也应该在管理员账户之外建立一个普通用户账户,在用户进行日常工作的时候以普通用户账户登录系统。

除了用户账户之外,在Linux下还存在组账户(简称组)。组是用户的集合。在RHEL/CentOS中组有两种类型:私有组和标准组。当创建一个新用户时,若没有指定其所属的组,RHEL/CentOS就建立一个和该用户同名的私有组,此私有组中只包含这个用户自己。标准组可以包含多个用户,若使用标准组,在创建一个新的用户时就应该指定其所属的组。

从另一方面讲,同一个用户可以同属于多个组,如某单位有领导组和技术组等,Tom是该单位的技术主管,所以他既应该属于领导组又应该属于技术组。当一个用户属于多个组时,其登录后所属的组称为主组,其他的组称为附加组。

3.Linux环境下的账户系统文件

Linux下的账户系统文件主要有/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow这4个文件。

1)/etc/passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户账号的不同属性,各字段间用“:”分隔。例如:

表3-1中描述了这些字段的意义。

表3-1 /etc/passwd文件中各字段的含义

2)/etc/passwd文件对任何用户均可读,为了增加系统的安全性,CentOS默认使用shadow passwords保护,将经过加密的用户口令保存在/etc/shadow文件里,它只对root用户可读且提供了一些口令时效字段。/etc/shadow文件的内容形式如下:

其中各字段的含义如表3-2所示。

表3-2 /etc/shadow文件中各字段的含义

(续)

3)/etc/group文件,将用户分组是Linux中对用户进行管理及控制访问权限的一种手段。每个用户都属于某一个组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的主组,而其他组称为附加组。用户要访问附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组的成员。组的所有属性都存放在/etc/group文件中。/etc/group文件对任何用户均可读。下面是一个/etc/group文件的例子。

与/etc/passwd文件类似,其中每一行记录了一个组的信息。每行包括4个字段,不同字段之间用冒号隔开。各字段说明如表3-3所示。

表3-3 /etc/group文件中各字段说明

4)/etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。下面是一个/etc/gshadow文件的例子:

与/etc/group文件类似,其中每一行记录了一个组的信息。每行包括4个字段,不同字段之间用冒号隔开。其中各字段说明如表3-4所示。

表3-4 /etc/gshadow文件中各字段说明

提示

账户管理的实质就是管理上述的4个账户系统文件。可以使用图形界面工具进行,也可以使用命令行工具进行,甚至还可以使用Web工具进行。

3.1.2 使用命令行工具管理账户

1.管理账户的命令行工具

表3-5中列出了管理账户的命令行工具的功能。

表3-5 管理账户的命令行工具的功能

2.命令行账户管理工具使用举例

操作步骤3.1 命令行账户管理工具使用举例

3.1.3 口令管理和口令时效

1.使用passwd命令进行口令管理

创建用户账户之后,还要给新用户设置口令。为此需使用命令passwd,其格式是:

常用选项如表3-6所示。

表3-6 passwd命令的常用选项

注意

(1)在输入口令时,屏幕上不会回显。口令的选取至少用8个字符,最好大小写字母和数字及特殊字符搭配使用,尽量不要用英文单词作为口令。

(2)只有管理员账户(root)可以更改其他用户的口令,普通用户只能更改自己的口令,且在更改口令之前,系统会要求用户输入旧的口令。

下面给出几个passwd命令的使用示例。

操作步骤3.2 passwd命令的使用示例

2.chage命令

硬件计算能力如今已经非常强大,这大大地缩短了利用自动运行的程序来猜测口令的时间。口令时效是系统管理员用来防止机构内不良口令的一种技术。防止口令被攻击的方法就是经常改变口令。为安全起见,要求用户定期改变用户口令是明智之举。

口令时效意味着过了一段预先设定的时间后,用户会被提示创建一个新口令。它所根据的理论是,如果用户被强制定期改变口令,某个口令的破译对入侵者来说就只有有限的利用机会。这种用来强制用户在一段时间之后更改口令的机制称为口令时效。

在Linux系统上,修改口令时效分为:

●对于未来要创建的所有用户的口令时效,需修改/etc/login.defs文件的相关参数。

●对已存在的用户修改口令时效是通过chage命令来管理。

(1)设置新添用户的口令时效

编辑/etc/login.defs,通过指定表3-7中描述的几个参数来设置口令时效的默认设定。

表3-7 /etc/login.defs中与口令时效相关的参数

(2)设置已存在用户的口令时效

chage命令的格式是:

表3-8中列出了chage命令的选项说明。

表3-8 chage命令的选项说明

下面给出几个使用chage命令的例子。

操作步骤3.3 使用chage命令的例子

提示

1.也可以使用chage<用户名>进入交互模式修改用户的口令时效。

2.使用chage命令实质上是修改影子口令文件/etc/shadow中的与口令时效相关的字段值。

3.chage命令仅适用于本地系统账户,对LDAP账户和数据库账户不起作用。

注意

制定一项策略,定义多长时间后一个口令必须进行更改,然后强制执行该策略,是非常不错的一个做法。在解雇了某个雇员后,口令时效策略会保证该雇员不可能在被解雇3个月后发现他的口令依然可用。即使系统管理员忘了删除该雇员的账号,该账号也会因口令时效策略而被自动锁定。当然,这一点并不能成为不及时删除该雇员账号的理由,但是这个策略的确提供了一层额外的安全防护,尤其是在过去常常忽视及时清理账号的情况下。

3.1.4 用户和组状态

1.用户和组状态命令

表3-9中列出了一些常用的用户和组状态命令。

表3-9 常用的用户和组状态命令

2.用户和组状态命令举例

下面给出用户和组状态命令的使用示例。

操作步骤3.4 用户和组状态命令的示例 2F+OEU08hUulISt5lq6wTD0nXx4Qf8rF10uuJiD7lpg2G6WStqDjTMqzsBb7mlJd

点击中间区域
呼出菜单
上一章
目录
下一章
×