用户和组相关的配置文件

目录

用户

组账号

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

相关推荐

  • linux发展史

    Linux 发展史 说明 此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。    目录 一、Linux发展背景 二、UINIX的诞…

    Linux干货 2016-10-14
  • Linux下history命令的介绍

    Linux下history命令的介绍 一、用处 对于Linux而言,命令是人机交互的重要方式,而查看命令历史可以帮助我们了解系统的使用状态、增强安全性也可以调用历史达到快捷操作的目的。 二、命令行历史   执行过的命令会被存入缓存,当正常退出shell时,缓存中的命令会被写入文件中并保存在用户下的隐藏文件文件.bash_history中。当用户登陆…

    Linux干货 2016-07-29
  • find命令的基本用法

     linux 中find 常用示例解析 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]    其实[-H] [-L] [-P] [-D debugopts] [-Olevel]这几个选项并不常用(至少在我的日常工作中,没 &…

    Linux干货 2016-05-05
  • mysql主从复制

    MySQL主从复制        主从复制原理: mysql主从同步其实是一个异步复制的过程,要实现复制首先在master上开启bin-log日志功能。整个过程需要开启3个线程, 分别是master开启IO线程,slave开启IO线程和SQL线程. (1) 在slave服务器执行start…

    Linux干货 2016-06-26
  • 删除三天前备份的脚本

    [root@scm-dzm testfolder]# ll total 4 drwxr-xr-x. 2 root root   6 Jul 14 00:53 20160722 drwxr-xr-x. 2 root roo…

    Linux干货 2016-07-16
  • Linux磁盘管理

    一、磁盘管理总体分类  1)磁盘结构  2)分区类型  3)管理分区 4)管理文件系统  5)挂载设备 6)管理虚拟内存 ……………………………………………………………………………………………………………………… 重要分类模块详解 ………………………………………………………………………………………………………………………

    Linux干货 2016-08-29