用户和组相关配置文件

1. /etc/passwd文件详解


输入vi /etc/passwd 可以查看此文件的内容

[root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

每行保存了一个用户的详细信息,查看此服务器有多少账号:

[root@localhost~]> cat /etc/passwd | wc -l38

则代表本机一共有38个账号

Passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记录由7个字段组成,字段间用冒号“:”隔开,其格式如下:

username:password:User ID:Group ID:comment:home directory:shell

字段含义:

  • 1.username
    它唯一地标识了一个用户帐号,用户在登录时使用的就是它。

  • 2.password
    加密之后的用户密码

  • 3.userId
    用户id。0是系统管理员账号,1-499是系统保留账号,500+即一般账号(centos6,cenos 7 为1000+)

  • 4.groupId
    用户组id

  • 5.comment
    用户相关注释

  • 6.home directory
    用户家目录

  • 7.login command
    用户登录自动执行脚本。指定为系统的sbin/nologin时,用户无法登陆

关于系统账号:
系统中还有一些默认的帐号(1-500),如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。


/etc/shadow文件详解

这个文件单独保存用户的密码相关信息. 文件的大致形式如此:

wyf:$6$Jhodyovx$wgT7....Lf0:0:3:10:3:0::
ntp:!!:17092::::::
mysql:!!:17094::::::
natasha:!!:17095:0:99999:7:::
harry:!!:17095:0:99999:7:::

以:分割,有九个栏位:

  1. 用户名

  2. 密码
    用户的真正密码保存处。当这个栏位为‘*’或是'!'表示这个用户不会被用来登陆,一般来说,‘*’代表系统服务用户

  3. 最近更改密码的日期
    这个栏位记录了‘更动密码的那一天’的日期。以 1970 年 1 月 1 日作为起始到如今的天数。

  4. 密码不可被变动的天数
    如果为0,表示密码随时可以更动的意思。如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码。

  5. 密码需要重新变更的天数
    必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。如果是99999,密码则不需要重新变更。

  6. 密码需要变更期限前的警告期限

  7. .密码过期的恕限时间
    当密码失效后,你还可以用这个密码在 n 天内进行登入。如果过了这个期限还是没有重新更改密码,则账号失效,无法登入。

  8. 帐号失效日期
    这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用

  9. 保留
    最后一个栏位是保留的,看以后有没有新功能加入。

举个离子:

dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:

       1.最近一次更动密码的日期是 2005/08/30 (13025);

       2.能够修改密码的时间是 5 天以后

       3. 使用者必须要在 2005/09/04 到 2005/10/29 之间的 60 天限制内去修改自己的密码,若 2005/10/29 之后还是没有变更密码时,该帐号就会宣告失效;

       4.如果使用者一直没有更改密码,那么在 2005/10/29 之前的 7 天内,系统会警告 dmtsai 应该修改密码的相关资讯

       5.如果该帐号一直到 2005/10/29 都没有更改密码,由于还有两天的恕限时间,因此, dmtsai 还是可以在 2005/10/31 以前继续登入

       6.如果使用者在 2005/10/29 以前变更过密码,那么那个 13025 的日期就会跟著改变,因此, 所有的限制日期也会跟著相对变动

       7.无论使用者如何动作,到了 13125 ,大约是 2005/12/8 左右,该帐号就失效了


/etc/group文件详解


Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。linux /etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中。

将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:

  • 组名
    祖名不能重复

  • 口令
    口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

  • 组标识号
    组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID

  • 组内用户列表
    是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组

文件内容:

[root@localhost test6]# cat /etc/grouproot:x:0:root,linuxsir
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin

/etc/group文件详解


/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。
/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。
比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。

[root@localhost~]> cat /etc/gshadow
root:::harry,root
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm

组名:口令:组管理者:组内用户列表

  1. 组名

  2. 口令:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码

  3. 组管理者:这个字段也可为空,如果有多个用户组管理者,用,号分割

  4. 组内用户列表:如果有多个成员,用,号分割 ;

用户组之间的切换,应该用 newgrp ,这个有点象用户之间切换的su ;我先举个例子:

[beinan@localhost ~]$ newgrp linuxsir
[beinan@localhost ~]$ mkdir lingroup
[beinan@localhost ~]$ ls -ld lingroup/
drwxr-xr-x 2 beinan linuxsir 4096 10月 18 15:56 lingroup/
[beinan@localhost ~]$ newgrp beinan
[beinan@localhost ~]$ mkdir beinangrouptest
[beinan@localhost ~]$ ls -ld beinangrouptest
drwxrwxr-x 2 beinan beinan 4096 10月 18 15:56 beinangrouptest

可以看到,切换分组之后,创建出来的文件所属组发生了变化。

/etc/group文件详解


在/etc/default/useradd文件为设置添加的用户规则文件

[root@localhost~]> cat /etc/default/useradd# useradd defaults file#用户组idGROUP=100#用户家目录路径HOME=/home#是否启用帐号过期停权,-1表示不启用INACTIVE=-1#帐号终止日期,不设置表示不启用。EXPIRE=#所用SHELL的类型SHELL=/bin/bash#默认添加用户的目录默认文件存放位置。也就是说,当用户用useradd添加用户时,用户主目录下的文件都是从这个目录中复制的。SKEL=/etc/skel#是否创建用户邮件缓冲,yes表示创建CREATE_MAIL_SPOOL=yes

/etc/gshadow文件详解

etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。

如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs

# *REQUIRED* required
#  Directory where mailboxes reside, _or_ name of file, relative to the
#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
#   QMAIL_DIR is for Qmail
#
#QMAIL_DIR      Maildir
MAIL_DIR        /var/spool/mail
#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
#MAIL_FILE      .mail

# Password aging controls:
#
#       PASS_MAX_DAYS   Maximum number of days a password may be used.
#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#       PASS_MIN_LEN    Minimum acceptable password length.
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   99999
#密码最大有效期
PASS_MIN_DAYS   0
#两次修改密码的最小间隔时间
PASS_MIN_LEN    5
#密码最小长度,对于root无效
PASS_WARN_AGE   7
#密码过期前多少天开始提示
#
# Min/max values for automatic uid selection in useradd
#创建用户时不指定UID的话自动UID的范围
UID_MIN                   500
#用户ID的最小值
UID_MAX                 60000
#用户ID的最大值
#
# Min/max values for automatic gid selection in groupadd
#自动组ID的范围
GID_MIN                   500
#组ID的最小值
GID_MAX                 60000
#组ID的最大值

#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD    /usr/sbin/userdel_local
#当删除用户的时候执行的脚本

#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME     yes
#使用useradd的时候是够创建用户目录

# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK           077

# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
#用MD5加密密码


原创文章,作者:21期王逸凡,如若转载,请注明出处:http://www.178linux.com/53727

(0)
21期王逸凡21期王逸凡
上一篇 2016-10-23
下一篇 2016-10-23

相关推荐

  • Docker 简介

    Docker在现有云计算虚拟化中是非常火的一个项目,那么他和虚拟化有什么不同呢 从上图来看,好像和我们之前说到的虚拟化并没有什么不同,但这里需要说明的是在各guest主机上,是没有操作系统的,他们共用Host主机上的内核空间,只对用户空间进行了隔离。 因此在这种环境下我们不把他称为虚拟化而称作容器。 此种方式的实现主要基于了linux内核自带的两项技术,分别…

    2017-03-19
  • 链接分析算法之:HITS算法

     HITS(HITS(Hyperlink – Induced Topic Search) ) 算法是由康奈尔大学( Cornell University ) 的Jon Kleinberg 博士于1997 年首先提出的,为IBM 公司阿尔马登研究中心( IBM Almaden Research Center) 的名为“CLEVER”的研究…

    开发运维 2015-07-20
  • Redis 代理服务Twemproxy

    1、twemproxy explore       当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。虽然Redis 2.6版本已经发布Redis Cluster,但还不是很成熟适用正式生产环境。 Redis 的 Clust…

    Linux干货 2015-04-04
  • Linux磁盘管理工具

    挂载mount          挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,                 进而使得此目录做为其它文件访问入口的行为         &n…

    Linux干货 2016-08-29
  • proxy_pass转发路径

    一、引言 在nginx中配置proxy_pass时,proxy_pass后面的路径最后面加“/”和不加“/”会有所区别。加“/”时,nginx不会代理location部分,不加“/”时,nginx会同时代理location部分。下面通过实验来证明。 二、实验 实验环境简要说明:     node1为httpd服务器(1…

    Linux干货 2017-01-12
  • 循环语句

    冯罗伊曼体系架构 1. 输入设备 2. 输出设备 3. 存储器 4. 运算器 5. 控制器 转义序列:\\, \t , \r , \n , \”,  \’ Python:是动态语言,强类型语言 算数运算符 + – */ % ** /是自然除,//是整除 位运算符 & |  ~  ^  <<  >> 原码 5=&gt…

    Linux干货 2018-03-26