如何在 Linux 中更改文件权限

Suraj Joshi 2023年1月30日
  1. 查看 Linux 文件的权限
  2. chmod 命令改变文件/目录的权限
如何在 Linux 中更改文件权限

Linux 是一个我们可以拥有多个用户的操作系统。所以,我们需要管理 Linux 中文件的访问权限。如果一个用户没有访问和编辑文件的权限,有时我们可能会得到 Permission denied error。我们可以使用 chmod 命令行工具来更改 Linux 中的文件权限。

查看 Linux 文件的权限

要查看当前工作目录中所有文件和目录的权限,我们使用 ls -l 命令。

ls -l

输出:

-rw-rw-r-- 1 zeppy zeppy 123 Oct  4 20:47 1.sh
-rw-rw-r-- 1 zeppy zeppy  46 Sep 30 20:36 file.txt

每个文件开头的部分代表了该位置中每个特定文件的权限。在输出中,-rw-rw-r-- 代表文件权限。

  1. 开头的 - 代表内容是一个文件。
  2. rw- 代表用户的权限。
  3. rw- 代表用户组的权限。
  4. “r–“表示其他用户的权限。

r 代表读权限,w 代表写权限,x 代表执行权限,- 代表无权限。

如输出所示,usergroup 只有读和写权限,没有执行权限,而 others 对当前工作目录下的文件都只有读权限。

chmod 命令改变文件/目录的权限

语法

chmod permissions filename

这里,permissions 代表我们要设置的权限,filename 代表要设置权限的文件名。

我们可以使用绝对模式或使用符号模式来表示权限。

示例:使用 chmod 命令设置文件权限

chmod 760 file.txt

它将文件 file.txt 的读、写和执行权限设置为所有者或用户,将读和写权限设置为用户组,将其他用户的权限设置为无。这里,权限使用绝对模式表示。

chmod u=rwx,g=rw,o=--- file.txt

它将读、写、执行权限设置为所有者或用户,将读、写权限设置为用户组,将无权限赋给其他用户,使用符号模式。

例子:使用 chmod 命令为目录设置权限

要设置一个目录内所有文件的权限,我们使用 chmod 命令和 -R--recursive 选项。

chmod -R 760 testdir

它将目录 testdir 的读、写、执行权限设置为所有者或用户,将读、写权限设置为用户组,将其他用户的权限设置为无,采用绝对模式。

chmod -R u=rwx,g=rw,o=--- testdir

它使用符号模式将目录 testdir 的读写权限设置为所有者或用户,将读写权限设置为组,而对其他用户权限设置为无权限。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相关文章 - Linux File