Linux用户和权限笔记

时间:2025-2-23    作者:江湖剑客    分类:

在 Linux 系统中,用户和权限的管理是确保系统安全和资源访问控制的重要部分。每个文件和目录都有与之关联的用户和权限设置。以下是一些关于用户和权限搭配使用的基本概念和示例。

1. 用户和组

  • 用户:每个用户在系统中都有一个唯一的用户名和用户 ID (UID)。
  • :用户可以被分配到一个或多个组中,每个组也有一个唯一的组名和组 ID (GID)。

2. 文件权限

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

  • 读(r):允许查看文件内容或列出目录内容。
  • 写(w):允许修改文件内容或在目录中添加、删除文件。
  • 执行(x):允许执行文件(如果是可执行文件)或进入目录。

权限分为三类:

  • 用户权限(u):文件的所有者的权限。
  • 组权限(g):与文件所有者同组的用户的权限。
  • 其他权限(o):所有其他用户的权限。

3. 查看文件权限

使用 ls -l 命令查看文件或目录的权限设置。

更多权限命令:https://blog.go176.net/?post=70

示例

ls -l file.txt

输出示例:

-rw-r--r-- 1 user group 0 Oct  1 12:00 file.txt

解释:

  • -rw-r--r--:表示权限。
    • -:表示这是一个文件(d 表示目录)。
    • rw-:用户权限(读和写)。
    • r--:组权限(只读)。
    • r--:其他用户权限(只读)。

4. 修改文件权限

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

示例

file.txt 的权限更改为用户可读写,组和其他用户只读:

chmod 644 file.txt
  • 6(rw-):用户权限(读和写)。
  • 4(r--):组权限(只读)。
  • 4(r--):其他用户权限(只读)。

5. 修改文件所有者和组

使用 chown 命令更改文件的所有者和组。

示例

file.txt 的所有者更改为 newuser,组更改为 newgroup

chown newuser:newgroup file.txt

6. 创建用户和组

使用 useraddgroupadd 命令创建新用户和组。

示例

创建一个新用户 john 和一个新组 developers

groupadd developers
useradd -g developers john

7. 用户和权限的搭配使用示例

示例 1:创建一个共享目录

  1. 创建一个新组 project

    groupadd project
  2. 创建一个新用户 alice 并将其添加到 project 组:

    useradd -g project alice
  3. 创建一个共享目录 /shared

    mkdir /shared
  4. 将目录的所有者更改为 alice,并将组更改为 project

    chown alice:project /shared
  5. 设置目录权限,使得用户和组都有读、写和执行权限,其他用户没有权限:

    chmod 770 /shared

示例 2:限制用户访问

  1. 创建一个新用户 bob

    useradd bob
  2. 创建一个文件 confidential.txt,并将其所有者更改为 alice

    touch confidential.txt
    chown alice:project confidential.txt
  3. 设置文件权限,使得只有 alice 可以读写,其他用户没有权限:

    chmod 600 confidential.txt

在这个例子中,bob 无法访问 confidential.txt,而 alice 可以访问。

总结

用户和权限的搭配使用在 Linux 系统中至关重要。通过合理设置用户、组和文件权限,可以有效地管理资源访问,确保系统的安全性和稳定性。掌握这些基本概念和命令,可以帮助用户更好地管理 Linux 系统。


扫描二维码,在手机上阅读