Red Hat Enterprise Linux 6.4网络操作系统详解
上QQ阅读APP看书,第一时间看更新

4.2 任务2 理解用户账户文件和组群文件

用户账户信息和组群信息分别存储在用户账户文件和组群文件中。

4.2.1 子任务1 理解用户账户文件

1./etc/passwd文件

在Linux系统中,所创建的用户账户及其相关信息(密码除外)均放在/etc/passwd配置文件中。用vim编辑器打开passwd文件,内容格式如下。

        root:x:0:0:root:/root:/bin/bash
        bin:x:1:1:bin:/bin:/sbin/nologin
        daemon:x:2:2:daemon:/sbin:/sbin/nologin
        user1:x:500:500:oneuser:/home/user1:/bin/bash

文件中的每一行代表一个用户账户的资料,可以看到第一个用户是root。然后是一些标准账户,此类账户的shell为/sbin/nologin代表无本地登录权限。最后一行是由系统管理员创建的普通账户:user1。

passwd文件的每一行用“:”分隔为7个域,每一行各域的内容如下。

        用户名:加密口令:UID:GID:用户的描述信息:主目录:命令解释器(登录shell)

passwd文件中各字段的含义如表4-2所示,其中少数字段的内容是可以为空的,但仍需使用“:”进行占位来表示该字段。

表4-2 passwd文件字段说明

2./etc/shadow文件

由于所有用户对/etc/passwd文件均有读取权限,为了增强系统的安全性,用户经过加密之后的口令都存放在/etc/shadow文件中。/etc/shadow文件只对root用户可读,因而大大提高了系统的安全性。shadow文件的内容形式如下。

        root:$1$rRetvF5m$e3X1HGNncwP9DxRSNHMxr/:13757:0:99999:7:::
        bin:*:13734:0:99999:7:::
        user1:$1$xOojnJBE$P1t.wluVYU4rLMpFYD6LY.:13734:0:99999:7:::

shadow文件保存投影加密之后的口令以及与口令相关的一系列信息,每个用户的信息在shadow文件中占用一行,并且用“:”分隔为9个域,各域的含义如表4-3所示。

表4-3 shadow文件字段说明

3./etc/login.defs文件

建立用户账户时会根据/etc/login.defs文件的配置设置用户账户的某些选项。该配置文件的有效设置内容及中文注释如下所示。

        MAIL_DIR       /var/spool/mail    //用户邮箱目录
        MAIL_FILE       .mail
        PASS_MAX_DAYS  99999             //账户密码最长有效天数
        PASS_MIN_DAYS  0                 //账户密码最短有效天数
        PASS_MIN_LEN    5                //账户密码的最小长度
        PASS_WARN_AGE  7                //账户密码过期前提前警告的天数
        UID_MIN               500       //用useradd命令创建账户时自动产生的最小UID值
        UID_MAX             60000       //用useradd命令创建账户时自动产生的最大UID值
        GID_MIN               500       //用groupadd命令创建组群时自动产生的最小GID值
        GID_MAX             60000       //用groupadd命令创建组群时自动产生的最大GID值
        USERDEL_CMD    /usr/sbin/userdel_local   //如果定义,将在删除用户时执行,以删除相
                                                  应用户的计划作业和打印作业等
        CREATE_HOME    yes             //创建用户账户时是否为用户创建主目录

4.2.2 子任务2 理解组群文件

组群账户的信息存放在/etc/group文件中,而关于组群管理的信息(组群口令、组群管理员等)则存放在/etc/gshadow文件中。

1./etc/group文件

group文件位于“/etc”目录,用于存放用户的组账户信息,对于该文件的内容任何用户都可以读取。每个组群账户在group文件中占用一行,并且用“:”分隔为4个域。每一行各域的内容如下。

        组群名称:组群口令(一般为空):GID:组群成员列表

group文件的内容形式如下。

        root:x:0:root
        bin:x:1:root, bin, daemon
        daemon:x:2:root, bin, daemon
        bobby:x:500:

group文件的组群成员列表中如果有多个用户账户属于同一个组群,则各成员之间以“, ”分隔。在/etc/group文件中,用户的主组群并不把该用户作为成员列出,只有用户的附属组群才会把该用户作为成员列出。例如,用户bobby的主组群是bobby,但/etc/group文件中组群bobby的成员列表中并没有用户bobby。

2./etc/gshadow文件

/etc/gshadow文件用于存放组群的加密口令、组管理员等信息,该文件只有root用户可以读取。每个组群账户在gshadow文件中占用一行,并以“:”分隔为4个域。每一行中各域的内容如下。

        组群名称:加密后的组群口令:组群的管理员:组群成员列表

gshadow文件的内容形式如下。

        root:::root
        bin:::root, bin, daemon
        daemon:::root, bin, daemon
        bobby:! ::