Linux access 命令实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何在 Linux 系统中管理文件权限和所有权。实验涵盖三个关键主题:理解文件权限、使用 chmod 命令修改文件权限,以及使用 chown 命令更改文件所有权。这些技能对于在 Linux 环境中管理文件和目录的访问至关重要。实验提供了实际示例和逐步指导,帮助你熟练掌握这些基本的 Linux 工具。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chown("Ownership Changing") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/ls -.-> lab-422534{{"Linux access 命令实用示例"}} linux/cat -.-> lab-422534{{"Linux access 命令实用示例"}} linux/chown -.-> lab-422534{{"Linux access 命令实用示例"}} linux/chmod -.-> lab-422534{{"Linux access 命令实用示例"}} linux/sudo -.-> lab-422534{{"Linux access 命令实用示例"}} end

理解 Linux 中的文件权限

在这一步中,你将学习 Linux 中的基本文件权限,以及如何查看和理解这些权限。

在 Linux 中,每个文件和目录都有一组权限,用于确定谁可以读取、写入和执行该文件或目录。这些权限分为三类:所有者(owner)、所属组(group)和其他用户(others)。

要查看文件或目录的权限,可以使用 ls -l 命令。这将以下列格式显示文件权限:

-rw-r--r-- 1 labex labex 0 Apr 12 12:34 example.txt

第一个字符表示文件类型(- 表示普通文件,d 表示目录,l 表示符号链接等)。接下来的九个字符代表权限,其中前三个是所有者权限,中间三个是所属组权限,最后三个是其他用户的权限。

权限由字母 r(读取)、w(写入)和 x(执行)表示。如果未授予某个权限,则显示为短横线(-)。

例如,在上面的输出中:

  • 所有者(labex)具有读取和写入权限(rw-)。
  • 所属组(labex)具有读取权限(r--)。
  • 其他用户具有读取权限(r--)。

你还可以使用 stat 命令查看文件的更多详细信息,包括其权限:

$ stat example.txt
  File: example.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 131074      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-04-12 12:34:56.123456789 +0000
Modify: 2023-04-12 12:34:56.123456789 +0000
Change: 2023-04-12 12:34:56.123456789 +0000
 Birth: -

此输出提供了文件的更多详细信息,包括访问时间、修改时间和更改时间,以及用户和组的所有权。

理解文件权限对于管理 Linux 系统中文件和目录的访问至关重要。

使用 chmod 命令修改文件权限

在这一步中,你将学习如何使用 chmod 命令修改 Linux 中文件和目录的权限。

chmod 命令允许你更改所有者、所属组和其他用户的读取、写入和执行权限。chmod 命令的基本语法如下:

chmod [options] mode file

其中,mode 是新的权限设置。

你可以使用符号模式(symbolic mode)或数字模式(numeric mode)来设置权限。符号模式使用字母表示权限:

  • u 表示所有者(owner)
  • g 表示所属组(group)
  • o 表示其他用户(others)
  • a 表示所有用户(owner、group 和 others)
  • r 表示读取权限
  • w 表示写入权限
  • x 表示执行权限

例如,要给所有者赋予读取和写入权限,所属组赋予读取权限,其他用户无权限,可以使用以下命令:

chmod u=rw,g=r,o= example.txt

数字模式使用一个三位数来表示权限:

  • 第一位数字表示所有者的权限
  • 第二位数字表示所属组的权限
  • 第三位数字表示其他用户的权限

每个数字是以下值的总和:

  • 4 表示读取权限
  • 2 表示写入权限
  • 1 表示执行权限

例如,要将权限设置为 rw-r--r--,可以使用以下命令:

chmod 644 example.txt

尝试使用符号模式和数字模式修改 example.txt 文件的权限:

## 符号模式
chmod u=rw,g=r,o=r example.txt
## 数字模式
chmod 644 example.txt

示例输出:

-rw-r--r-- 1 labex labex 0 Apr 12 12:34 example.txt

现在,文件 example.txt 的权限如下:

  • 所有者(labex)具有读取和写入权限(rw-)
  • 所属组(labex)具有读取权限(r--)
  • 其他用户具有读取权限(r--)

理解如何使用 chmod 命令对于管理 Linux 系统中的文件和目录权限至关重要。

使用 chown 命令更改文件所有权

在这一步中,你将学习如何使用 chown 命令更改 Linux 中文件和目录的所有权。

默认情况下,创建文件或目录时,其所有者是创建它的用户。chown 命令允许你更改文件或目录的所有者和/或所属组。

chown 命令的基本语法如下:

chown [options] owner[:group] file

其中,owner 是新的所有者用户名,group 是新的所属组名称。

例如,要将 example.txt 的所有者更改为 labex 用户,可以使用以下命令:

sudo chown labex example.txt

要同时更改所有者和所属组,可以使用以下命令:

sudo chown labex:labex example.txt

你还可以使用递归选项 -R 来更改目录及其所有内容的所有权:

sudo chown -R labex:labex ~/project

这将把 ~/project 目录及其所有文件和子目录的所有权更改为 labex 用户和所属组。

让我们尝试更改 example.txt 文件的所有权:

## 将所有者更改为 labex
sudo chown labex example.txt

## 将所有者和所属组更改为 labex
sudo chown labex:labex example.txt

示例输出:

-rw-r--r-- 1 labex labex 0 Apr 12 12:34 example.txt

现在,example.txt 文件的所有者和所属组均为 labex

理解如何使用 chown 命令对于管理 Linux 系统中的文件和目录所有权至关重要。

总结

在本实验中,你学习了 Linux 中的基本文件权限,以及如何查看和理解这些权限。你了解到,每个文件和目录都有一组权限,用于确定谁可以读取、写入和执行该文件或目录,这些权限分为三类:所有者、所属组和其他用户。你还学习了如何使用 ls -lstat 命令查看文件和目录的权限,以及理解文件权限对于管理 Linux 系统中文件和目录访问的重要性。

Linux 命令速查表