shell运行原理-Linux权限详解

泥小猴系统教程网 2025-01-29 13:56:25 40阅读

 

原因就是创建文件或目录的时候还要受到 umask 的影响。假设默认权限是 mask,则实际创建的出来的文件权限是:umask & ~umask

shell运行原理-Linux权限详解 我们也可以通过修改文件的 umask 码值来修改文件的权限: shell运行原理-Linux权限详解

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022,普通用户默认为 0002。

2.5 file 指令

file

功能说明:辨识文件类型。

语法:file [选项] 文件或目录…

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z 尝试去解读压缩文件的内容。

shell运行原理-Linux权限详解 目录权限

面试题:进入一个目录要什么权限?

可读权限: 如果目录没有可读权限,则无法用 ls 等命令查看目录中的文件内容. 可写权限: 如果目录没有可写权限,则无法在目录中创建文件, 也无法在目录中删除文件. 可执行权限:如果没有目录可执行权限,则无法 cd 到目录中
x
r
w
登录后复制 粘滞位

新发现:

 

就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.我创建的一个文件, 凭什么被你一个外人可以删掉

结论:

如果目录本身对 other 具有 w 权限,other 可以删掉任何目录下的东西
如果目录本身对 other 没有 w 权限,other 则不可以删除

 

我们的需求:other 可以在特定的目录下创建文件并写入,但是不想让任何人删除掉自己的文件

这里为了解决这个不科学的问题,Linux 引入了粘滞位的概念

粘滞位

语法:chmod +t 目录名

功能:给目录加上粘滞位

注意:

 

只能对目录设置,一般是限制 other权限的,对设置粘滞位的目录,在该目录下,只能有文件的拥有者和 root 用户可以删除,其他人不能删除

示例:

shell运行原理-Linux权限详解

 

有多个人或者系统会有很多的临时数据,所有的临时文件都放在系统的 /tmp 目录下。所有的权限需要放开,但是只想让文件的拥有者删除自己的文件,这需要设置粘滞位

总结 目录的可执行权限是表示你可否在目录下执行命令。 如果目录没有 – x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目, 即使目录仍然有 – r 读权限 而如果目录具有 – x 权限,但没有 – r 权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限 所以在目录下,即使可以执行 ls 命令,但仍然没有权限读出目录下的文档。

文章版权声明:除非注明,否则均为泥小猴系统网网络收集而来,如有任何问题请联系站长。

目录[+]