Linux 用户篇——用户管理的配置文件

一、用户管理之配置文件的重要性

在Linux系统中,用户账户的相关信息是存放在相关配置文件中。而Linux安全系统的核心是用户账号,用户对系统中各种对象的访问权限取决于他们登录系统时用的账户,并且Linux系统使用特定的配置文件和工具来跟踪和管理系统中的用户账户。

二、说说配置文件

这里讲述的配置文件分为用户配置文件和用户组配置文件,比如/etc/passwd和/etc/shadow是用户配置文件,/etc/group和/etc/gshadow是用户组配置文件。

(1)首当其冲要讲讲/etc/passwd文件,该文件位于/etc目录下。/etc/passwd是一个标准的文本文件,你可以用任何的文本编辑器修改该文件的内容。如果/etc/passwd文件出现损坏,系统就无法读取它的内容了,这样会导致用户无法正常登录,只用重装Linux系统解决了。/etc/passwd文件包含了一些与用户相关的信息,将用户的登录名匹配对应的UID值。UID即User ID,拥有创建权限的用户创建用户时会分配唯一的用户ID,UID是数值但在登录系统时用的不是UID,而是登录名。

如2-1图所示,/etc/passwd文件的部分信息。每一行就是用户账户的相关信息,每一行包含7个字段的信息:

第1个字段:用户名称,即登录名。

第2个字段:密码标志。该字段都被设置成了x,并不是说所有的用户账户都用相同的密码,这只是一个密码标志而已,用户有无密码都会被设置成x。

第3个字段:UID,即用户ID(User ID)。其中0用来标记超级用户,比如root用户,如果手动更改某一个用户的UID为0,那该用户也会拥有超级用户的权限。1-499这个范围用来标记系统用户,这些用户俗称伪用户是系统上运行的各种服务进程访问资源用的特殊账户,所有运行在后台的服务都需要用一个系统用户账户登录到Linux系统上。500-65535这个范围用户来标记普通用户,比如新创建的用户的UID值就会在这个范围内。

第4个字段:GID,即用户组的ID(用户初始组的ID)。这里的用户组分为初始组和附加组,初始组就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是与这个用户的用户名相同的组名作为这个用户的初始组。附加组就是指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。

第5个字段:用户说明,就是用户的相关描述。

第6个字段:用户的HOME目录的位置。普通用户的HOME目录一般都是/home/用户名/这样的形式,root用户的HOME目录是/root/。

第7个字段:登录之后的shell。

图 2-1

(2)其次是/etc/shadow文件位于/etc目录下,该文件是保存密码相关信息。只有root用户才能访问这个文件,如果root用户编辑了该文件,有可能被更改的用户就登录不上。使用shadow密码系统后,Linux系统可以更好地控制用户密码。它可以控制用户多久更改一次密码,以及什么时候禁用该用户,如果密码未更新的话。

如图2-2所示,在/etc/shadow文件中,系统为每个用户都保存了一条记录,每条记录都有9个字段:

第1个字段:用户名,即登录名。

第2个字段:加密之后的密码,使用SHA512散列加密算法进行加密。如果密码字段位是"!!"或"*"代表没有密码,不能登录。

第3个字段:密码最后一次的修改日期(天数表示),使用1970年1月1日作为标准时间,每过一天时间戳加1。

第4个字段:两次密码的修改时间间隔(和第3个字段相比)。

第5个字段:密码有效期(和第3个字段相比)。

第6个字段:密码到期前的警告天数(和第5个字段相比)。

第7个字段:密码到期后多少天禁用用户。

第8个字段:用户被禁用的日期(用天数表示),使用1970年1月1日作为标准时间,每过一天时间加1。

第9个字段:预留字段给将来使用。

Linux 用户篇——用户管理的配置文件

图 2-2

(3)用户组的配置我就不细说了,跟用户的配置文件大同小异。接下来说说用户模板目录/etc/skel/,用户模板目录是作为创建新用户HOME目录的模板。这样就能自动在每个新用户的HOME目录放置默认的系统文件。

相关推荐