发布于 2026-01-06 0 阅读
0

更改 Linux 权限 更改 Linux 系统中的权限 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

更改 Linux 权限更改 Linux 系统中的权限

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

在上一篇文章中,我们探讨了Linux 系统中的权限

如果你还没有阅读上一篇文章,我强烈建议你先阅读最后一篇文章。

现在,我们来学习如何在 Linux 系统中更改权限。

1.chmod命令

chmod代表更改文件模式,用于更改文件/目录的权限。

任何人都可以更改文件/目录的权限吗?

不,只有所有者或root用户(超级用户)才能更改文件/目录权限。

我们可以通过两种方式更改模式(权限)。

  1. 绝对模式
  2. 符号模式

绝对模式:

在绝对模式下,我们使用八进制数字来表示所有者、组和其他人的权限。

好的,但是你说的八进制数是什么意思呢?

八进制是一种用于在计算机上表示数字的数字系统。

八进制中,计数使用 0 到 7 之间的数字。

八进制数 权限类型 象征
0 未经许可 ---
1 仅执行 --x
2 仅写入 -w-
3 编写并执行 -wx
4 只读 r--
5 读取并执行 处方药
6 阅读和写作 rw-
7 读取、写入和执行 rwx

我们来看一下语法。chmod

chmod 语法

要更改文件/目录的模式,我们只需使用chmod上表中的模式之一以及文件/目录即可。

chmod 示例

在上面的例子中,我们使用命令ls -l hello.txt检查了所有者、组和其他用户的当前权限,发现所有者具有读写 (rw-) 权限,组也具有读写 (rw-) 权限,而其他用户具有只读 (r--) 权限。

如果为了提高安全性,我们想将该组的权限更改为只读,而保持其他权限不变,该怎么办?

chmod-update-permission

我们使用了该命令chmod 644 hello.txt

chmod表示命令更改模式,
644表示读写、只读和只读权限,
hello.txt表示我们要更改权限的文件的名称。

现在我们已经了解了如何使用chmod命令,接下来让我们看看一些最常用的模式。

模式 文件属性 模式的含义
777 rwxrwxrwx 没有权限限制。通常来说,这不是一个好的设置,因为任何人都可以更改和执行您的文件。
700 rwx------ 所有者拥有完全访问权限。其他任何人都没有权限。如果我们想将文件和目录设为私有,此设置非常有用。类似地,我们可以将权限设置为 600 来控制非可执行文件。
644 rw-r--r-- 所有者可以读取和写入文件,而其他所有用户只能读取文件。如果只有所有者才能修改文件,则此设置非常有用。
666 rw-rw-rw- 所有用户都可以读取和写入该文件。如果您有一些常用的文件,此设置非常有用。

现在,我们来看第二种改变模式的方法。

符号表示法

符号表示法分为三个部分。

  • 这项变化将影响哪些人?

与符号表示法中的绝对模式不同,我们实际上可以指定哪些人应该受到此更改的影响。

u代表用户(所有者)
g代表组
o代表其他
a代表所有(即ugo

  • 将执行哪项操作

+表示添加权限的操作;
-表示删除权限的操作;
=表示设置权限并替换先前权限的操作。

  • 将设置哪些权限

r表示读取权限;
w表示写入权限
x;表示执行权限

让我们分别举例说明每项操作。

  • 添加权限

添加权限

在上面的例子中,我们使用命令chmod u+x hello.txt将可执行权限添加到所有者。

chmod表示更改模式的命令;
u表示用户(所有者)
+;表示添加权限
x;表示可执行权限

  • 移除权限

移除权限

在上面的例子中,我们使用命令chmod o-r hello.txt从 Other 中删除了只读权限。

chmod表示更改模式的命令
o;表示其他;
-表示移除权限
r;表示读取权限

  • 许可转让

转让许可

在上面的示例中,我们使用命令chmod g=wr hello.txt为组 where 分配了读写权限。

chmod表示更改模式的命令
g;表示组;
=表示权限分配
wr;表示读写权限

注意:如果我们不指定受影响的对象,则默认为所有人。

这一切都与更改文件/目录的权限有关。

现在,我们来看看如何更改文件/目录的所有权和所属组。

chown命令

chown命令用于更改文件的所有者/组。

chown 语法

我们举个例子

chown 示例

在这个例子中,我们可以看到文件hello.txt的所有者和组“yash”

我们来尝试将文件的所有者更改为“root”

由于我们要更改文件的所有权,因此该操作需要 root 权限。

chown-owner

在上面的例子中,我们首先尝试在不使用 root 权限的情况下更改所有权,结果出现了错误。

然后我们使用了命令sudo chown root hello.txt`where`

sudo以超级用户身份执行
chown表示更改所有权命令
root,表示新所有者
hello.txt,表示要受影响的文件。

我们再举一个例子,将所有者改回“yash”,但将组改回“root”。

chown-grp

sudo chown yash:root hello.txt在上面的例子中,我们使用了where命令。

sudo以超级用户身份执行此操作,
chown表示更改所有权命令
yash,表示新所有者
root,表示新组
hello.txt,表示要受影响的文件。

如果我们只是想换个小组呢?

chgrp命令

要使用命令更改组,chgrp我们只需使用chgrp newGroupName fileName

举个例子,我们最近将文件“hello.txt”的组从“yash”更改为“root”。

现在,我们把它改回来。

组示例

chgrp yash hello.txt在上面的例子中,我们使用了where命令。

chgrp表示更改组命令
yash,表示新组
hello.txt,表示要受影响的文件。

以上就是关于在Linux系统中更改权限的全部内容。希望您能理解。

如有任何疑问或建议,请随时告知。

漫画里见🚀

文章来源:https://dev.to/yashsugandh/changing-permissions-in-linux-system-4a2b