目录
l 用户
l 组账号
l UID和GID号
l /etc/passwd分析
l /etc/shadow分析
l /etc/group分析
l /etc/gshadow分析
l 通过用户和用户组配置文件来查询或管理用户
l 总结
1、用户(User)
在Linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同。主要包括超级用户、普通用户和程序用户。
1.【超级用户】:root用户是Linux系统中默认的超级用户账号,对本主机拥有至高无上的完全权限,类似于Windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议使用普通用户账号进行。
2.【普通用户】:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中有完全权限。
3.【程序用户】:在安装Linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行。例如:bin、daemon、ftp、mail等。
2、组账号(Group)
基于某种特定联系将多个用户集合在一起,即构成一个用户组,用于表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);如果该用户同时还包括在其他的组中,则这些组称为该用户的附加组(或公共组)。
例如,用户gaoke是总经办的员工,与部门内的其他同事同属于基本组zongjingban,后来因工作安排需要,公司将gaoke加入到信息中心组mis。则此时用户gaoke同时属于zongjingban、mis组,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)
注:root的UID 是0,默认用户组是root ,默认用户组的GID 是0,归属于root(GID为0)
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