Linux系统用户与用户组介绍

一:Linux多用户多任务介绍

Linux/Unix是一个多用户,多任务的操作系统;在介绍Linux账号及账号组管理之前,先简单了解下多用户,多任务操作系统的基本概念。

Linux的单用户多任务

鉴于大家对windows比较熟悉,因此先以windows系统为例阐述。当我们以管理员账号administrator用户登录windows系统后,可能需要编辑word文档内容,但在编辑文件的过程中,又可能会同时打开音乐播放器听音乐;同时还可能会打开MSN/QQ等一些程序。其中编辑word文档、开播放器,开MSN/QQ,这些操作每种都是一项任务。因此,在以上过程中,就同时执行了几个任务。一个用户如administrator用户,为了完成工作和相关任务,同时执行了几个服务或进程;那么Linux也是这样的一个操作系统,当你登陆后,你也可以同时打开很多的服务任务和进程,而各自服务都会跑的很好却对其它任务没有任何影响,这种登陆一个用户而执行多个服务任务和进程的情况,就称为单用户多任务。

Linux的多用户多任务

有时可能是很多用户同时使用同一个系统,如一个公司几十个运维人员,每台机器都可以被若干个运维人员登陆部署或解决相关故障问题,但并不是所有的运维人员都要做同一件事,所以这就有多用户、多任务的情况。

举个例子:比如madsale.cn服务器,上面有系统管理员 root用户、apache用户、常规普通用户等。在同一时刻,可能有的人正在上传软件包部署apache服务;有的查看服务器日志,有的人正在登陆编写shell程序;不同的维护人员对系统的维护或查看,用的可以是不同的普通账号或超级账号root;不同用户所具有的权限也不同,不同的任务工作由不同的维护人员完成,也可以说是不同的用户。

值得注意的是:多用户、多任务并不是大家同时挤在一起在一台机器的键盘和显示器前来操作机器,多用户可能是通过ssh客户端工具等远程登录服务器来进行,比如对服务器的远程控制,只要具有相关用户的权限,任何人都是可以上去操作访问服务器。

Linux系统用户角色划分

用户在系统中是分角色的,在Linux系统中,由于角色不同,权限和所完成的任务也不同;仁德注意的是用户的角色是通过UID和GID识别的;特别是UID,在运维工作中,一个UID是唯一标识一个系统用户的账号,用户系统账号的名称(如:gin)其实给人看的,服务器能识别的仅是UID和GID这样的数字。

超级用户:

默认是root用户,其UID和GID均为0。在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。在生产环境中,一般会禁止root账号远程SSH连接服务器,以加强系统安全。

普通用户:

这类用户一般是由具备系统管理员root的权限的运维人员添加的。例如:ginvip这类用户可以登录系统,但仅具备操作自己家目录中的文件及目录的权限。

虚拟用户:

与真实的普通用户区分开来,这类用户最大的特点是安装系统后默认就会存在,且默认情况不能登录系统,他们是系统正常运行不可缺少的,它们的存在主要是方便系统管理,满足相应的系统进程对文件属性的要求。例如系统默认的bin、adm、nobody、mail用户等。由于服务器的角色的不同,有部分用不到的系统服务被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)。

多用户操作系统的安全

多用户系统从实际来说使得系统管理更为了方便,从安全角度来说,多用户系统也更为安全,比如普通用户ginvip下的某个文件不想让其它用户看到,只是设置一下该文件的权限为只有普通用户ginvip一个用户可读可写编辑(后文会详细讲权限)就行了,这样以来只有普通用户ginvip一个用户可以对其私有文件进行操作,从而达到了保护每个用户的私有数据安全。

账户(user)和账户组(group)

用户(user)介绍

通过上文对Linux系统多用户特征的理解,我们知道,Linux是一个多用户、多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。

每个用户都有一个唯一的用户名和用户口令,在登录系统时,只有正确输入用户名和密码,才能登录系统和相应的目录。

在生产环境中,我们一般会为每个有权限管理服务器的运维人员分配一个独立的普通用户账号及8位(包含数字、字母)以上的密码,如ginvip。该人员吸能通过建立的这个账号登陆系统中进行维护,当需要超级用户权限时,可以通过“sudo 命令名”方式来执行仅有root权限才允许执行的权限。当然,sudo权限要尽量的小。还有,当运维人数不多时,如2-3个,也可以直接 su - 切换到超级用户root下,在执行相应的维护工作,在这里特别提醒,维护时,如果不需要root权限,就不要进入root用户下操作,以减少误操作对系统带来的损失,切记。

注:sudo 和 su 是两个重要切换角色的命令,后文会详细讲解。

用户组(group)介绍

简单的说,linux系统中的用户组(group)就是具有相同特征的用户(user)集合:做个比喻:一个公司,一个家庭就是一个集合,类似这里的用户组,公司的员工和家庭中的成员就相当于这里的用户。

有时我们需要让多个用户具有相同的权限,比如查看、修改某一文件或目录,如果不用用户组,这种需求在授权时就很难实现。如果使用用户组就方便多了,只需要把授权的用户都加到同一用户组里,然后通过修改该文件或目录的对应的用户组的权限,让用户组具有符合需求的操作权限,这样用户组下的所有用户对譔文件或目录就会具有相同的权限,这就是用户组的用途。

将用户分组是Linux系统(windows中也是一样的)中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了运维管理工作。

实际上,在日常生活中,对人类的分组也是无处不在的,大到国家,小到公司,家庭,学校,班级等等都类似linux中用户组的概念,而其中的成员就类似linux用户组中用户的概念。

用户和用户组的对应关系

用户和用户组对应关系有:一对一,一对多,多对一和多对多,请看下图:

用户及用户组配置文件介绍

linux系统下的账户文件主要有/etc/passwd ,/etc/shadow ,/etc/group ,/etc/gshadow 四个文件

与用户相关的配置文件

/etc/passwd → 用户的配置文件

/etc/shadow → 用户影子口令文件

/etc/passwd  用户的配置文件

/etc/passwd 文件中每行定义一个用户账号,有多少行就表示有多少个账号,在一行中可以清晰的看出,各内容之间又通过“:”号划分了多个字段,共7部分,这7部分分别定义了账号的不同属性,passwd文件实际内容如下:

提示:passwd文件中有很多虚拟账号,如bin , daemon等,一般来说,这些账号是系统正常运行所需要的,在不确定的情况下,请不要随意删改此类账号。

在passwd文件中,第一行内容就是超级用户root行,我们可以看到它的uid and gid都为0,为方便理解,我们把passwd文件内容中各字段的介绍整理成一个表格如下:

passwd文件中一行的各个字段简述:

    passwd文件中一行的各个字段详细说明:

passwd中有关UID字段的限制说明

最后我们来看下/etc/passwd的权限:

    因为每个用户登陆时都需要取得UID and GID来判断权限问题,所以/etc/passwd的权限为644,这样以来就会带来安全问题,即所有的用户都可以读/etc/passwd文件。即使文件内的密码是加密的,但还是存在一定的被攻击破解的安全隐患。因此,就有了/etc/shadow文件。

用户的影子口令文件/etc/shadow

前面提到了,由于passwd文件必须要被所有的用户读,所以会带来安全隐患。而shadow文件就是为了解决这个安全隐患而增加的。我们来看下/etc/shadow文件的权限:

    可以发现/etc/shadow是只对root只读的权限,其文件内容为:    和/etc/passwd一样,shadow文件中的每一行内容,也是以冒号(:)作为分隔符,共9个字段,其各个字段的意义如下表:

 shadow文件中一行的各个字段详细说明:

 与用户组相关的配置文件

/etc/group → 用户组配置文件

/etc/gshadow → 用户组的影子文件

/etc/group → 用户组配置文件

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户归属哪个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的,用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去。

/etc/group文件就是前面提到的记录GID与用户组名称的。/etc/group文件同/etc/passwd类似,其文件权限也是644;

    /etc/group文件内容为:

    group文件中一行的各个字段详细说明

用户组的影子文件 /etc/gshadow

/etc/gshadow 是/etc/group的加密资讯文件,比如用户组(group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特征,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码:/etc/gshadow格式如下:

每个用户组独占一行:

gshadow文件中一行的各个字段详细说明:

时间: 2024-08-04 22:16:25

Linux系统用户与用户组介绍的相关文章

Linux系统用户和用户组介绍

1.请问如下登录环境故障的原理及解决办法? 1 [[email protected] test]# useradd rr ##创建用户rr 2 [[email protected] test]# id rr 3 uid=510(rr) gid=511(rr) groups=511(rr) 4 [[email protected] ~]# ls -la /home/rr/ ##查看/home/rr目录下都有什么文件 5 total 28 6 drwx------ 2 rr rr 4096 Dec

linux系统用户以及用户组管理

用户组管理 1.   groupadd 功能说明:新建群组. 语 法:groupadd [-g gid [-o]] [-r] [-f] [群组名称] 补充说明:groupadd 可指定群组名称来建立新的群组帐号.需要时可从系统中取得新群 组值. 参 数: -g <群组识别码>  设置欲使用的群组识别码,group’s id. 实例 : 不加-g 则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的 -g选项可以自定义gid 2. groupdel 功能说明:删除群组. 语 法:g

第八章 linux系统用户及用户组相关知识

使用较多的技能为增删系统账号.设置修改用户密码.切换账户等. 1. 查看配置文件/etc/shadow第一行中root账号的第三个字段(以':'分隔)中的数字,请算一下这个数字是怎么来的?距离1970年1月1日到上次更改密码的时间的间隔天数.例如root密码日期更改时间为2013年9月1日星期日,那么配置文件/etc/shadow中root的第三个字段为15949,计算如下:15949 = (2013-1970)*365+MOD((2013-1970)/4)+(5*31+2*30+28)+1=1

linux入门教程(七) linux系统用户以及用户组管理

关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认识/etc/passwd和/etc/shadow] 这两个文件可以说是linux系统中最重要的文件之一.如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的. /etc/passwd由’:’分割成7个字段,每个字段的具体含义是: 1)用户名(如第一行中的root就是用户名),代

2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  (‘ | ’ 为管道符,作用是把前面的的命令输出在输入给后面的命令 ) 由图所示 /etc/passwd/被:分为7个字段 其含义如下 第一个字段为用户名(图中为root),是代表用户账号的字符串. 第二个字段是该账号的口令,这里的"x"代表的是密码标志,而不是真正的密码,真正的密码是保存在

2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username],若命令后不加名字则是为自己设定密码 (只有root用户才能修改其他账户的密码,普通账户只能修改自己的密码) 2. 命令mkpasswd 用于生成密码  使用如下命令安装软件包 选项[-l ]指定生成密码的长度 [-s]指定特殊字符的个数 [-d]指定数字的个数 四,用户命令切换 1.命令su  

[Linux 004]——用户和用户组以及 Linux 权限管理(二)

到权限了.前面讲到了 Linux 中的用户和用户主管理,其实它们的本质(或者用户和用户组出现的初衷)都是方便权限管理.权限管理对于计算机的重要性不言而喻,权限让每个用户能够安安心心的使用计算机,而不用担心别的用户破坏到自己的资源.如果老王手里有一把你家的钥匙,你是不是很蛋疼呢,如果邻居除了老王,还有老赵,老李,老张...都有你家的钥匙,你是不是更加蛋疼呢.作为多用户的 Linux 而言,权限管理至关重要. 1.Linux 文件权限的规定 前文提到,Linux 规定一个文件必须要有三种权限:文件所

linux系统-用户管理-概念及原理

linux系统-用户管理-概念及原理 一 相关概念 1 /etc/passwd 的文件格式:用户名:密码位:用户标识号:组标识号:注释等相关描述:宿主目录:默认的shell,列如 chengzhi:x:500:500:chengzhi-CentOS:/home/chengzhi:/bin/shell 2 /etc/shadow 的文件格式:用户名:md5加密的密码(md5是单向不可逆的算法,固定长度):最后一次修改的时间:最大时间间隔:最小时间间隔:警告时间:闲置时间:失效文件:标志,前面两项比

linux系统-用户管理-相关配置文件

linux系统-用户管理-相关配置文件 一 配置文件 1 用户信息文件:/etc/passwd 2 密码文件:/etc/shadow 3 用户组信息文件:/etc/group 4 用户组密码文件:/etc/gshadow 5 用户配置文件:/etc/login.defs     /etc/default/useradd 6 新用户的信息文件:/etc/skel 7 登陆信息文件:/etc/motd和/etc/issue 二 my_qq 872785786 及相应的网盘资料链接:http://pa