用户和用户组相关的配置文件

用户和用户组相关的配置文件

一、与用户相关的配置文件

一般来说,与用户配置相关的几个文件如下:

/etc/passwd: 最重要的文件,存储着用户的用户名,UID,Shell等信息

/etc/shadow: 用户密码文件,使用sha-1算法加密存储(注意该文件的权限)

/etc/skel/: 用户的模板文件,新建用户如果创建家目录,会默认将改目录下文件拷贝至用户家目录

/etc/login.defs: 登录用户的相关配置(部分环境变量),通常无需改动

 

    1/etc/passwd

    每个用户对应一个UID,该文件将存储用户的UID,GID,Shell等配置信息。

    查看/ect/passwd:  

blob.png

    使用man 5 passwd查看该文件的配置语法。

    /ect/passwd的文件格式:

    name:password:UID:GID:GECOS:directory:shell

    此文件的对应的字段意义如下:

     name:用户名

    password:用户密码,可以是加密的密码,也可以是占位符“X”

    UID:用户的ID号

    GID:用户所属主组的ID号

    GECOS:注释信息

    Directory:用户的家目录

    Shell:用户登录时默认shell程序

   2/etc/shadow

    影子文件,通常是现代Linux系统用户密码存储的文件。此文件由shadow工具集使用。并非所有的用 

  户密码管理工具都会使用。

    查看/etc/shadow:

blob.png

      该文件格式和/etc/passwd文件相同,一样使用:分割几个有意义的字段。使用man [5] shadow即可查

    看该文件的帮助。

    此文件的对应的字段意义如下:

         ·         登录名:

     必须是有效的账户名,且已经存在于系统中。

        ·         加密的密码:

     该字段存储单向加密后的密码,现代Linux通常是使用sha-512算法加密的字符串,一般有以下几个特

    点:

  (1)、如果密码字段包含一些不是 crypt(3) 合法结果的字符,比如 ! *,用户将无法使用 Linux     密码登录(但是可以通过其它方法登录系统)

 (2)、此字段可以为空,此时认证为特定的登录名时,不要求密码。然而,一些读取 /etc/shadow

    件的应用程序,在密码字段为空时,可能决定禁止任何访问。

 (3)、以叹号开始的密码字段意味着密码被锁定。该行的剩余字符表示锁定之前的密码。

         ·        最后一次更改密码的日期:

    最近一次更改密码的时间,表示从197011日开始的天数。

     0有特殊含义,表示用户应该在下次登录系统时更改密码。

   空字段表示密码最长使用期限功能被禁用。

        ·         密码的最短使用期限:

    最短使用期限是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。空字段或0 表示

  没有最短使用期限。

        ·         密码的最长使用期限:

    最大密码年龄是指,这些天之后,用户必须更改密码。

    这些天之后,密码仍然可用。用户将会在下次登录的时候被要求更改密码。

    空字段表示没有最大密码年龄,没有密码警告时间段,没有密码禁用时间段

    如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。

         ·         密码警告时间段:

    密码过期之前,提前警告用户的的天数(请参考上边的密码最长使用期限)

    空字段或者 0 表示没有密码警告期。

        ·         密码禁用期:

    密码过期(查看上边的密码最长使用期限)后,仍然接受此密码的天数(在此期间,用户应该在下次登录

    时修改密码)

    密码到期并且过了这个宽限期之后,使用用户的当前的密码将会不能登录。用户需要联系系统管理员。

    空字段表示没有强制密码过期。

        ·         账户过期日期:

    账户过期的日期,表示从197011日开始的天数。

    注意,账户过期不同于密码过期。账户过期时,用户将不被允许登录;密码过期时,用户将不被允许使用

    其密码登录。

    空字段表示账户永不过期。

    应该避免使用 0,因为它既能理解成永不过期也能理解成在197011日过期。

        ·         保留字段: 此字段保留作将来使用。

 

二、用户组相关配置文件

    与用户组相关的几个配置文件:

/etc/group: 用户组主配置文件

/etc/gshadow: 用户组密码配置


1、/etc/group

    该文件存储用户组名,GID,以及用户对应关系等信息。

    字段也比/etc/passwd少。

blob.png

    /etc/group格式:

    group_name:password:GID:user_list

    此文件的对应的字段意义如下:

    group_name:用户组名

    password:用户组密码,可以是加密的密码,也可以是占位符“X”。

    GID:用户组ID号

    user_list:该用户组的用户成员,以此组为附加组的用户列表

 

 2、/etc/gshadow

    和/etc/shadow类似,组密码的影子文件。

    如果用户组有密码时,此文件用于保存用户组密码。但比/etc/shadow内容少的多。

blob.png

    /etc/gshadow的格式:

    Group_name:encrypted_password: administrators: members

    此文件的对应的字段意义如下:

    Group_name:群组名

        必须是系统中已经存在的有效组

    encrypted_password:加了密的密码

        此密码用于不是此组成员的用户获取此组的权限

        此字段可以为空,此时只有组成员可以获取组权限

        以叹号开始的密码字段意味着密码被锁定,该行的声誉字符表示锁定之前的密码

        此密码取代/etc/group指定的的任何密码

    administrators:组管理员的列表

        必须是一个逗号分隔的用户名表

        管理员可以更改组密码和成员

        管理员也有和成员一样的权限

        members:以当前组为附加组的用户列表

        必须是一个逗号分隔的用户名表

        成员可以免密码访问组

 

总结:

    用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份;做为一个合格的系统管理员应该对用户和用户组配置文件透彻了解才行;

 

原创文章,作者:征(_少,如若转载,请注明出处:http://www.178linux.com/53761

(0)
征(_少征(_少
上一篇 2016-10-23
下一篇 2016-10-23

相关推荐

  • 设计模式 ( 十三 ) 命令模式Command(对象行为型)

    1.概述         在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。  例子1:电视机遥控器…

    Linux干货 2015-07-16
  • LVS之nat&dr

    Evernote Export 负载均衡集群设计时的要点:        (1)session保持            session sticky(ip hash)            sess…

    Linux干货 2016-12-01
  • Linux里的用户与组

    任何事务的进行都离不开管理,脱离了管理的系统将会是一团乱麻。今天就来讲讲Linux里的用户与组的管理 首先,用户与组不会凭空出现,必须得是系统本身或人为创建的 。     所以,系统创建的就叫系统用户.系统组,用户创建的就是普通用户.普通组。 useradd  创建用户 -u 创建用户并指定用户的UID -g…

    2017-07-30
  • 【yum安装程序】Centos7.4使用yum光盘安装httpd

    举例:Centos7.4使用yum光盘安装httpd

    Linux干货 2018-03-17
  • Linux系统上获取命令的帮助信息方法

    当我们在操作linux时忘记相关命令的用法时,可以使用man 命令或者命令 -h来查询该命令的用法; man文档共有9个章节 1:所有用户可以操作的指令或可执行文件 2:系统核心调用的函数与工具 3:子调用,常用的函数与函数库 4:设备,硬件文件说明,通常是/dev/的文件 5:文件格式,配置文件或者是某些档案的格式 6:游戏相关 7:杂项,例如linux文…

    Linux干货 2018-03-04
  • SHELL中的变量

    SHELL中的变量            运行SHELL脚本中的单个命令自然有用,但这有其自身的限制。通常你会需要在SHELL命令使用其他数据来处理信息。这可以通过变量来实现。变量允许你临时性地将信息存储在SHELL脚本中,以便和脚本中的其他命令一起使用。 1 环境变量…

    Linux干货 2017-04-16