用户和组相关的配置文件

目录

用户

组账号

UIDGID

/etc/passwd分析

/etc/shadow分析

/etc/group分析

/etc/gshadow分析

通过用户和用户组配置文件来查询或管理用户

总结

1、用户(User)

Linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同。主要包括超级用户、普通用户和程序用户。

1.【超级用户】:root用户是Linux系统中默认的超级用户账号,对本主机拥有至高无上的完全权限,类似于Windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议使用普通用户账号进行。

2.【普通用户】:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中有完全权限。

3.【程序用户】:在安装Linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行。例如:bindaemonftpmail等。

2、组账号(Group)

基于某种特定联系将多个用户集合在一起,即构成一个用户组,用于表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);如果该用户同时还包括在其他的组中,则这些组称为该用户的附加组(或公共组)。

例如,用户gaoke是总经办的员工,与部门内的其他同事同属于基本组zongjingban,后来因工作安排需要,公司将gaoke加入到信息中心组mis。则此时用户gaoke同时属于zongjingbanmis组,zongjingban组是其基本组账号,而mis组是其附加组账号。

最组账号设置的权限,将适用于组内的每一个用户账号

3、UID和GID号

Linux系统中的每一个用户账号都有一个数字形式的身份标记,称为UID,对于系统核心来说,UID作为区分用户的基本依据,原则上每个用户的UID号应该是唯一的。root用户账号的UID号为固定值0.而程序用户账号的UID号默认在1-499之间,500-60000的UID号默认分配给普通用户账号使用。

与UID相类似,每一个组账号也有一个数字形式的身份标记,称为GID。root组账号的GID号为固定值0,而程序组账号的GID号默认在1-499之间,普通组账号使用的UID号默认为500-60000.

4/etc/passwd分析:

[root@tex ~]# ll /etc/passwd

-rw-r–r–. 1 root root 2477 Oct 23 05:24 /etc/passwd

/etc/shadow 文件的内容包括7个段位,每个段位之间用:号分割

mutu:x:500:500::/home/mutu:/bin/bash

第一字段:用户账号的名称。

第二字段:经过加密的用户密码字串,或者密码占位符“x”。

第三字段:用户账号的UID号。

第四字段:所属基本组账号的GID号。

第五字段:用户全名,可填写与用户相关的说明信息。

第六字段:宿主目录,即该用户登录后所在的默认工作目录。

第七字段:登录Shell等信息,用户完成登录后使用的Shell

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户账号的密码信息也是保存在passwd文件中的,不法用户可以获取密码字串进行暴力破解,这样一来账号安全就存在一定的隐患。因此后来将密码转存入专门的shadow文件中,而passwd文件中仅保留密码占位符“x”。

 

5、/etc/shadow分析:

/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,权限如下:

[root@tex ~]# ll /etc/shadow

-r——–. 1 root root 1485 Oct 23 18:54 /etc/shadow

/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割

mutu:$6$RgPboQPDThDGwG62$aGcXa5aEx1mHCTHwOe5lyVAzT6SqdmeczRrkiKQDM4S/qu.Dl3GTqKXLLOxUnYbuj/J0rW5Rim5s5NxskkrxV0:17094:0:99999:7:::

第一字段:用户账号名称。

第二字段:使用MD5加密的密码字串信息,当为“*”或“!!”时表示此用户不能登录到系统。若该字段内容为空,则该用户无需密码即可登录系统。

第三字段:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数。

第四字段:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制。

第五字段:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制。

第六字段:提前多少天警告用户口令将过期,默认值为7.

第七字段:在密码过期之后多少天内禁用此用户。

第八字段:账号失效时间,此字段指定了用户作废的天数(从1970年1月1日起计算),默认值为空,表示账号永久可用。

第九字段:保留字段,目前没有特定用途。

6、/etc/group分析:

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。 

/etc/group 中的每条记录分四个字段:

mutu:x:500:

第一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

7、/etc/gshadow 分析:

etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文 件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构 比较复杂的权限模型,设置用户组密码是极有必要的。

mutu:!!::

第一字段:用户组

第二字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;

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

第四字段:组成员,如果有多个成员,用,号分割;

8、通过用户和用户组配置文件来查询或管理用户:

1、id工具测重用户、用户所归属的用户组、UID 和GID 的查看

[root@tex ~]# id

uid=0(root) gid=0(root) groups=0(root)

注:rootUID 0,默认用户组是root ,默认用户组的GID 0,归属于rootGID0

2、useradd、userdel、usermod、passwd

[root@tex ~]# useradd mutu1

[root@tex ~]# ll -d /home/mutu1

drwx——. 4 mutu1 mutu1 4096 Oct 24 01:29 /home/mutu1

 

[root@tex ~]# usermod -c "mutu test" mutu1

[root@tex ~]# grep mutu /etc/passwd

mutu1:x:500:500:mutu test:/home/mutu1:/bin/bash

   

[root@tex ~]# passwd -S mutu

mutu PS 2016-10-20 0 99999 7 -1 (Password set, SHA512 crypt.)

 

[root@tex ~]# userdel -r mutu1

9、总结:

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

原创文章,作者:mutu,如若转载,请注明出处:http://www.178linux.com/53708

(0)
mutumutu
上一篇 2016-10-23
下一篇 2016-10-23

相关推荐

  • 路由配置

      RA和RB为linux系统,此处虚拟成为路由器,在每一台路由器的接口上设置好ip之后开始配置路由表 ip地址配置如下: RA:eth1:192.168.100.1/24    eth0:10.1.0.1/8       主机A:10.1.0.25/8 RB: eth1:192.168.100.2…

    Linux干货 2016-09-07
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2016-11-02
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash     #     nolog=`awk -F: '$…

    Linux干货 2016-09-19
  • 磁盘管理

      磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的,它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序。   一磁盘分区     1为什么要分区?     •优化I…

    Linux干货 2016-09-02
  • 2017全球互联网架构大会上海站火热来袭,等您赴约!

    GIAC 全球互联网架构大会,是长期关注互联网技术与架构的高可用架构技术社区推出的,面向架构师、技术负责人及高端技术从业人员的年度技术架构大会。

    2017-11-30
  • 2017全球运维技术大会第二届12大技术专场等你来!

    去年9月,InfoQ在北京主办了第二届CNUTCon全球容器技术大会,大会邀请了来自Netflix、CoreOS、Docker公司、Mesosphere、阿里巴巴、腾讯、百度、京东、携程、搜狗等公司的技术负责人,共同探讨容器相关的应用场景、技术方案以及架构演进,得到了社区的一致好评。 到今年,CNUTCon已经是第三年了,前两年我们的方向是容器,随着技术的发…

    2017-06-20