Linux
基础知识
01搭建Centos7系统
02软件管理仓库
03Shell
04查看帮助命令
05系统工作命令
06系统状态检测命令
07工作目录切换命令
08文本文件编辑命令
09文件目录管理
10打包压缩与搜索命令
11输入输出重定向
12管道符与通配符
13Vim编辑器
14Shell脚本
15shell流程控制语句
16用户管理操作
17文件权限与归属
18文件隐藏属性
19文件访问控制列表
20su与sudo
21存储结构
22物理设备命名规则
23文件系统
24挂载硬件设备
25虚拟机添加硬盘设备
26系统中操作添加硬盘设备
27添加交换分区
28磁盘容器配额
29软硬方式链接
30RAID
31LVM
32程序安装与管理
33计划任务
34日志文件分析
35测试网络联通性
36FTP服务
37操作系统基本符号
38操作系统三剑客
39shell基础
40shell语法
41DNS
42Apache概述
43Nginx概述
44集群概述
Vmware安装Ubuntu
更换源
-
+
首页
17文件权限与归属
## 文件权限 尽管在 Linux 系统中一切都是文件,但是每个文件的类型不尽相同,因此 Linux 系统使用了不同的字符来加以区分,常见的字符如下所示 | 字符 | 说明 | | ---- | ------------ | | - | 普通文件 | | d | 目录文件 | | l | 链接文件 | | b | 设备文件 | | c | 字符设备文件 | | p | 管道文件 | 在 Linux 系统中,每个文件都有所属的所有者和所有组,并且规定了文件的所有者、所有组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。 对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。 对目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。 文件的读、写、执行权限可以简写为 rwx,亦可分别用数字 4、2、1 来表示,文件所有者,所属组及其他用户权限之间无关联。 > 文件权限的字符与数字表示 | 权限分配 | 所有者 | 所有者 | 所有者 | 所属组 | 所属组 | 所属组 | 其他用户 | 其他用户 | 其他用户 | | -------- | ------ | :----- | :----- | ------ | ------ | ------ | -------- | -------- | -------- | | 权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 | | 字符表示 | r | w | x | r | w | x | r | w | x | | 数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 | 注意:文件权限的数字法表示基于字符表示(rwx)的权限计算而来,其目的是简化权限的表示。 例如,若某个文件的权限为 **7** 则代表可读、可写、可执行(4+2+1);若权限为 6 则代表可读、可写(4+2)。现在有这样一个文件,其所有者拥有可读、可写、可执行的权限,其文件所属组拥有可读、可写的权限;而且其他人只有可读的权限。那么,这个文件的权限就是 rwxrw-r--,数字法表示即为 764。  包含了文件的类型、访问权限、所有者(属主)、所属组(属组)、占用的磁盘大小、修改时间和文件名称等信息。 > 文件的特殊权限 单纯设置文件的 rwx 权限无法满足我们对安全和灵活性的需求,因此便有了 SUID、SGID 与 SBIT 的特殊权限位。这是一种对文件权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实现的功能。 ## SUID SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。 例如,所有用户都可以执行 passwd 命令来修改自己的用户密码,而用户密码保存在etc/shadow 文件中。仔细查看这个文件就会发现它的默认权限是 000,也就是说除了 root 管理员以外,所有用户都没有查看或编辑该文件的权限。但是,在使用 passwd 命令时如果加上 SUID 特殊权限位,就可让普通用户临时获得程序所有者的身份,把变更的密码信息写入到 shadow 文件中。 ‘ 特殊权限后将变成大写的 S  ## SGID 用于让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)和 在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。 SGID 的第一种功能是参考 SUID 而设计的,不同点在于执行程序的用户获取的不再是文件所有者的临时权限,而是获取到文件所属组的权限。 ## chmod 能够用来设置文件或目录的权限 格式:`chmod [参数] 权限 文件或者目录名称` 如果要把一个文件的权限设置成其所有者可读可写可执行、所属组可读可写、其他人没有任何权限,则相应的字符法表示为 rwxrw----,其对应的数字法表示为 760。  ## chown 设置文件或目录的所有者和所属组 格式:`chown [参数] 所有者:所属组 文件或目录名称`  ## SBIT SBIT(Sticky Bit)特殊权限位(也可以称之为特殊权限位之粘滞位),SBIT 特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。 换句话说,当对某个目录设置了 SBIT 粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了。 RHEL 7 系统中的/tmp 作为一个共享文件的目录,默认已经设置了 SBIT 特殊权限位,因此除非是该目录的所有者,否则无法删除这里面的文件。 当目录被设置 SBIT 特殊权限位后,文件的其他人权限部分的 x 执行权限就会被替换成 t 或者 T,原本有 x 执行权限则会写成 t,原本没有 x 执行权限则会被写成 T。  注意:文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限 如果想对其他目录来设置 SBIT 特殊权限位, chmod 命令就可以,对应的参数 o+t 代表设置 SBIT 粘滞位权限  ## 特殊权限-sticky 只作用于目录,目录下创建的文件只有root、文件创建者、目录所有者才能删除。 对系统中的某些目录可以授予这样的权限,此时该目录就遵循该权限规则,如系统中的/tmp目录:  ## 特殊权限ACL 可作用于文件及目录,针对文件和目录授予单个用户的rwx权限。 使用方法:用户test既不是属主也不是属组,但是需要允许用户test能够对该对象有rwx的权限,其他用户无权限。 **示例:** - setfacl -R -m d:u:test:rwx test //文件夹 - setfacl -m u:wangwu:rwx test //文件 **参数解读** | 参数 | 作用 | | ---- | ------------------------ | | -R | 递归授权 | | -m | 修改acl权限 | | d | 只对后续新对象继承该权限 | | u | 表用户 | | test | 表示授权用户的名称 |
毛林
2025年9月12日 20:44
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码