简明Linux命令行笔记:chmod
修改文件的权限
chmod [options] who operator permission file-list (符号模式)
chmod [options] mode file-list (绝对模式)
参数
file-list 是chmod需要修改权限的文件名或目录的路径名
说明
Linux中主要有两种改变权限的方法
第一种:使用符号模式,例如:chmod a+x file,此处的a代表所有用户,+代表添加权限,x代表执行权限
第二种:使用绝对模式,例如:chmod 777 file,表示为所有用户添加可读可写可执行权限,三个数值分别对应三种用户类型
符号模式
who 用户类型
who | 用户类型 | 意义 |
u | User | 文件的所有者 |
g | Other | 与文件相关联的组 |
o | Other | 所有其他用户 |
a | All | 相当与ugo,所有用户 |
operator 运算符
operator | 意义 |
+ | 为指定的用户类型添加权限 |
- | 为指定的用户类型删除权限 |
= | 设定或重置指定用户类型的权限 |
permission 模式
permission | 意义 | 对文件含义 | 对目录含义 |
r | 设置读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 设置写权限 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 设置执行权限 | 可以执行文件 | 可以进入目录 |
从上面可以知道,为什么在目录的权限中,r和x经常在一起设置
因为必须进入目录才能读取内容
绝对模式
绝对模式的典型范例
模 式 | 意义 |
777 | 所有用户都对文件具有读、写和执行权限 |
755 | 文件所有者对文件具有读、写和执行权限;组用户和其他用户对文件需有读和执行权限 |
711 | 文件所有者对文件具有读、写和执行权限;组用户和其他用户对文件具有执行权限 |
644 | 文件所有者可以读、写文件;组用户和其他用户可以读文件 |
640 | 文件所有者可以读、写文件;组用户可以读文件;其他用户不能访问文件 |
选项
-c 显示修改过程信息
-f 强制修改权限
-R 对目录递归修改权限
-v 显示修改过后的的信息
示例
chmod u+x
$ ls -l temp -rw-r--r-- 1 siu siu 0 1月 10 13:50 temp $ chmod u+x temp $ ls -l temp -rwxr--r-- 1 siu siu 0 1月 10 13:50 temp
列出文件详细信息,可看到开头有-rw-r--r--,排除第一位,后面的每三位代表一种用户类型,-表示无设置
此处为文件所有者添加执行权限
chmod ug+x
$ ls -l temp -rwxr--r-- 1 siu siu 0 1月 10 13:50 temp $ chmod ug=rwx temp $ ls -l temp -rwxrwxr-- 1 siu siu 0 1月 10 13:50 temp
为文件所有者和组用户添加执行权限
chmod g-x
$ ls -l temp -rwxrwxr-- 1 siu siu 0 1月 10 13:50 temp $ chmod g-x temp $ ls -l temp -rwxrw-r-- 1 siu siu 0 1月 10 13:50 temp
为组用户减去执行权限
chmod 777
$ ls -l temp -rwxrw-r-- 1 siu siu 0 1月 10 13:50 temp $ chmod 777 temp $ ls -l temp -rwxrwxrwx 1 siu siu 0 1月 10 13:50 temp
为所有用户添加可读可写可执行权限
chmod 755
$ ls -l temp -rwxrwxrwx 1 siu siu 0 1月 10 13:50 temp $ chmod 755 temp $ ls -l temp -rwxr-xr-x 1 siu siu 0 1月 10 13:50 temp
为所有者添加读、写和执行权限,组用户和其他用户添加读和执行权限
chmod -Rv 755
$ ls -l 总用量 4 drwxr-xr-x 2 siu siu 4096 1月 10 13:57 dir $ chmod -Rv 755 dir "dir" 的权限模式保留为0755 (rwxr-xr-x)
递归为文件夹添加权限,并显示权限添加信息
Tips
1.文件夹必须先要有执行权限才可读写
2.除了以上基本的用户权限外,还有setuid、setgid和粘滞位等设置,有点高级。俺这里是简明笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构