Linux应用基础项目化教程(RHEL8.2 CentOS8.2)课件 项目4 Linux用户与权限管理_第1页
Linux应用基础项目化教程(RHEL8.2 CentOS8.2)课件 项目4 Linux用户与权限管理_第2页
Linux应用基础项目化教程(RHEL8.2 CentOS8.2)课件 项目4 Linux用户与权限管理_第3页
Linux应用基础项目化教程(RHEL8.2 CentOS8.2)课件 项目4 Linux用户与权限管理_第4页
Linux应用基础项目化教程(RHEL8.2 CentOS8.2)课件 项目4 Linux用户与权限管理_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目4Linux用户与权限管理主讲:***2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)12024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)2本项目学习目标:1.知识目标2.能力目标掌握Linux用户和组的基本概念及相关文件;掌握Linux用户和组的管理;掌握Linux用户基本权限的分类及管理;理解Linux文件的特殊权限和隐藏属性。能熟练使用命令行管理Linux用户和组;能熟练使用命令行修改和控制Linux文件的基本权限;能使用命令行修改和控制Linux文件的特殊权限;能使用命令行修改和控制Linux文件的隐藏属性。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)3学习任务任务4.1用户和组的基本概念任务4.2用户和组管理任务4.3权限管理2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)4任务4.1用户和组的基本概念在Linux操作系统中,任何文件都属于某一特定的用户,而任何用户都属于至少一个用户组。用户是否有权限对某文件进行访问、读写或执行受到系统的严格约束。这种清晰、严谨的用户与用户组管理系统在很大程度上保证了Linux系统的安全。用户是系统安全的基础。系统中的每个进程都由一个特定的用户来执行,每个文件都由一个特定用户所有。文件所有权有助于系统对用户文件实施访问控制。与执行进程相关的用户可确定该进程可访问的文件和目录。4.1.1用户和组的基本概念1.用户的基本概念与分类2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)5用户可分为3类,分别是超级用户、系统用户和普通用户。1)超级用户超级用户(root用户)用于管理系统,其UID和GID(组ID)都是0,该用户对系统具有全部访问权限,可以操作系统中的所有资源。2)系统用户系统用户用于执行系统服务进程。系统服务进程通常不需要以root用户的身份执行,每个系统服务进程在执行时,系统都会为其分配非特权用户,以确保其文件和相关资源不受彼此及普通用户的影响。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)63)普通用户普通用户是系统执行时为了完成某项任务手动创建的用户,该用户仅能使用Linux的部分资源,对系统具有有限的访问权限,从而保证的Linux的安全。该用户可用于登录系统,并操作权限内的系统资源。查看当前已登录的用户信息可以使用id命令,如图4-1所示。图4-1查看当前已登录的用户信息2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)7用户组是具有相同特征用户的逻辑集合,相同特征用户包括需要共享文件和其他系统资源的用户。将所有需要访问相同资源的用户放入同一个组中,然后给这个组授权,那么这个组内的所有用户也就拥有了相同的权限。用户组极大地简化了Linux管理用户的难度,使Linux对用户的管理及对权限的控制更加容易、便捷。与用户相似,用户组也有组名称,以增强操作的便利性。在Linux内部,系统通过为用户组分配唯一的标识号(即组ID或GID)来区分不同的组。2.用户组的基本概念与分类2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)81)主组每个用户有且只有一个主组,对本地用户而言,主组是“/etc/passwd”文件中用户条目的GID字段所标识的组。通常情况下,在创建普通用户时,系统会默认创建一个与该用户同名的新组。该组将作为该新用户的主组,而该新用户则是这一用户组的唯一成员,这样做有助于简化文件权限的管理。例如,用户user01在“/etc/passwd”文件中的用户条目对应的GID为1002,通过id命令查看,GID为1002的用户组为user01,由此可知用户user01的主组为用户组user01,如图4-2所示。用户组可以分为两类,分别是主组和附加组。图4-2用户的主组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)92)附加组附加组的成员资格由“/etc/group”文件确定。如果一个组对某资源具有访问权限,那么属于该组的用户也对该资源具有访问权限,不管该组是用户的主组还是附加组。例如,如果用户user01有一个主组user01及两个附加组group01和group02,那么该用户就可以访问这3个组中任何一个组具有访问权限的资源。用id命令还可以查找用户的组成员信息,如图4-3所示。图4-3用户的附加组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)10人们习惯在Linux中使用用户名进行操作,但在系统内部则使用UID来跟踪用户,用户名和UID的映射在用户信息数据库中定义。默认情况下,系统使用“/etc/passwd”文件来存储与本地用户有关的信息。“/etc/passwd”文件中的每行保存一个用户的资料,而每行各字段之间用“:”分隔,共7个字段,以用户名为user01的普通用户为例,格式如下:user01:x:1000:1000:centos:/home/user01:/bin/bash4.1.2用户和组相关文件及目录1.用户文件----“/etc/passwd”2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)11“/etc/shadow”文件为文本文件,但这个文件只有root用户才能读取,普通用户没有权限读取。由于任何用户对“/etc/passwd”文件都有读的权限,虽然密码经过加密,但加密算法是公开的,所以一旦恶意用户取得了“/etc/passwd”文件,便极有可能破解密码。因此,针对这种安全隐患,Linux目录系统广泛使用了“shadow(影子)文件”机制,将加密的密码转移到“/etc/shadow”文件中,该文件只有root用户才能读取,而相应的“/etc/passwd”文件的密文域显示为一个“x”,从而最大限制地减少密文泄露的机会。和“/etc/passwd”文件类似,“/etc/shadow”文件中的每条记录用“:”分隔,共9个字段,以用户名为user01的普通用户为例,格式如下:user01:$6$P6WFxzcvdjhglucs$vUer6lweMzVM0F0G21AKOcDoco7Zl6v0qdPG/bcYxMlAR9z9zWlzzUPQ/K83FE6uM9Nta8zkkyeBrpevx0q7N.:18567:0:99999:7:::2.用户影子文件----“/etc/shadow”2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)12用户组名到GID的映射在组用户信息数据库中定义,默认使用“/etc/group”文件存储用户组的信息。和“/etc/passwd”文件类似,“/etc/group”文件的每一行都包含了有关某个组的信息。每条组记录用“:”分隔,共4个字段,以group01为例,格式如下:group01:x:1002:user01,user023.用户组帐号文件----“/etc/group”任务结束2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)13任务4.2用户和组管理创建用户的命令是useradd,该命令的语法格式如下:该命令可以直接创建一个新用户。它会设置用户的主目录和用户信息,并为名为用户创建一个同名的主组。此时,该用户尚未设置有效的密码,设置了密码后,用户才能登录。该命令支持丰富的选项,可用使用“useradd–help”命令查看,useradd命令常用的选项说明如表4-1所示。4.2.1用户管理命令1.创建用户useradd[选项]用户名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)14表4-1useradd命令常用的选项说明选项说明-c指定用户添加注释信息,即/etc/passwd文件中每条记录的第五个字段-d指定用户的主目录,如不指定,系统会默认在/home目录下创建与username同名的主目录-g指定用户的主组-G指定用户的附加群组,可以指定多个,每个群组用逗号分隔,不允许有空格-m自动建立用户的主目录,如目录不存在则自动建立-M不自动建立用户的主目录-s指定用户登录后所使用的shell,比如/bin/bash-u指定UID,UID一般不可重复,但使用-o选项时多个用户可以共用相同的UID2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)15添加用户时,一些默认值从“/etc/login.defs”文件中读取,如有效的UID、默认的密码过期规则等。添加用户的本质是向“/etc/passwd”、“/etc/shadow”、“/etc/group”等用户相关文件中添加相应的用户记录的条目。例如,使用useradd命令添加用户user01,如图4-4所示。图4-4添加用户2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)16修改用户的命令是usermod,使用该命令可以修改用户组、主目录、Shell等信息,其语法格式如下:usermod[选项]用户名2.修改用户多数情况下,useradd命令的选项都可以用于usermod命令,以修改用户信息。usermod命令常用的选项说明如表4-2所示。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)17表4-2usermod命令常用的选项说明选

项说

明-c修改用户信息,即“/etc/passwd”文件中每条记录的第5个字段-d修改用户的主目录,该选项对应的用户目录不会自动建立,需要手动建立-e修改用户的过期时间-f修改在密码过期后多少天即禁用该用户-g修改用户的主组-G修改用户的附加组(群),添加多个附加组(群)时,组之间用逗号分隔-a与-G选项搭配使用,将用户添加至-G选项列出的组(群)中,而不把用户从原有的附加组中删除-m将用户的主目录移到新的位置,必须与-d选项搭配使用-s修改用户登录后所使用的Shell-l修改用户名-L锁定用户-u修改UID-U解除用户2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)18使用usermod命令的示例如图4-5所示。图4-5添加用户2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)19如果不再需要某个用户了,可以使用userdel命令来将其删除。其语法格式如下:userdel[-r]用户名3.删除用户其中,“-r”选项表示在删除用户的同时,删除用户的主目录。使用userdel删除用户的示例如图4-6所示。图4-6删除用户2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)20创建用户的命令是groupadd,该命令的语法格式如下:不带选项时,groupadd命令会在创建组时使用“/etc/login.defs”文件中指定范围内的下一个可用的GID为新组的GID。groupadd命令常用的选项说明如表4-3所示。4.2.2组管理命令1.创建组groupadd[选项]组名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)21表4-3groupadd命令常用的选项说明选

项说

明-g创建组时指定特定的GID-o允许创建使用相同GID的不同组-p为新组指定密码-r创建一个系统组使用groupadd命令创建组的示例如图4-7所示。图4-7创建组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)22修改用户的命令是groupmod,该命令的语法格式如下:groupmod命令常用的选项说明如表4-4所示。2.修改组groupmod[选项]组名选

项说

明-g修改GID-o允许多个不同的组使用相同的GID-n修改组名称使用groupmod命令修改组的信息的示例如图4-8所示。图4-8修改组的信息表4-4groupadd命令常用的选项说明2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)23删除用户的命令是groupdel,如果要删除的组为某个用户的主组,那么不能删除该组,必须先删除用户才能删除该组。该命令的语法格式如下:3.删除组groupdel组名使用groupdel命令删除用户主组的示例如图4-9所示。图4-9删除组的信息2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)24创建用户后,需要设置用户对应的密码,修改Linux用户的密码可以使用passwd命令。root用户可以修改任意用户的密码,普通用户只能修改自己的密码。4.2.3其他与用户和组相关的命令1.修改用户密码使用passwd命令修改当前用户密码和其他用户密码的示例分别如图4-10、图4-11所示。图4-10普通用户修改用户自身的密码图4-11root用户修改其他用户的密码2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)25“su”和“su-”命令用于不同的用户之间的切换。“su”命令将启动非登录Shell,而“su–”命令会启动登录Shell,“su–”和“su–l(小写字母L)”的作用一致。两个命令的主要区别在于,“su–”会将Shell环境设置成与该用户的身份重新登录一样,而“su”仅表示以该用户身份启动Shell,但仍然使用原始用户的环境设置。2.切换用户“su”与“su–”的区别示例如图4-12所示。图4-12“su”与“su–”的区别2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)26sudo命令允许普通用户通过特定的方式使用root用户才能执行的命令,并且要求用户只需要输入自己的密码进行身份验证即可。3.普通用户获取root用户权限who命令的示例如图4-13所示。图4-13显示当前已登录的用户4.查看已登录的用户who命令用于查看系统中当前已经登录的用户,如果使用su命令进行了身份切换,则只显示最初登录的用户。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)27whoami命令用于查看当前执行Shell的用户,如图4-14所示5.查看当前执行Shell的用户图4-14查看当前执行Shell的用户2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)28在CentOS8中,选择“活动”-“设置”-“详细信息”-“用户”选项,即可打开用户管理界面,如图4-15所示。点击右上角的“添加用户”按钮即可添加用户信息。4.2.4图形化管理工具图4-15用户管理界面任务结束2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)29任务4.3权限管理在Linux系统中,根据应用权限,可将用户分为3类:每个文件的所有者(user)、所属组(group)和非文件所有者和非所属组成员的其他用户(other)。在对文件权限进行管理时可以分别使用以下字母中的任意一个或几个字母的组合指定操作对象。(1)u:表示“用户(user)”,,即文件或目录的所有者。(2)g:表示“同组(group)用户”,即与文件所有者属于同一主个组的所有用户。(3)o:表示“其他(other)用户”,除文件所有者和与文件所有者的同组用户以外的其他用户。(4)a:表示“所有(all)用户”。4.3.1用户分类2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)30文件的基本权限主要分为3类:可读(r)、可写(w)、可执行(x),使用“ls–l”命令可以查看文件或目录的权限,如图4-16所示。4.3.2权限的分类图4-16查看文件权限2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)31表4-5权限对文件及目录的影响在不同类型的文件上读、写、执行的体现有所不同,所以目录权限和普通文件权限要区分开来,字符表示法分别用r、w、x表示可读、可写、可执行权限。表4-5给出了权限对文件及目录的影响。权

限对文件的影响对目录的影响r可以读取文件的内容可以使用ls命令列出目录下的内容w可以修改文件的内容可以创建或删除目录中的任意文件x可以执行文件,通常是针对二进制文件或脚本文件而言可以使用cd命令切换到目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)32表4-6文件权限的字符表示法与八进制数表示法权限的表示方法除上述的字符表示法之外,还可以用八进制数表示。在权限的八进制数表示法中,“-”表示没有权限,用0表示,r用数字4表示,w用数字2表示,x用数字1表示,最终表示结果为各权限字符对应数字的和。例如,文件权限rwxrw-r-x对应的权限表示如表4-6所示。表示方法usergroupother字符表示法rwxrw-r-x八进制表示法7652024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)33更改权限可以使用chmod命令,意思是“changemode”,该命令在要更改的文件或目录列表后列出了权限说明,可使用4.3.2节所述的字符表示法或八进制数表示法来更改权限。chmod命令通过字符表示法更改权限的语法格式如下:4.3.3权限管理命令1.更改文件或目录的权限chmod[选项]WhoWhatWhichfile|directoryWho是指u、g、o、a(分别代表用户、组、其他、所有)中的一个或多个字符;What是指+、-、=(分别代表添加、删除、精确设置权限)中的一个字符;Which是指r、w、x(分别代表读、写、执行)中的一个或多个字符。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)34使用chmod命令的字符表示法对文件权限进行修改的示例如图4-17所示。图4-17字符表示法对文件权限进行修改2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)35chmod命令通过八进制数表示法修改权限的语法格式如下:chmod###file|directory#代表一个数字。有经验的管理员通常使用八进制数表示法对权限进行修改,因为其相对于字符表示法而言,更加方便快捷2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)36使用chmod命令的八进制数表示法对文件权限进行修改的示例如图4-18所示。图4-18字符表示法对文件权限进行修改2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)37在Linux中,新建的文件由创建该文件的用户所有,使用chown命令可以更改文件的所有权,chown命令的语法格式如下:2.更改文件或目录的用户所有权chown[选项]user|:group|user:groupfile|directoryuser表示更改文件或目录的所有者;:group表示更改文件或目录的组;user:group表示同时更改文件或目录的所有者和组。只有root用户可以使用chown命令更改文件的所有权。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)38使用chown修改用户的示例如下,命令常用的选项为“-R”,作用与chmod命令中的“-R”类似,可以递归修改文件所有者,如图4-19所示。图4-19“chown–R”命令递归修改文件所有者2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)39更改文件和目录的组除可以使用上述chown命令之外,还可以使用chgrp命令,该命令仅用于修改组所有权,chgrp命令的语法格式如下:3.更改文件或目录的组所有权chgrp[选项]groupfile|directory使用chgrp命令更改文件的组的示例如图4-20所示。图4-20chgrp命令修改文件的组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)40在Linux中,每个用户都有一个用户掩码umask,每个用户创建的文件的默认权限由umask的值决定,可以使用umask命令查看和设置用户创建文件的默认权限。root用户的默认用户掩码为0022,普通用户的默认用户掩码为0002。4.3.4用户掩码与特殊权限位1.用户掩码通常,文件权限只会用到umask值的后3位,即022,而umask命令与chmod命令的设定刚好相反,umask命令设置的是权限的“补码”,chmod命令设置的是文件权限码。对文件而言,系统不允许在创建之初就对其赋予可执行权限,因此文件权限最高的设定值为6,而目录为权限最高的设定值为7。将最高设定值减去umask值即得到默认文件的创建权限。因此当umask为022时,默认创建文件的权限为644,而默认创建目录的权限为755。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)41特殊权限是除用户、组和其他用户之外的第4种权限类型,这些权限提供了额外的访问相关功能,超出了基本权限类型允许的范畴。特殊权限位对文件和目录的影响如表4-7所示。2.特殊权限位表4-7特殊权限位对文件和目录的影响特殊权限对文件的影响对目录的影响u+s(suid)以拥有文件的用户身份,而不是以执行文件的用户身份执行文件无影响g+s(sgid)以拥有文件的组身份执行文件目录中所创建的文件或子目录的组将继承该目录的组所有权o+t(sbit)无影响对目录具有写权限的用户(及root用户)仅可删除其所拥有的文件,无法删除其他用户拥有的文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)421)suid命令suid命令只针对可执行文件,即二进制文件执行。它的作用是对某个命令(可执行文件)授予所有者的权限,命令执行完成后,权限就消失了。2)sgid命令sgid命令针对可执行文件和目录执行。针对可执行文件时,命令以拥有该文件的组执行,而不是以执行命令的用户执行,其方式与suid类似;针对目录时,在目录中所创建的文件或子目录将继承该目录的组所有权,而不继承于创建用户,其本质还是提升目录所属组的权限。3)stickybitstickybit,简称sbit特殊权限,可译为粘着位、粘滞位、防删除位。sbit针对目录的粘滞位,将对文件删除设置特殊限制。2.特殊权限位2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)43管理Linux中的文件和目录,除可以利用普通权限和特殊权限之外,还可以利用文件和目录具有的一些隐藏属性。主要使用chattr和lsattr命令控制文件隐藏属性,chattr命令用于修改文件隐藏属性,lsattr命令用于查看文件隐藏属性。4.3.5文件属性控制chattr是changefileattributes的缩写,chattr命令的语法格式如下:chattr[+-=][属性]文件或目录名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)44chattr属性说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论