43. 文件权限 - 符号 & 数字模式,指定用户 ID、指定组 ID

开篇词

我们可以通过查看一个文件的模式位来确定其权限。
 

模式位结构

文件以及目录的模式位结构:

选项用途
r读权限
w写权限
x执行权限

目录和文件的权限

我们来看一下新建文件和目录的默认权限:

touch mode_bits_file
mkdir mode_bits_dir
ll | grep 'mode_bits*'

目录权限

正如我们在以下表格中所见,目录是:

  • 用户可读、可写以及可执行的,用户叫 root
  • 组可读、可执行的,root 组里的所有用户;
  • 其他人可读、可执行的,其他用户。
用户其他人
rwxr-xr-x

在没有可执行权限的情况下,我们无法访问目录。
在没有可写权限的情况下,我们无法对目录进行添加或删除文件的操作。

文件权限

正如我们在以下表格中所见,文件是:

  • 用户可读、可写以及可执行的,用户叫 root
  • 组可读的,root 组里的所有用户;
  • 其他人可读的,其他用户。
用户其他人
rw-r‑‑r‑‑

 

字母模式位

我们可以为用户、组、其他人以及任何在字母模式里的用户设置权限。

权限分配

我们可以将读、写、执行权限分配给文件所有者、文件所属组、其他人或任何一个通过加号等号操作符来分配权限的用户,或通过减号来将用户权限删除。

用户操作权限
ugoa+‑=rwx
用户

一共有四种用户:文件所有者、文件所属组、其他人、所有人:

用户用途
u文件所有者
g文件所属组
o任何其他用户
a所有用户,等价于 ugo
操作

一共有三种行为:追加、删除、分配:

操作用途
+追加权限至用户
-删除用户权限
=分配权限给用户
权限

一共有三种权限:分别为读、写、执行:

权限用途
r可读或可查看权限
w可写或可编辑权限
x可执行或可运行权限

权限复制

我们可以将加号之后的用户权限追加至加号之前的用户权限:

复制目标操作复制源
ugoa+ugoa

特殊模式位变更

设置用户与组编号模式位
用户操作复制源
uga+‑s
目录的影响

如果一个目录设置了组编号,则该目录内创建的文件属于该目录的组,但用户编号的设置并不见效。该目录内创建的自目录继承父目录所属的组并继承特殊模式位设置组编号。

程序或文件的影响

如果一个程序设置了用户编号,任何对其进行执行操作的人都将是其所有者。如果一个程序设置了组编号,那无论谁对其进行执行操作,运行时组始终是应用所属的组。

设置限制删除标志或粘滞位

如果我们不想其他用户对我们创建的文件做删除操作;则我们可以为其所处的目录权限添加一个叫粘滞位的特殊模式位

用户操作标志
o(可选)+‑=t

处在被标记目录中的文件只能被 root 用户、目录所有者以及文件所有者删除。

进行多重变更

我们可以使用逗号来将更改权限的多个行为区分开:

u+r,g+w,o-x    # 所有者可读,组可写,其他人可执行

 

数字模式

Linux 还给我们另一种更快的用户权限变更方式。我们可以指定一个范围内的数字以体现其所对应的权限。一个完整的数字模型有四个数字。

特殊模式位

第一个数字体现的是一个特殊模式位:

模式模式位
4000设置用户编号
2000设置组编号
1000限制删除标志或粘滞位

文件所有者

第二个数字体现的是文件的所有者:

模式模式位
0400所有者可读或可查看
0200所有者可写或可编辑
0100所有者可执行或可访问

通常只显示为 400、200 以及 100。

文件所处组

第三个数字体现的是文件的所属组:

模式模式位
0040所属组用户可读或可查看
0020所属组用户可写或可编辑
0010所属组用户可执行或可访问

通常只显示为 40、20 以及 10。

其他

第四个数字体现的是其他用户:

模式模式位
0004其他用户可读或可查看
0002其他用户可写或可编辑
0001其他用户可执行或可访问

通常只显示为 4、2 以及 1。

在使用时,通常不显示前置的零。下一篇,我将向你展示如何使用以上列出的绝大部分模式位。
 

我所撰写的英文版本

43. File Permissions - Symbolic & Numeric Modes, Setuid & Setgid
 

引用

参见

上一篇:

想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值