菜鸟学Linux命令:chmod命令和数字文件权限

简介:

chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数。
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式,符号模式指定文件的权限。

※命令格式

chmod [options] mode files

mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。

八进制语法
chmod命令可以使用八进制数来指定权限。

文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。

历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

chmod的八进制语法的数字说明:

r 4  w 2  x 1 - 0

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7。

用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是4+2+0 ,应该是6。

其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是4+0+1 ,应该是5。

※参数选项

-c,--changes
只输出被改变文件的信息
-f,--silent,--quiet
当chmod不能改变文件模式时,不通知文件的用户
-R,--recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename
参照filename的权限来设置权限
-v,--verbose
无论修改是否成功,输出每个文件的信息
--version
输出版本信息。

 

who
u 用户
g 组
o 其它
a 所有用户(默认)

opcode
+ 增加权限
- 删除权限
= 重新分配权限

permission
r 读
w 写
x 执行
s 设置用户(或组)的ID号
t 设置粘着位(sticky bit),防止文件或目录被非属主删除
u 用户的当前权限
g 组的当前权限
o 其他用户的当前权限

 

※相关命令

chown命令,chown 修改文件和文件夹的用户和用户组属性,chmod 修改文件和文件夹读写执行属性。

su和sudo命令,使用 su 命令临时切换用户身份,sudo允许系统管理员让普通用户执行一些或者全部的root命令。

※场景范例

chmod u+x file     给file的属主增加执行权限

chmod 751 file     给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
chmod =r file     为所有用户分配读权限
chmod -R u+r directory   递归地给directory目录下所有文件和子目录的属主分配读的权限
chmod 4755   设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

 

>>Linux 数字文件权限解析

Linux下,查看某路径下用(ls -l)查看所有文件的详细属性列表时,会看到文件的操作权限,类似“drwxr-xr-x”的字符串。

这串字符可以分成4段理解,结构为“d + 文件所有者操作权限 + 文件所有者所在组操作权限 + 其余人的操作权限”:

1,第一段:例子中字母“d”,表示文件所在目录

2,第二段:例子中字符串“rwx”,表示文件所有者对此文件的操作权限

3,第三段,例子中字符串“r-x”,表示文件所有者所在组对些文件的操作权限

4,第四段,例子中字符串“r-x”,表示除2、3两种外的任何人对此文件的操作权限

通常用三个数字来表示文件的读取、写入、执行权限:

执行:1

写入:2

读取:4

随便写个数字:755,这个3位数分别对应前面所说的分段:7对应第二段,5对应第三段,5对应第四段。

如果可读,权限是二进制的100,十进制是4;
如果可写,权限是二进制的010,十进制是2;
如果可运行,权限是二进制的001,十进制是1;

含义:

7:表示文件所有者的权限,4+2+1=7,即文件所有者对该文件有生杀大权,读、写、执行随便。

5:表示文件所有者所在组的权限:4+1=5,即文件所有者所在组对文件有读、执行权限,没有写权限。

5:同上,其余人对该文件只有读、执行权限,没有写权限。

 


本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/4276412.html,如需转载请自行联系原作者

相关文章
|
21天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
91 16
|
13天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
3月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
660 13
|
4月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
538 21
|
4月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
385 0
|
4月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
253 13
|
2月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
114 0
|
2月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
4月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。