Linux/Unix 中的文件权限:如何读取、写入和更改?
Linux 是 UNIX 的克隆版本,UNIX 是多用户操作系统,可同时供多个用户访问。Linux 也可以在大型机和服务器上使用,无需任何修改。但这会引发安全问题,因为未经请求或恶意的用户可能会破坏、更改或删除关键数据。为了实现有效的安全,Linux 将授权分为两个级别。
- 所有权
- 允许
Linux文件的概念 允许 和 所有权 在 Linux 中至关重要。在这里,我们将解释 Linux 权限和所有权,并讨论它们。让我们从 所有权。
点击 点击这里 如果视频无法访问
Linux 文件所有权
Unix/Linux 系统上的每个文件和目录都被分配了 3 种类型的所有者,如下所示。
用户
用户是文件的所有者。默认情况下,创建文件的人成为其所有者。因此,用户有时也称为所有者。
团队
一个用户组可以包含多个用户。属于一个组的所有用户将具有相同的 Linux 组权限来访问该文件。假设您有一个项目,其中许多人需要访问一个文件。您可以将所有用户添加到一个组中,并为文件分配组权限,这样只有该组成员才能读取或修改文件,而其他任何人都不能读取或修改文件,而不是手动为每个用户分配权限。
其他
任何其他有权访问文件的用户。此人既未创建文件,也不属于可以拥有该文件的用户组。实际上,这意味着其他所有人。因此,当您为其他人设置权限时,也称为为所有人设置权限。
现在,最大的问题是 Linux 区分 在这三种用户类型之间建立权限,以便用户“A”无法影响包含其他用户“B”重要信息/数据的文件。这就像你不想让你的同事在你的计算机上工作一样 Linux电脑,查看您的图片。这是 权限 开始,他们定义 用户行为.
让我们了解 权限系统 在Linux上。
Linux 文件权限
UNIX/Linux 系统中的每个文件和目录都为上面讨论的所有 3 个所有者定义了以下 3 个权限。
- 阅读: 此权限授予您打开和读取文件的权限。目录的读取权限使您能够列出其内容。
- 写: 写权限赋予您修改文件内容的权限。目录的写权限赋予您添加、删除和重命名目录中存储的文件的权限。考虑这样一种情况:您对文件有写权限,但没有存储文件的目录的写权限。您将能够修改文件内容。但您无法重命名、移动或从目录中删除文件。
- 执行: In Windows可执行程序通常以“.exe”为扩展名,您可以轻松运行它。在 Unix/Linux 中,除非设置了执行权限,否则您无法运行程序。如果未设置执行权限,您可能仍可以查看/修改程序代码(前提是设置了读写权限),但无法运行它。
让我们通过示例了解 Linux 中的文件权限:
ls – l 在终端上给出
ls - l
在这里,我们强调了 ‘-rw-rw-r-’这个看起来很奇怪的代码告诉我们赋予所有者、用户组和世界的 Unix 权限。
这里,第一个‘–' 意味着我们已经选择了一个文件。p>
否则,如果它是一个目录, d 将会被展示。
人物很容易记住。
r =读取权限
w =写入权限
x =执行权限
– =没有许可
让我们这样来看这个问题。
代码的第一部分是 ‘rw-’。这意味着‘Home’的所有者可以:
- 读取文件
- 写入或编辑文件
- 由于执行位设置为‘-’,他无法执行该文件。
根据设计,许多 Linux 发行版(如 Fedora、CentOS、 Ubuntu等操作会将用户添加到与用户名同名的组中。因此,用户 'tom' 被添加到名为 'tom' 的组中。
第二部分是 ‘rw-’。 它为用户组‘家庭’和组成员提供以下功能:
- 读取文件
- 写入或编辑文件
第三部分是针对世界,也就是任何用户。它说 ‘r--’。 这意味着用户只能:
- 读取文件
使用“chmod”命令更改 Linux 中的文件/目录权限
假设你不想让你的同事看到你的个人图片。这可以通过更改文件权限来实现。
我们可以使用'修改权限' 命令代表“更改模式”。使用该命令,我们可以为所有者、组和所有人设置文件/目录的权限(读取、写入、执行)。
语法:
chmod permissions filename
有两种方法可以使用 命令 –
- 绝对模式
- 符号模式
Linux 中的绝对(数字)模式
在此模式下,文件 权限不是以字符表示,而是以三位八进制数表示.
下表给出了所有权限类型的数字。
联系电话 | 权限类型 | 图形符号 |
---|---|---|
0 | 没有权限 | - |
1 | 执行 | -X |
2 | 填写 | -W- |
3 | 执行 + 写入 | -wx |
4 | 阅读 | r- |
5 | 读取 + 执行 | RX |
6 | 读+写 | RW |
7 | 读取 + 写入 + 执行 | RWX |
让我们看看 chmod 权限命令的实际作用。
在上面给出的终端窗口中,我们将文件“sample”的权限更改为“764”。
‘764’ 绝对代码说明如下:
- 所有者可以读取、写入和执行
- 用户组有读写权限
- 世界只能读
显示为 '-rwxrw-r--
这就是如何通过分配绝对数字来更改 Linux 中文件的用户权限。
Linux 中的符号模式
在绝对模式下,您可以更改所有 3 个所有者的权限。在符号模式下,您可以修改特定所有者的权限。它使用数学符号来修改 Unix 文件权限。
Opera器 | 描述 |
---|---|
+ |
为文件或目录添加权限 |
– |
删除权限 |
= |
设置权限并覆盖之前设置的权限。 |
各业主代表如下:
用户指代 | |
---|---|
u |
用户/所有者 |
g |
组 |
o |
other |
a |
所有 |
我们不会使用数字(如 755)作为权限,而是使用字符(如 rwx)。让我们看一个例子
在 Linux 中更改所有权和组
要更改文件/目录的所有权,可以使用以下命令:
chown user filename
如果你想更改文件或目录的用户和组,请使用以下命令
chown user:group filename
让我们看看实际效果
如果你只想更改组所有者,请使用命令
chgrp group_name filename
“更改组' 代表变更组。
Tips:
- 文件 /etc/group 包含系统中定义的所有组
- 您可以使用命令“groups”查找您所属的所有组
- 您可以使用命令 newgrp 以默认组以外的组成员身份工作
- 不能有两个组拥有同一个文件。
- Linux 中没有嵌套组。一个组不能是其他组的子组
- x- 执行目录意味着被允许“进入”目录并可以访问子目录
- 您还可以在文件和目录上设置其他权限,这将在后面的高级教程中介绍
概要:
- Linux 作为多用户系统,使用权限和所有权来保证安全。
- Linux 系统上有三种用户类型,即用户、组和其他
- Linux 将文件权限分为读、写、执行,分别用 r、w、x 表示
- 文件的权限可以通过“chmod”命令更改,该命令可以进一步分为绝对模式和符号模式
- “chown”命令可以更改文件/目录的所有权。使用以下命令:chown user file 或 chown user:group file
- ‘chgrp’命令可以更改组所有权 chrgrp 组 文件名
- x – 执行目录 是什么意思?答:允许“进入”目录并可以访问子目录。