您的当前位置:首页正文

实验十三:权限管理

来源:个人技术集锦
实验十三:权限管理

一、实验准备知识:详见P115-132 1、权限概述:

Linux是多用户的操作系统,允许多个用户同时在系统上登录和工作。为了确保系统和用户的安全采取了如下安全措施:

 通过UID/GID确定每个用户在登录系统后都做了些什么  通过UID/GID来区别不同用户所建立的文件或目录

 每个文件或目录都属于一个UID和一个GID

 每个进程都使用一个UID和一个或多个GID来运行

 通常由被运行进程的用户决定

 超级用户具有一切权限,无需特殊说明

 普通用户只能不受限制的操作主目录及其子目录下的所有文件,对系统中其他目录/

文件的访问受到限制

2、三种基本权限:

说明:

 目录上只有执行权限,表示可以进入或穿越他进入更深层次的子目录

 目录上只有执行权限,要访问该目录下的有读权限的文件,必须知道文件名才可以

访问

 目录上只有执行权限,不能列出目录列表也不能删除该目录

 目录上执行权限和读权限的组合,表示可以进入目录并列出目录列表

 目录上执行权限和写权限的组合,表示可以在目录中创建、删除和重命名文件 3、分配三种基本权限:

 文件和目录的使用者

 属主、同组人、其他人

 权限分配

 属主的权限:用于限制文件或目录的创建者  属组的权限:用于限制文件或目录所属组的成员  其他用户的权限:用于限制既不是属主又不是所属组的能访问该文件或目录

的其他人员

 权限的优先顺序

 如果UID匹配,就应用用户属主(user)权限  否则,如果GID匹配,就应用组(group)权限  如果都不匹配,就应用其它用户(other)权限

4、查看文件/目录的权限:

#ls -l

 在显示的结果中,第一个字段的第 2~10 个字符是用来表示权限。  这 9 个字符每 3 个一组,组成 3 套 权限控制

 第一套控制文件所有者的访问权限

 第二套控制所有者所在用户组的其他成员的访问权限  第三套控制系统其他用户的访问权限

每个用户都拥有自己的专属目录(主目录),通常放置在 /home 目录下,这些专属目录的默认权限通常为: drwx------

常见的权限字符串及其含义:

二、实验过程:

1、图形界面法对权限管理(略): 2、文字界面对权限管理: 1)设置权限chmod命令:  文字设定法

 使用字母和操作符表达式来修改或设定文件的访问权限  chmod [-R] <文字模式> <文件或目录名>

 数值设定法

 使用八进制数字来设定文件的访问权限

 chmod [-R] <八进制模式> <文件或目录名>

文字设定法:

语法:chmod [who] [+\\-\\=] [mode] [文件名或目录名] 选项说明:

u:表示所有者,即文件或目录的所有者。

g:表示用户组,即与文件属主有相同ID的所有用户。 o:表示其他用户。 a:表示所有用户。 +:添加某个权限。 -:取消某个权限。

=:赋予给定权限并取消原先权限。 r:可读。 w:可写。 x:可执行。 -:无权限。

在一个命令行中可给出多个权限方式,其间用逗号隔开。 应用实例:

#touch /root/a #ls –l /root/a

#chmod u+w /root/a //添加所有者对文件的写入权限 #ls –l /root/a

# chmod u-r /root/a //取消所有者对文件的读取权限 #ls –l /root/a

# chmod g=w /root/a //重新分配用户组对文件有写入的权限 #ls –l /root/a

# chmod u+rw,g+r,o+rwx /root/a //更改文件的权限,文件所有者读取、写入权限,用户组有读取权限,其他用户有读取、写入和执行的权限。 #ls –l /root/a

数字设定法:

chmodn1n2n3文件或目录名  使用三个数字模式来表示,分别代表用户(n1)、同组用户(n2)和其它用户(n3 )

的访问权限。

 每个数字模式(n1|n2|n3)由不同权限所对应的数字相加得到一个表示访问权限的八

进制数字。

使用数字设定法更改文件权限,首先必须了解数字表示的含义:0表示没有权限;1表示可

执行权限;2表示写入权限;4表示读取权限,然后将其相加。所以数字属性的格式应为3个0-7的8进制数,其顺序是u,g,o。

举例说明:

应用实例:

# chmod 777 /root/a //设定所有用户拥有读取权限,用户组有读取、写入和执行的权限。

2)更改文件和目录的所有权:文件和目录的创建者默认就是具有所有权,他们对该文件和目录具有任何权限,可以进行任何 操作,他们也可以将所有权交给别的用户,使别的用户对该文件和目录具有操作权限。

一、chown命令:更改文件和目录的所有者和用户 语法:chown [-R] [用户组] [文件名或目录名] 说明:

-R:将下级子目录的所有文件和目录的所有权一起更改。 应用举例:

# chown it /root/a // 修改文件的所有者为it(前提:it用户要存在)

# chown .groupit /root/a // 修改文件用户组为groupit(前提:用户组groupit要存在) # chown root.root /root/a // 将文件所有者和用户组一起改为root。 #chown -R soft mydir //将目录mydir连同它的下级子目录、文件的所有者和用户组一起改为soft。

二、chgrp 命令:改变文件或目录所属的组

语法:chgrp [-R] [用户组] [文件名或目录名] 应用举例(略):

3)设置文件和目录的生成掩码:创建新文件或新目录时,系统都会为它们指定默认的访问权限,这个缺省的访问权限就由 umask 值来决定;用户可以使用 umask 命令设置文件的默认生成掩码。默认生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限;系统不允许用户在创建一个普通文件时就赋予它可执行权限,必须在创建后用 chmod 修改。目录则允许设定可执行权限。 umask命令:

语法:umask [-S] [u1u2u3]

说明:u1表示的是不允许属主有的权限;u2表示的是不允许同组人有的权限;u3表示的是

不允许其他人有的权限。

 RHEL/CentOS默认的 umask 值

 普通用户的 umask 是 002  root用户的 umask 是 022

 常见 umask 值与新建文件/目录的权限对应表

应用举例:

# umask // 查看当前用户的默认生成掩码 例子1:同组用户有写的权限 # umask 002 # touch ff002 #mkdir dirff002 #ll ff002

#ll –d dirff002

例子2:不允许同组用户有写的权限 # umask 022 # touch ff022 #mkdir dirff022 #ll ff022

#ll –d dirff022

4)使用ACL权限:

Linux是通过用户、组合他人与读、写、执行的不同组合来实现权限的设置,这种设置方式具有局限性,假设/data的权限为:drwxr-x---,所有者与所属组均为root,在不改变所有者的前提下,要求用户root对该目录tom(tom不属于root组)对该目录有完全访问的权限(rwx),只能考虑两种办法:1、给/data的其他人增加rwx权限,这样tom归属其他人;2、将tom归入root组,给root组分配rwx权限。这两种方法都导致管理麻烦。

Linux开发了文件访问控制列表(ACL),ACL给予用户和管理员更灵活的控制文件读写和权限赋予的能力。在RHEL/CentOS中由 ACL软件包提供: getfacl – 获取文件的FACL信息 getfacl

setfacl – 设置文件的FACL信息 一、setfacl命令:设置ACL权限

语法:

setfacl [-R] {-m|-x}

说明:

 -R选项用于对目录进行递归操作  -m选项表示修改ACL权限  -x选项表示删除ACL权限  rules为要设置的ACL规则

二、getfacl命令:查看ACL权限 三、实验结束要求:

1、任务:完成P131例子 2、填写实验报告。

3、熟练掌握本节课操作过程。

因篇幅问题不能全部显示,请点此查看更多更全内容