7.linux文件权限与所有权

Linux 文件权限与所有权

文件权限

在 UNIX 和 Linux 系统中,文件和目录的访问权限是系统安全的基础。

权限类型

每个文件和目录都有三种基本权限:

  • r (Read - 读取):
    • 对于文件:可以查看文件内容。
    • 对于目录:可以列出目录中的文件和子目录。
  • w (Write - 写入):
    • 对于文件:可以修改文件内容。
    • 对于目录:可以在目录中创建、删除或重命名文件。
  • x (Execute - 执行):
    • 对于文件:可以将文件作为程序执行。
    • 对于目录:可以进入该目录(例如,使用 cd 命令)。

权限级别

这三种权限分别应用于三个不同的级别:

  • u (User - 用户): 文件的所有者。
  • g (Group - 组): 拥有该文件的用户组。
  • o (Others - 其他): 系统上的所有其他用户。

查看权限

使用 ls -l 命令可以查看文件和目录的详细信息,包括其权限。

VirtualBoxVM_HwRsK09O7B.png

权限字符串(例如 -rwxr-xr--)的第一位表示文件类型(- 表示普通文件,d 表示目录)。接下来的九位分为三组,分别代表所有者、所属组和其他用户的权限。

示例分析 (-rw-r--r--):

  • 所有者 (rw-): 可以读取和写入,但不能执行。
  • 所属组 (r--): 只能读取。
  • 其他用户 (r--): 只能读取。

修改权限 (chmod)

chmod 命令用于修改文件或目录的权限。

使用方法:

可以使用符号模式(u, g, o, a (all) 和 +, -, =)来添加、删除或设置权限。

VirtualBoxVM_6rP9k0Ad3h.png

示例:

  • 为所属组添加写入权限:
    1
    chmod g+w error.log

VirtualBoxVM_UY52ik3ttn.png

VirtualBoxVM_JwZyceXRcl.png


文件所有权

所有权概念

  • 用户 (User): 文件或目录的创建者,即所有者。
  • 组 (Group): 一个用户组,可以共享文件访问权限。

修改所有权

chown 命令

chown 命令用于更改文件或目录的所有者和/或所属组。

使用方法:

1
chown [选项] 新所有者[:新组] 文件或目录

示例:

  • file.txt 的所有者更改为 user1:
    1
    chown user1 file.txt
  • 同时更改所有者和所属组:
    1
    chown user1:group1 file.txt

chgrp 命令

chgrp 命令仅用于更改文件或目录的所属组。

使用方法:

1
chgrp [选项] 新组 文件或目录

示例:

  • file.txt 的所属组更改为 group1:
    1
    chgrp group1 file.txt

递归更改 (-R)

-R 选项可以递归地更改目录及其所有内容的所 有权。

示例:

  • 递归地将 /data 目录的所有权赋予 user1:
    1
    chown -R user1 /data