迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Linux/Unix 中更改文件夹和目录的权限

作者:迹忆客 最近更新:2023/03/17 浏览次数:

文件权限系统是 Linux 操作系统的基本安全元素之一。

这些功能允许我们调整文件权限和访问模式。我们提供基于适当权限的权限,以避免在用户未获得对文件和文件夹的适当访问权限时可能出现的漏洞。

Unix/Linux 系统中的文件所有权

在 Unix/Linux 系统中,文件和目录的所有权分为三种类型。文件的分配所有者有权根据它收到的权限对其进行更改。

  • 所有者权限:文件所有者的权限指定文件所有者可以执行的功能。由于创建文件的用户成为其所有者,因此用户也称为所有者。
  • 按组划分的权限:组的权限决定了如果用户是该组的成员,他们可以对文件执行哪些活动。
  • 附加权限:其他用户的权限定义了他们可以对文件执行的操作。

每个文件最初都有三个访问选项。它们如下:

  • Read (r):它允许你检索文件的内容,但不能写入它们。它将使你能够接收在目录中找到的文件和目录的列表。
  • Write (w):它使你能够向文件添加新数据或更改现有数据,以及创建和修改文件和目录。
  • Execute (x):如果程序没有执行标志,则无法运行。为所有程序和脚本设置此属性。系统使用它来确定文件是否应该作为程序启动。

在 Linux 中查看文件权限

当然,你可以使用 Linux 上的文件管理器来搜索文件权限。它们都支持此功能,但你将通过这种方式收到部分信息。

使用带有 -l 参数的 ls 命令来获取所有标志的完整详细信息。将显示目录中的所有文件,以及它们的属性和位。

在存储文件的文件夹中运行以下命令以查找 Linux 文件的权限:

$ ls -l

我在其中创建了一个文件夹和两个文件,testtestfile

输出:

total 0
-rw-rw-r-- 1 user user 0 Jan 14 01:00 test
-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile

第一列表示各种访问模式或与文件或目录相关的权限。然后是权利组,首先是所有者,然后是组,然后是其他所有人。

让我们仔细看看权限标志的条件值是什么意思:

  • --- - 完全没有权利;
  • --x - 仅允许文件作为程序执行,但不能更改或读取;
  • -w- - 只允许写入和修改文件;
  • -wx - 允许修改和执行,但在目录的情况下,你无法查看其内容;
  • r-- - 只读权限;
  • rx - 只能读取和执行,没有写入权限;
  • rw- - 读写权限,但不能执行;
  • rwx - 所有权利;
  • --s - 当设置 SUIDSGID 位时,所有者的 SUID 显示在字段中,而组的 SGID 显示在字段中;
  • --t - 设置了 sticky-bit,这意味着用户不能删除这个文件。

更改 Unix/Linux 系统中的文件权限

chmod 是一个更改模式命令,用于更改文件或目录的权限。chmod 的两种使用方式是符号模式和绝对模式。

在符号模式下使用 chmod

符号模式是学习者调整文件或目录权限最直接的方法。

使用下表中的运算符,你可以添加、删除或指定你想要的具有符号权限的权限集。

chmod 运算符 描述
+ 指定的权限被添加到文件或目录。
- 删除文件或目录的指定权限。
= 设置指定用户的权限。

让我们看一个例子。在测试中运行 ls -l 时,你会看到权限如下:

$ ls -l test

输出:

-rw-rw-r-- 1 user user 0 Jan 14 01:00 test

然后在测试中运行上表中的每个示例 chmod 命令,然后运行 ​​ls -l 以查看权限更改。

$ chmod o+wx test
$ ls -l test

这里,o 表示其他用户,w 表示写入,x 表示执行。 + 用于将指定的权限添加到 test 文件。

输出:

-rw-rw-rwx 1 user user 0 Jan 14 01:00 test

我们可以看到上面两个输出的差异。 -rw-rw-r-- 更改为 -rw-rw-rwx。上述命令为其他用户添加了 rw 权限。

在 Linux 中更改组和所有者

当他们在 Unix 上创建一个帐户时,每个用户都会被赋予一个所有者 ID 和一个组 ID。以上所有权限也是根据所有者和组分配的。

更改组和所有者主要有两个命令。

  • chownchown 命令,代表 change owner,用于更改文件的所有者。
  • chgrpchgrp 命令,代表 change group,用于更改文件的组。

使用的权限组是:

  • u – 所有者
  • g - 组
  • o - 其他
  • a - 所有用户

在 Linux 中更改所有权命令

chown 命令用于更改文件的所有权。

以下是基本语法:

$ chown [name] [filename]

系统用户的名称或系统用户的用户标识(UID)可以作为用户的值。

同样,要更改文件的组所有者:

$ chgrp [group_name] [filename]

在 Linux 的绝对模式下使用 chmod

文件权限也可以用数字代码更改。接入方式的等效数字代码如下:

数字 访问模式
0 ---
1 -x
2 -w-
3 -wx
4 r-
5 r-x
6 rw-
7 rwx

例如,chmod 711 filename 授予所有者所有权限,而所有其他用户仅授予执行权限。

让我们看看文件 testfile 的权限。

$ ls -l testfile

输出:

-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile

现在,使用带有 chmod 的数字代码。

$ chmod 711 testfile
$ ls -l testfile

输出:

-rwx--x--x 1 user user 0 Jan 14 01:00 testfile

如输出所示,文件权限已更改。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 CentOS 中获取 IP 地址

发布时间:2023/05/04 浏览次数:108 分类:操作系统

这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。

在 Linux 中更新 YUM

发布时间:2023/05/04 浏览次数:82 分类:操作系统

本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。

在 Linux 中安装 Deb 文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。

Linux 中的 lsof 命令

发布时间:2023/05/04 浏览次数:82 分类:操作系统

在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。

Linux 中的 ps aux 命令

发布时间:2023/05/04 浏览次数:69 分类:操作系统

本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。

Linux 中的 NTP

发布时间:2023/05/04 浏览次数:137 分类:操作系统

本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。

在 Bash 中创建进度条

发布时间:2023/05/04 浏览次数:164 分类:操作系统

这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便