用户和组相关的配置文件

目录

用户

组账号

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 17:32
下一篇 2016-10-23 18:05

相关推荐

  • 第三周

    第三周 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@node1 ~]# who -q | sed -n ‘1p’ centos root fedora redhat mint 2.取出最后登录到当前系统的用户的相关信息。 [root@node1 ~]# who -a | tail -1 mint +…

    Linux干货 2017-07-25
  • 第七周作业,分区格式化及一些脚本练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       fidsk划分10G分区,partx命令强制内核重新读磁盘分区表,cat /proc/partitions是否内核识别到新分区 …

    Linux干货 2017-02-01
  • LVM2 逻辑卷管理工具

    LVM2:  LVM: Logical Volume Manager, Version: 2  dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块; /dev/dm-#  /dev/mapper/VG_NAME-LV_NAME /dev/mapper/vol0-root /dev/VG_NAME/…

    Linux干货 2015-09-19
  • LAMP架构实验1

    LAMP架构实验 — 基础架构搭建 实验实验拓扑图与目的 实验过程 总结与问题 实验实验拓扑图与目的 1. 实验主框架LAMP采用编译安装。 2. 分离HTTPD,PHP,MARIADB。 3. 两台服务器能够各自被访问且内容相同。 实验过程 程序包准备: apr-1.5.2.tar.gz          …

    Linux干货 2016-05-10
  • 关于大型网站技术演进的思考(十一)–网站静态化处理—动静分离策略(3)

    原文出处: 夏天的森林   前文里我讲到了网站静态化的关键点是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。由此可见,网站静态化处理的核心就是动静分离和缓存两大方面,上篇我简单讲述了动静…

    Linux干货 2015-03-11
  • 第三周作业

    列出当前系统上所有已经登录的用户名,同一个用户登录多次,则只显示一次 [root@app02 ~]# who |grep -o -E '^\<[a-zA-Z]+\>'|sort -u root XIAOXIN 2. 取出最后登录到当前系统的用户相关信息 [r…

    Linux干货 2016-08-29