LINUX用户系统中的群组与群组管理员讲解
- 格式:doc
- 大小:7.18 KB
- 文档页数:6
Linux⽤户和组管理实验⼿册实验报告Linux⽤户和组管理实验⼿册第⼀章实验思路1.1实验环境:VMware、Centos7、MobaXterm软件第⼆章实验⽬的1. 掌握在linux系统下利⽤命令进⾏⽤户和组的操作2. 掌握⽤户的操作命令3. 掌握组的操作命令第三章实验步骤3.1 ⽤户和组⽤户:(1)管理员⽤户 root:uid=0(2)系统⽤户:user:uid=1-999(3)普通⽤户:user:uid=1000-65535属组:创建⽤户时,如果不指定组,都会创建个同名组管理员组:root普通组:基本组附加组3.2 ⽤户⽤户认证AAA数据库:认证、授权、审计(1)password数据库 /etc/password 查看⽤户数据库,存放⽤户信息及其相关属性查看结果如下(2)/etc/shadow ⼝令数据库,存放⽤户密码信息及其相关属性[root@localhost ~]# cat /etc/shadow //查看数据库⼝令信息打开⽂件,查看结果如下root:$6$vS9HjFBlqL8qGkLl$wTEXAy5RFEp83CxMWHYesMZR9kwL7jTos8kJ/7A0aJe.CV6wqgXrKv8MCnGzBXC/R2XO6CFrcrkjBhEcaJdRa1: :0:99999:7: : :第⼀列:root ⽤户名称第⼆列:密码的详细信息,$6$vS9HjFBlqL8qGkLl$wTEXAy5RFEp83CxMWHYesMZR9kwL7jTos8kJ/7A0aJe.CV6wqgXrKv8MCnGzBXC/R2XO6CFrcrkjBhEcaJdRa1指加密密钥第三列:最后⼀次更改密码的⽇期,从1970-1-1开始算天数第四列:密码的最⼩年龄第五列:密码的最⼤年龄,默认99999第六列:密码的警告时间短,⼀般默认为7第七列:密码的禁⽤期第⼋列:账户过期⽇期,空字段表⽰账户永不过期第九列:保留字段(3)Passwd 修改密码对于普通⽤户来说,只能修改⾃⼰的密码,对于管理员⽤户来说,加上⽤户名可以修改其他⽤户的密码[root@localhost ~]# passwd //passwd 后⾯不加参数,直接修改当前的密码信息查看结果如下,按ctrl+c退出Passwd 参数指修改该参数的密码查看结果如下Passwd -d test1 //清除密码[root@localhost ~]# passwd -d test1passwd uid 修改对应⽤户密码passwd -d uid 删除密码1. 组(1)查看组命令为 cat /etc/group查看结果如下test1:x:1001:1001: :/home/test1:/bin/bash第⼀列:test1 表⽰账号、⽤户第⼆列:X表⽰密码,使⽤X表⽰,具体密码存放在/etc/shadow 第三列:1001 uid ⽤户第四列:1001是指gid,⽤户所属的组id第五列:描述信息第六列:(/home/test1) $HOME,⽤户的家⽬录第七列:(/bin/bash):⽤户启动的shell程序(2)Useradd 增加⽤户usermod -g test test1 修改test1的⽤户组为test(4)Userdel 删除⽤户信息(5)cat /etc/grouptest:x:1000:test1第⼀列:组名称第⼆列:组密码第三例:GID第四列:组内成员⽤户列表[root@localhost ~]# cat /etc/group //查看组信息(4)groupadd 添加组第四章问题解决4.1 问题在使⽤userdel 删除⽤户时,出现了报错userdel: user test is currently used by process 17544.2 解决⽅法是因为在进⾏操作时不是在根⽬录,造成删除不成功报错,当改成在根⽬录下进⾏时,修改成功也可以不在根⽬录下进⾏操作,这时先使⽤vipw -s或者vipw 命令,找到test这⾏,把它删除,然后在输⼊:wq!强制保存退出,⼀定要加!强制退出。
用户和组的基本概念和作用用户和组是操作系统中非常基本的概念。
在管理用户和组的过程中,我们可以对系统的安全性和稳定性进行有效的控制和管理。
本文将从基本概念和作用两个角度出发,为大家详细介绍用户和组在操作系统中的作用及其管理。
一、基本概念1. 用户用户,就是使用计算机的人员或软件进程。
每个用户都有一个唯一的用户名和密码,用于登录系统。
用户可以拥有自己的文件、目录和进程,拥有或限制对特定资源的访问权限。
2. 组组,是一组用户的集合,通过将用户分配到不同的组中,可以方便地管理和控制资源的访问。
组还可以拥有自己的权限和设置,从而控制组内用户的行为。
二、作用1. 用户与安全在操作系统中,用户的身份验证是确保系统安全的第一步。
通过用户登录系统,我们可以确定每个用户可以访问哪些资源、哪些操作可以执行等等。
同时,操作系统提供了各种方法来保护用户的密码、访问权限和敏感数据,减少系统被恶意攻击的可能性。
2. 用户与资源管理管理员可以通过创建、修改、删除用户账户、用户组和分配权限来管理操作系统中的资源。
一旦分配好角色和权限,用户便可以访问系统中那些他们需要用到的资源。
同时,用户还可以使用自己的主目录管理自己的文件和数据。
3. 组与资源管理通过创建组和分配用户到组中,管理员可以轻松地对大量用户进行统一管理。
一旦一个组被分配到一个资源,组内的所有用户就可以自由地访问该资源。
管理员还可以方便地控制组内用户对特定资源的权限、限制对某些资源的访问等等。
这使得管理大量用户和复杂资源变得更加容易。
三、用户和组的管理用户和组的管理通常需要管理员的权限。
管理员要在操作系统中配置用户帐户、用户组和分配权限。
在Linux系统中,可以通过以下命令来进行:1. 创建用户账户:useradd创建新用户的命令,具体使用可通过man useradd查看参数2. 更改用户账户信息:usermod修改已存在的用户账户的信息,如更改用户名、密码等3. 删除用户账户:userdel删除用户账户,同时关联资源也将被删除4. 修改用户密码:passwd修改用户密码,账户安全的重要步骤5. 查看用户账户信息:id查看用户信息和所属组信息6. 创建组:groupadd创建新组,具体使用可通过man groupadd查看参数7. 修改组信息:groupmod修改已存在的组的信息8. 删除组:groupdel删除组,同时关联资源也将被删除结语:在操作系统中,用户和组的管理是问题的一个重要部分。
Linux中使用useradd和userdel命令管理用户和用户组Linux系统是一种开源的操作系统,广泛应用于服务器和嵌入式设备中。
在Linux中,用户和用户组的管理是非常重要的一项任务。
本文将介绍如何使用useradd和userdel命令来管理用户和用户组。
一、用户管理1. 添加用户在Linux中,可以使用useradd命令来添加用户。
下面是使用useradd命令添加用户的基本语法:useradd [选项] 用户名例如,要添加一个名为"john"的用户,可以使用以下命令:useradd john默认情况下,useradd命令将在/home目录下创建一个与用户名相同的子目录作为用户的家目录。
如果需要指定其他目录作为用户的家目录,可以使用-d选项,如下所示:useradd -d /data/john john2. 设置用户密码添加完用户后,下一步是为用户设置密码。
使用passwd命令可以为用户设置密码。
下面是passwd命令的基本语法:passwd 用户名例如,要为"john"用户设置密码,可以使用以下命令:passwd john系统会提示您输入新密码,并要求确认密码。
请务必选择一个安全的密码,并妥善保管。
3. 修改用户信息Linux中还可以使用usermod命令来修改用户的信息,包括用户名、家目录、用户ID等。
下面是usermod命令的基本语法:usermod [选项] 用户名例如,要将"john"用户的家目录修改为/data/john,并将其用户ID修改为1001,可以使用以下命令:usermod -d /data/john -u 1001 john4. 删除用户如果不再需要某个用户,可以使用userdel命令将其从系统中删除。
下面是userdel命令的基本语法:userdel 用户名例如,要删除名为"john"的用户,可以使用以下命令:userdel john二、用户组管理1. 添加用户组在Linux中,可以使用groupadd命令来添加用户组。
论述linux的用户和组的权限管理机制1.引言1.1 概述概述部分的内容主要是对Linux的用户和组权限管理机制进行简要介绍和概括。
在Linux操作系统中,用户和组权限管理是一个重要的安全机制,用于控制对文件和系统资源的访问权限。
通过用户和组的管理,可以实现对系统资源的精细控制和权限分配。
在Linux中,每个用户都拥有一个唯一的用户标识符(User ID),用于标识用户的身份。
用户可以根据其权限的不同,拥有不同的访问权限。
同时,用户还可以根据需要归属于一个或多个用户组。
用户组是一种将多个用户归为一组管理的机制,同一组内的用户共享相同的权限。
概述部分还可以涉及到Linux的权限基本原则,即最小权限原则和分层权限原则。
最小权限原则指的是用户和进程仅拥有必要的最小权限来完成其工作,以减少潜在的安全风险。
分层权限原则则是将权限进行层级划分,高层级的用户或组拥有更高的权限,低层级的用户或组则有更低的权限,以实现权限的分级控制。
Linux的用户和组权限管理机制是开放式的,允许系统管理员根据实际需求对用户和组的权限进行灵活配置和调整。
通过合理设置权限,可以保护系统的安全性,防止恶意用户或进程对系统资源的滥用和非法访问。
通过对Linux的用户和组权限管理机制进行深入的论述和研究,可以更好地理解Linux操作系统的安全机制和权限管理原则,为系统管理员提供更好的权限设置和管理策略,从而提高系统的安全性和稳定性。
1.2 文章结构本文将围绕Linux的用户和组的权限管理机制展开论述。
首先,在引言中对Linux的用户和组权限管理提供概述,并明确本文的目的。
接下来,正文部分将分为两个主要部分,分别探讨用户权限管理机制和组权限管理机制。
在2.1 用户权限管理机制部分,我们将介绍Linux中用户的不同类型以及它们在权限管理中的作用。
这部分还将探讨用户权限的具体设置方法,包括用户的基本权限和特殊权限。
我们将解释如何创建和删除用户,以及如何为用户分配适当的权限,确保系统的安全性和稳定性。
用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和GID识别的。
UID就是用户ID,GID就是群组的ID号。
系统中的用户分为虚拟用户和实体用户。
✧root 用户:系统管理员,可以登录系统,拥有最高权限。
✧虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都是系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户。
✧普通实体用户:这类用户能登录系统,但只能操作自己家目录的内容,权限有限,是系统管理员自行添加的。
与用户有关的文件有/etc/passwd和/etc/shadow。
1./etc/passwd文件通常在Linux系统中,用户的关键信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户账号对应于该文件中的一行记录,这行记录定义了每个用户账号的属性(如图2-26)。
图2-26 /etc/passwd 文件内容从上图中可以看出,每一行使用“:”符号分隔,共七项分别是帐号名称密码UID:这就是用户的识别码(ID)一般0是管理员(root)的ID,1-499为系统预留的ID,500-65536供一般用户使用GID :与/etc/group有关,为组ID账号的说明信息根目录,默认用户目录在/home/用户名shell 所谓的shell就是人类用来与机器沟通的界面,我们通常使用的是/bin/shell。
2./etc/shadow文件Shadow加密的密码文件又称影子文件同样保存了帐号的信息,此文件只有root用户可以访问(如图2-27)。
图2-27 /etc/shadow文件每一行对应一个帐号,用:分隔,各项的含义如下。
帐号名称密码:这才是真正的密码,使用MD5加密。
上次改动密码的日期,例子中的怎么是14660呢,这是因为日期是以1970年1月1日为起点开始计算,1971年1月1日则为366 ,类推到2010年2月就是14660。
关于群组:有效与初始群组、groups, newgrp代码如下:# /etc/group这个档案就是在记录 GID 与群组名称的对应了~我的 /etc/group 内容有点像这样:代码如下:root:x:0:rootbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemonsys:x:3:root,bin,adm也是以冒号‘:’作为栏位的分隔符号,共分为四栏,每一栏位的意义是:1. 群组名称:就是群组名称啦!2. 群组密码:通常不需要设定,因为我们很少使用到群组登入! 不过,同样的,密码也是被纪录在 /etc/gshadow 当中啰!3. GID:就是群组的 ID 啊~4. 支援的帐号名称:加入这个群组里面的所有的帐号,我们知道,一个使用者是可以加入多个群组的。
举例来说,如果我想要让 dmtsai 也加入 root 这个群组,那么在第一行的最后面加上‘,dmtsai’,注意不要有空格,使成为‘ root:x:0:root,dmtsai’就可以啰~比较重要的特色在于第四栏啦,因为每个使用者都可以拥有多个支援的群组,这就好比在学校念书的时候,我们可以加入多个社团一样! ^_^。
不过这里您或许会觉得奇怪的,那就是:‘假如我同时加入多个群组,那么我在作业的时候,到底是以那个群组为准?’底下我们就来谈一谈这个‘有效群组’的概念。
# 有效群组(effective group)与初始群组(initial group)还记得每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID 吧?那个 GID 就是所谓的‘初始群组 ( initial group ) ’了!也就是说,当使用者一登入系统,立刻就拥有这个群组的相关权限的意思。
举例来说,我们上面提到 dmtsai 这个使用者的/etc/passwd 与 /etc/group 还有 /etc/gshadow 相关的内容如下:代码如下:[root@linux ~]# grep dmtsai /etc/passwd /etc/group /etc/gshadow/etc/passwd:dmtsai:x:501:501::/home/dmtsai:/bin/bash/etc/group:users:x:100:dmtsai/etc/group:dmtsai:x:501:/etc/gshadow:users:::dmtsai/etc/gshadow:dmtsai:!::仔细看到上面这个表格,在 /etc/passwd 里面,dmtsai 这个使用者所属的群组为GID=501 ,也就是 /etc/group 里头 dmtsai 那个群组啦~因为这是 initial group ,所以,使用者一登入就会主动取得,不需要在 /etc/group 的第四个栏位写入该帐号的!但是非 initial group 的其他群组可就不同了。
举上面这个例子来说,我将 dmtsai 加入 users 这个群组当中,由于 users 这个群组并非是 dmtsai 的初始群组,因此,我必须要在 /etc/group 这个档案中,找到 users 那一行,并且将 dmtsai 这个帐号加入第四栏,这样 dmtsai 才能够支援 users 这个群组啊。
那么在这个例子当中,因为我的 dmtsai 这个帐号同时支援 dmtsai 与 users 这两个群组,因此,在读取/写入/执行档案时,针对群组部分,只要是 users 与 dmtsai 这两个群组拥有的功能,我 dmtsai 这个使用者都能够拥有喔!这样瞭呼?不过,这是针对已经存在的档案而言,如果今天我要建立一个新的档案或者是新的目录,请问一下,新档案的群组是dmtsai 还是 users ? 呵呵!这就得要检查一下当时的有效群组了 (effective group)。
如果我以 dmtsai 这个使用者的身份登入后,该如何知道我所有支援的群组呢? 很简单啊,直接输入 groups 就可以了!注意喔,是 groups 有加 s 呢!结果像这样:代码如下:[dmtsai@linux ~]$ groupsdmtsai users在这个输出的讯息中,我知道我同时属于 dmtsai 及 users 这个两个群组,而且,第一个输出的群组即为有效群组 (effective group) 了。
也就是说,我的有效群组为 dmtsai 啦~此时,如果我以 touch 去建立一个新档,例如: touch test ,那么这个档案的拥有者为 dmtsai ,而且群组也是 dmtsai 的啦。
这样是否可以瞭解什么是有效群组了?那么如何变更有效群组呢?这个有两个方法,不论是那个方法,都是以 newgrp 达成的! 以上面这个例子来说,因为我的 dmtsai 使用者同时拥有 dmtsai 与 users 两个群组,因此, dmtsai 当然可以随时切换 dmtsai/users 成为有效群组啰。
所以,我可以下达:代码如下:[dmtsai@linux ~]$ newgrp users[dmtsai@linux ~]$ groupsusers dmtsai此时,我的有效群组就成为 users 了。
当然,要能够顺利切换有效群组的话,还需要/etc/gshadow 的辅助才行~这个等一下我们会说明的。
好了,那么如果你开始在/home/dmtsai 这个家目录底下尝试建立一个档案,例如‘ touch test2 ’好了,会发生什么状态呢? 呵呵!那个档案的群组竟然变成 users 了!这样更清楚有效群组的意义了吧?!我们额外的来讨论一下 newgrp 这个指令,这个指令可以变更目前使用者的有效群组,而且是另外以一个 shell 来提供登入的喔,所以,以上面的例子来说, dmtsai 这个使用者目前是以另一个 shell 登入的,而且新的 shell 给予 dmtsai 有效 GID 为 users 就是了。
当直接执行‘ newgrp groupname ’时,使用者的有效群组会成为 groupname ,此时虽然使用者的环境设定(例如环境变数等等其他资料)不会有影响,但是使用者的‘权限’将会重新被计算。
举例来说, dmtsai 此时建立的新档案群组是 users 了~鸟哥的这个例子当中,要注意的是, dmtsai 这个使用者本来就属于 users 与 dmtsai 这两个群组,所以他可以直接使用 newgrp 来切换有效群组,而要离开新的有效群组时,输入‘ exit ’即可。
假设我的 Linux 系统当中还有另一个群组,名称为 vbird,那么 dmtsai 是否可以登入 vbird 这个群组? 在某些前提下是可以的:* vbird 这个群组在 /etc/gshadow 的密码栏为合法的(不具有 ! 开头!);* dmtsai 必须让 root 或群组管理员 (group administrator) 加入到 vbird 群组中。
这两个大前提缺一不可喔!好了,假设我已经使用 gpasswd 建立了 vbird 这个群组的密码,而dmtsai 也被加入群组成员当中了,那么当dmtsai 输入‘newgrp vbird’时,嘿嘿! dmtsai 这个使用者的有效群组就能够变成 vbird 啰~# /etc/gshadow刚刚讲了很多关于‘有效群组’的概念,另外,也提到 newgrp 这个指令的用法,但是,如果 /etc/gshadow 这个设定没有搞懂得话,那么 newgrp 是无法动作的呢! 我的 /etc/gshadow 的内容有点像这样:root:::rootbin:::root,bin,daemondaemon:::root,bin,daemonsys:::root,bin,adm同样还是使用冒号‘:’来作为栏位的分隔字元,而且你会发现,这个档案几乎与 /etc/group 一模一样啊!是这样没错~不过,要注意的大概就是第二个栏位吧~第二个栏位是密码栏,如果密码栏上面是‘!’时,表示该群组不能使用密码来登入呢! 至于第四个栏位也就是支援的帐号名称啰~1. 群组名称2. 密码栏,同样的,开头为 ! 表示无法登入;3. 群组管理员的帐号 (相关资讯在后续介绍)4. 该群组的所属帐号 (与 /etc/group 内容相同!)不过,就以系统的操作来说,事实上,这个 /etc/gshadow 的密码提供,最大的功能是在于‘ 让那些不在群组中的成员,临时加入该群组用的。
’ 实际上使用的情况是很少的~而如果真的要操作这样的环境,那就得要熟悉 newgrp 的用法啰! 而且还要提供某个群组的密码出来,真是不好管理。
所以,若真的想要让某个使用者利用该群组的功能时,还是直接将对方加入群组的支援就好了!省得麻烦~Linux群组管理员为什么需要群组管理员我们假设一个场景,一个公司里有好多部门,不同员工需要加入到不同的群组。
如果其中一个部门增加员工,就需要通知管理员,将其加入到对应的群组。
如果每个部门都要增加员工,那管理员可能每天都会疲于奔命处理各个请求。
这时我们可以针对每个群组设置组长,并允许组长添加删除组成员,这样不仅可以提高效率,还减少了管理员的工作。
如何指派群组管理语法:gpasswd -A USERNAME GROUPNAME效果:在添加群组管理时,可以指定多个用户,多个用户之间需要使用英文逗号隔开。
如何删除群组管理语法:复制代码代码如下:gpasswd -A GROUPNAME效果:gpasswd没有特定的参数用于删除群组管理,我们指定空字符串即可。
如果组内有多个管理员,指定保留用户即可。
群组管理添加成员语法:复制代码代码如下:gpasswd -a USERNAME GROUPNAME效果:群组管理删除成员语法:复制代码gpasswd -d USERNAME GROUPNAME 效果:。