linux的chmod的数字太难记了,用u, g, o, a更简单!

u, g, o, 和 a是用来设置或查看文件或目录权限在类Unix或Linux系统中的特殊字符,它们分别代表文件或目录的所有者(user)、所属组(group)、其他用户(others)和所有用户(all users)。

而权限方rw是其中的两种,分别代表读权限(read)和写权限(write)。除此之外还有执行权限 x

  • r(read): 读权限,允许读取文件内容或目录内容列表。读权限(r)的数字值是4 。
  • w(write): 写权限,允许修改文件或目录内容。写权限(w)的数字值是2 。
  • x(execute): 执行权限,允许执行文件或进入目录。执行权限(x)的数字值是1 。

下面是一些使用这些权限字符的命令示例:

给文件所有者增加执行权限:

bash 复制代码
chmod u+x filename

所有者和所属组增加读和写权限:

bash 复制代码
chmod ug+rw filename

撤销其他用户的所有权限:

bash 复制代码
chmod o-rwx filename

给所有用户增加读权限:

bash 复制代码
chmod a+r filename

给所属组设置读和执行权限(移除写权限):

bash 复制代码
chmod g=rx filename

同时设置所有者和所属组的执行权限,其他用户无任何权限:

bash 复制代码
chmod ug+x,o= filename

给所有用户设置所有权限(读、写、执行):

bash 复制代码
chmod a+rwx filename

细讲:chmod ug+x,o= filename 这个 o= 是什么意思?

chmod 命令中,o= 意味着为 其他用户(others) 设置的权限将被清空。也就是说,不会为其他用户(不是文件所有者,也不是文件所属组的成员的用户)授予任何权限。

chmod ug+x,o= filename 这个命令的含义是:

  • ug+x:对于文件(或目录)的 所有者(user)所属组(group) 添加执行(x)权限。
  • o=:移除其他用户(o,即除了所有者和所属组之外的用户)的所有权限,如果其他用户之前有任何读(r)、写(w)或执行(x)权限,这些都会被移除。

执行这个命令后,文件所有者和所属组成员将可以执行这个文件,而其他用户则没有任何权限(无法读取、写入或执行)。

细讲:chmod o-rwx filename 和 chmod o= filename 是否是一样的?

是的一样的,chmod o-rwx filenamechmod o= filename 都是用于移除对文件或目录的**其他用户(others)**的所有权限,即读(r)、写(w)和执行(x)权限。两者的效果是相同的:

  • chmod o-rwx filename:显式地移除其他用户的读(r)、写(w)和执行(x)权限。
  • chmod o= filename:设置其他用户的权限为空,这意味着删除所有设置的权限,结果同样是没有任何读(r)、写(w)和执行(x)权限。

执行这两个命令之后,文件将不再对"其他用户"开放任何权限,只有文件所有者(u)和所属组(g)的成员才可能有权限,视他们原来被设定的权限而定。

相关推荐
xlntj1 小时前
VsCode远程连接服务器后安装Github Copilot无法使用
服务器·vscode·github
Nejosi_念旧9 小时前
git报错解决:ssh: connect to host github.com port 22: Connection refused
git·ssh·github
大千AI助手15 小时前
GitHub Copilot:AI编程助手的架构演进与真实世界影响
人工智能·深度学习·大模型·github·copilot·ai编程·codex
xuanerya15 小时前
使用 SSH 方式克隆 GitHub 仓库没有权限解决办法
运维·ssh·github
希尔伯特旅馆20 小时前
Tushare:量化投资数据获取
github
海绵不是宝宝8171 天前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github
黑客飓风1 天前
当GitHub宕机时,我们如何协作?
github·notepad++
mit6.8242 天前
[Git] 如何拉取 GitHub 仓库的特定子目录
git·github
用户466537015052 天前
如何在 IntelliJ IDEA 中可视化压缩提交到生产分支
后端·github
用户466537015052 天前
git代码压缩合并
后端·github