介绍 /etc/passwd
我们来看一看 Linux 帐户管理机制。
我将以介绍 /etc/passwd 文件开始,该文件定义了 Linux 系统上存在的所有用户。您可以通过输入“less /etc/passwd”来查看您自己的 /etc/passwd 文件。/etc/passwd 中的每一行定义一个用户帐户。这里有一个来自于我的 /etc/passwd 文件的示例行:
您可以看到,这一行中有相当多的信息。实际上,每个 /etc/passwd 行由多个字段组成,每个字段用 : 隔开。
第一个字段:定义了用户名(drobbins)。
第二个字段:包含一个 x。在旧式的 Linux 系统上,该字段将包含一个用来认证的加密密码,但是事实上现在所有的 Linux 系统将这个密码信息存储在另一个文件中。
第三个字段:(1000)定义了与该特殊用户相关联的数字用户标识。
第四个字段:(1000)将用户与一个特殊组关联起来;在下面几屏中,我们将看到定义组 1000 的地方。
第五个字段:包含该帐户的文本描述 ― 在本例中,是用户的名称。
第六个字段:定义该用户的主目录。
第七个字段:指定用户缺省的 shell ― 当用户登录时,将自动启动的 shell。
/etc/passwd 技巧和窍门
您可能已经注意到,/etc/passwd 中定义的用户帐户比实际登录您系统的用户帐户多得多。
这是因为不同的 Linux 组件使用用户帐户来加强安全性。通常,这些系统帐户有一个小于 100 的用户标识(“uid”),这其中的很多系统帐户将像 /bin/false 这样的程序列为缺省的 shell。因为 /bin/false 程序什么也不做,而是返回一个错误码退出,这有效地阻止这些帐户被用作登录帐户 ― 他们只供内部使用。
/etc/shadow
这样,用户帐户本身在 /etc/passwd 中定义。Linux 系统包含一个 /etc/passwd 的同伴文件,叫做 /etc/shadow。该文件不像 /etc/passwd,只有对于 root 用户来说是可读的,并且包含加密的密码信息。我们来看一看 /etc/shadow 的一个样本行:
每一行给一个特殊帐户定义密码信息,同样的,每个字段用 : 隔开
第一个字段:定义与这个 shadow 条目相关联的特殊用户帐户。
第二个字段:包含一个加密的密码。
第三个字段:自 1/1/1970 起,密码被修改的天数。
第四个字段:密码将被允许修改之前的天数(0 表示“可在任何时间修改”)。
第五个字段:系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”)。
第六个字段:密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”)。
第七个字段:密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”)。
第八个字段:该帐户被禁用的天数(-1 表示“该帐户被启用”)。
第九个字段:保留供将来使用 。
/etc/group
接下来,我们来看一看 /etc/group 文件,它定义了 Linux 系统上所有的组。这里有一个样本行:
/etc/group 字段格式如下:
第一个字段:定义组名称。
第二个字段:是不再使用的密码字段(现在只是保留为 x)。
第三个字段:定义了这个特殊组的数字组标识。
第四个字段:定义是该组成员的所有用户。(上面的示例为空)
您将回想起样本 /etc/passwd 行引用的组标识为 1000。即使 /etc/group
组提示
关于用户和组相关联的一点提示:
在一些系统上,您将发现每个新的登录帐户与同名组(通常是标识号一样)相关联。
在其它系统上,所有登录帐户将属于单个用户组。在您管理的系统上,您使用的方法取决于您自己。为每个用户创建匹配组的好处是,通过将可信的朋友放在自己的个人组中,使用户能够更容易地控制对自己文件的访问权。
手工地添加用户和组
现在,我将为您展示怎样创建您自己的用户和组帐户。学习怎样完成这些工作的最好方法是,手工地将用户新添加到系统中。
为了开始学习,首先确保您的 EDITOR 环境变量设置为您喜欢的文本编辑器:
如果不是,您可以通过输入这样的命令来设置 EDITOR:
现在,输入:
现在您应该发现自己在所喜欢的文本编辑器中,编辑器内 /etc/passwd 文件被装入,显示在屏幕上。
当修改系统 passwd 和 group 文件时,使用 vipw 和 vigr 命令非常重要。它们采用了额外的预防措施来确保您关键的 passwd 和 group 文件被恰当地锁定,使它们不会破坏。
Pages: 1 2
Comments
There are no comments.
Leave a Reply