Linux第三次周总结

发布时间 2023-10-22 19:36:48作者: 计科2班欧阳钱鹏

第四章 文件权限

4.1 基本权限UGO

U:owner,属主。G:group,属组。O:other,其他用户。Linux系统通过U、G、O将用户分为三类,并将这三类用户分别设置三种基本权限,这种设置权限的方式称作UGO方式。

r:read(读取),数字设定为4。w:write(写入),数字设定为2。x:execute(执行),数字设定为1。其中,owner的权限为“rw-”,数字可表示为4+2=6;group的权限为“r--”,数字可表示为4;other的权限也为“r--”,数字可表示4。

4.1.1 设置文件属性与权限

三个常用的修改权限命令,具体如下:

chown:修改文件属主、属组。chgrp:修改文件属组。chmod:修改文件权限。

创建文件,查看文件当前的属主,使用chown命令修改文件的属主,将文件属主root改为qfedu。修改属主的同时也可以修改属组,只需在属组与属主之间加入“.”或“。”。若只需要更改文件的属组而不需要更改属主,使用chgrp命令即可。若要将目录下的所有子目录或文件同时修改属组或属主,只需在chown与chgrp命令后添加“-R”参数即可。修改文件权限使用chmod命令,设置权限的方式有两种,一种为符号,一种为数字。符号修改权限是使用u、o、g这三个符号代表属主、属组、其他用户这3种身份,a代表全部身份,r、w、x符号代表读、写、执行,通过赋值符增加、删除、覆盖文件权限。

chown:Linux系统中用来改变某个文件属性的命令。

chmod:Linux系统中用来改变某个文件的访问模式的命令。

4.1.2 UGO权限设置案例

r(读取) 可读取文件内容 可列出目录的内容(文件名)

w(写入) 可修改文件内容 可创建或删除目录中的任一文件

x(执行) 可将文件作为命令执行 可访问目录的内容

r、w、x对文件的影响:要在文件中写入“date”,查看文件权限为644.普通用户只有读取权限。在root用户下,使用chmod命令给other身份增加执行权限“x”与写入权限“w”.

r、w、x对目录的影响:普通用户对目录没有写入权限。

文件与目录的权限区别:在root用户下,可以修改目录与文件,而普通用户对目录有写入权限,可以在目录中创建新文件,可以删除目录中的文件,对文件没有如何权限。

4.2 基本权限ACL

UGO权限只针对一个用户、一个组与其他用户,使用上有局限性,ACL主要提供传统的UGO的r、w、x权限之外的具体权限设置,可以对单一用户、单一文件或目录进行权限设置。

4.2.1 ACL基本用法

创建一个文件,使用getfacl命令查看ACL权限;setfacl命令可以设置ACL权限,对每一个文件或目录进行更精确的权限设置,添加“-m”可以修改当前文件ACL权限。当给普通用户增加“-”权限,如果使用ll查看,会错误地认为普通用户为其他用户,有读取权限,但使用getfacl命令查看发现普通用户并不属于其他用户,权限变成“对文件没有任何权限”。添加“x”参数可以删除用户对文件的所有权限,添加“b”参数可以删除所有扩展ACL权限,回到UGO的基本权限。

4.2.2 ACL高级特性

最大有效权限mask:mask用来指定最大有效权限。系统给用户赋予的ACL权限需要和mask的权限逻辑“相与”,“相与”之后的权限才是用户的真正权限。

mask的作用和特性:mask能临时降低用户或组(除owner和other)的权限,而不是如“setfacl-b”命令删除所有权限。只要有任何ACL权限设置,mask会自动还原。

default:继承

4.3 高级权限

普通用户可以修改密码,普通用户运行的是/usr/bin/passwd文件,最终修改的是/etc/shadow文件。然而/etc/shadow文件只有root用户可以修改。

4.3.1 SUID权限

使用ll命令查看/usr/bin/passwd文件,第一行的第四个字符为“s”。“s”表示特殊权限SUID。普通用户可以通过SUID提权,使用chmod命令给user增加SUID权限,切换到alice用户下,可查看/root/file01.txt.