详解Linux下用户和组的配置文件

本文将介绍Linux下用户和组的概念及相关配置文件,通过本文,能更好的认识/etc/pssswd ,/etc/group,以及UID、GID的概念,最后将通过修改用户配置文件来实现用户和组的管理工作,对Linux的多任务、多用户有一个更清楚的认识。

一、用户(USER)

在LInux上用户的管理工作是通过修改相关的配置文件来实现的,在日常的工作中主要包含对用户的查询、增加、修改和删除,由此可见,修改配置文件对用户管理的重要性,下面将对用户(USER)的配置文件来具体说明。

用户的配置文件包括/etc/passwd和/etc/shadow文件,这两个文件是用来记录用户的密码、UID、GID等信息的,但密码是以加密的形式来存放的,且加密算法本身会产生雪崩效应:即初始条件的微小变化,将引起结果的巨大变活,所以想要破解密码基本是不可能的,下面将详细说明用户组的两个配置文件的区别:

1、/etc/passwd内容的详解:

在/etc/passwd中,每一行都代表的是一个用户的信息,一行有7段,用:来分割,如下所示:

root:x:0:0:root:/root:/bin/bash

        第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这个用户的用户名是root,即管理员; 
        第二字段:口令;我们看到的是一个x,表示其为密码占位符,真实的密码已被保存到/etc/shadow 文件中; 
        第三字段:UID ;用户的用户ID号; 
        第四字段:GID;用户组的ID号; 
        第五字段:用户名全称;
        第六字段:用户的家目录所在位置;
        第七字段:用户所用SHELL 的类型,由上可见系统默认的是bash;

用户的UID:

UID即为用户在系统中的ID号,众所周知,Linux系统识别用户不是看用户名,而是看它自身的ID号来识别,每个用户的ID号都是唯一的,系统用户的UID从0开始,到65535,都可以分配用户,但他们之间是有区别的。我们的Linux系统分为管理员和普通用户两种,普通用户为1-65535,普通用户又分为系统用户和登录用户,ID号分别为1-,999和1000-65535。

上面说过,每个用户的UID号都是唯一的,把几个用户共用一个UID是危险的,比如我们上边说的root用户,如果把普通用户的UID改为0,和root共用一个UID,这事实上就造成了系统管理权限的混乱,如我们想用root权限,可用su命令实现,但绝不可以让一个用户和root分享同一个UID。

2、/etc/shadow内容的详解:

shadow,顾名思义,是passwd的影子文件,/etc/shadow文件包括用户、被加密的密码及用户的有限期限等,这个文件只有root权限才可以读取和操作,如下:

root:$6$6aHonQcR$Dt8.0GnvD3IO5cyVKDvRZLb8/zQMRz5.o6dflIsR/3E1Py1kCSMJ5P2Xga8Deh0ZTQxesQd5wgdyYWTOCvvcv0:17086:0:99999:7:::

       第一字段:用户名(也被称为登录名),和/etc/passwd 是相同的;
        第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的; 
        第三字段:上次修改口令的时间;这个时间是从1970年01月01日到最近一次修改口令的时间间隔(天数),可以通过passwd 来修改用户的密码;
        第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义; 
        第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义; 
        第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要过期;如果是系统默认值,是在添加用户时由 /etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义; 
        第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会完全禁用此用户;
        第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永不过期; 
        第九字段:保留字段;

二、关于用户组(GROUP):

用户组的配置文件主要有/etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;

1、/etc/group:

root:x:0:

在/etc/group 中的每条记录分四个字段: 
        第一字段:用户组名称; 
        第二字段:用户组密码; 
        第三字段:GID 
        第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

        /etc/group文件使用户组的配置文件,内容包括用户和用户组,从中可以很清楚的看出用户所属的某个组或某些组。其中同一用户组的用户之间具有相同的权限。这一特性使得管理员在系统管理中获得了极大的方便。

        2、/etc/gshadow:

        /etc/gshadow的内容包括用户组(GROUP)、口令、GID及每个组所包含的用户:

root:::

        第一字段:用户组 ;
        第二字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码; 
        第三字段:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割; 
        第四字段:组成员,如果有多个成员,用,号分割; 


        三、通过修改用户(USER)和用户组(GROUP)配置文件来修改用户或用户组:

        1、我们可以修改/etc/passwd和/etc/group来修改用户和用户做归属的组,通过修改/etc/passwd来实现,当然也可以修改用户的bash类型,家目录等等;

        2、修改用户所归属的组,可通过/etc/group修改来实现;

        3、删除用户及用户组,我们可以通过删除/etc/passwd和/etc/group相应的用户和用户组就能达到目的,当然也能通过userdel和groupdel来实现对用户及用户组的删除;

        通过对用户和用户组的描述,可以使我们清楚的知道配置文件对Linux系统的重要性,也从另一面反映出Linux系统的哲学思想之一,即:使用文本文件保存程序的配置数据,使用一个文本编辑器即可完成系统及服务配置工作。



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

(0)
上一篇 2016-10-23 20:57
下一篇 2016-10-23 21:39

相关推荐

  • 马哥教育网络班22期+第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。第一阶段:ClientHello:    客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。客户端向服务器提供以下信息:        支持的协议版本,比如TLS 1.2 &n…

    Linux干货 2016-12-27
  • N22-love cat 17周博客作业第2部分-构建一个LVS-DR模型的高性能集群

    题目: 搭建一个LVS-DR模型的高性能集群,并实现以下功能:       (1)、wordpress程序通过nfs共享给个个realserver;       (2)、后端realserver中的nginx和php分离; 第17周   第2部分 网…

    Linux干货 2016-08-15
  • vim文件编辑器

       vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。 vim功能十分强大,具有很多有优点: 所有的unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会有 很多软件的编…

    Linux干货 2016-08-11
  • 多网卡实验

    1、虚拟网卡实现一个网卡多个地址     网卡别名多用于虚拟机,可理解为一块网卡MAC地址对应多个IP地址,这样比较方便管理,在不需要通过添加网卡的形式就可以使用到新的IP 在此图可看到     eth1     eth1:100   &n…

    Linux干货 2016-09-06
  • Linux发展史

    一、简单的说: 一个名叫Linus Torvalds的芬兰大学生想要了解Intel的新CPU386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix 变种版本(即Minix)对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和S…

    Linux干货 2016-10-20