Linux系统 高级权限读书笔记

发布时间 2023-11-04 17:03:22作者: sfljkwjfef

在本周的学习中学习了linux的高级权限,内容包括SUID权限,SGID权限,Sticky权限,chattr权限。

SUID 权限(Set User ID)

SUID 权限是一种特殊的权限设置,它允许普通用户以文件所有者的权限执行可执行文件。这对于某些程序和任务来说非常有用,因为它们需要超出普通用户权限的权限来执行。以下是更详细的信息:

1. 查看 SUID 权限

可以使用ls -l命令来查看文件是否启用了SUID权限。如果SUID位已经设置,它将在权限位中显示为字母 "s",例如 -rwsr-xr-x

ls -l /path/to/executable

2. 添加 SUID 权限

要添加SUID权限,可以使用chmod命令,并在权限位中使用字母 "s",如下所示:

chmod u+s /path/to/executable

这将设置SUID权限,使普通用户能够以文件所有者的权限执行该文件。

3. 使用案例

一个常见的用例是passwd命令。这个命令允许普通用户更改他们自己的密码,而不需要超级用户权限。因此,passwd命令通常设置了SUID权限。

ls -l /usr/bin/passwd
 
 

SGID 权限(Set Group ID)

SGID 权限允许用户以文件所属组的权限执行文件,而不是执行者的组权限。这对于多个用户需要访问相同文件或目录的情况非常有用,以确保它们具有相应的权限。以下是更详细的信息:

1. 查看 SGID 权限

使用ls -l命令,可以查看文件夹或文件是否启用了SGID权限。如果SGID位已设置,它将在权限位中显示为字母 "s",如drwxr-sr-x

ls -l /path/to/directory

2. 添加 SGID 权限

要添加SGID权限,可以使用chmod命令,并在权限位中使用字母 "s",如下所示:

chmod g+s /path/to/directory

这将设置SGID权限,使用户以文件所属组的权限执行文件。

3. 使用案例

一个常见的用例是共享目录,例如 /tmp。这个目录通常设置了SGID权限,以确保多个用户可以在其中创建文件,而不会导致权限问题。

ls -ld /tmp

SUID和SGID权限应该小心使用,因为错误的设置可能导致安全漏洞。在启用这些权限之前,务必确切了解文件或目录的用途以及哪些用户需要访问它。同时,确保系统和文件的安全性非常重要。

 

Sticky 权限(Sticky Bit)

Sticky Bit 权限通常用于目录,以确保只有文件的所有者能够删除其中的文件。这在共享目录中非常有用,以防止其他用户删除或替换其他用户的文件。

  1. 查看 Sticky Bit 权限:

    ls -l /path/to/directory

    如果目录的权限中有字母 "t"(例如,drwxrwxrwt),则表示 Sticky Bit 权限已设置。

  2. 使用 chmod 命令添加 Sticky Bit 权限:

    chmod +t /path/to/directory

    这将启用 Sticky Bit 权限,确保只有文件的所有者可以删除自己的文件。

  3. Sticky Bit 常用于 /tmp 目录,以确保只有文件的所有者能够删除自己的临时文件。

Chattr 权限(Immutable)

Chattr 权限允许您设置文件为不可更改,即使是超级用户也无法修改或删除它。这对于保护关键文件或配置非常有用。

  1. 查看文件的 Chattr 权限:

    lsattr /path/to/file

    如果文件已设置为不可更改,它将显示 i 标志。

  2. 使用 chattr 命令设置文件为不可更改:

    chattr +i /path/to/file

    这将使文件不可更改。

  3. 要删除不可更改的属性,使用 chattr -i 命令:

    chattr -i /path/to/file

    这允许您再次修改或删除文件。

Chattr 权限通常用于保护关键系统文件,以确保它们不会被意外或恶意修改。

      理解和使用sticky权限(Sticky Bit)和chattr权限(Immutable)也是Linux权限管理的重要方面。这两种权限可以帮助维护系统和文件的安全性。对 Sticky Bit 和 Chattr 权限的更改需要特殊权限,通常需要超级用户或管理员权限。这些权限对于确保系统和文件的安全性非常重要,但也需要小心使用,以避免不必要的限制。

 

在学习Linux权限管理中,我获得了一些有用的知识,同时也意识到一些不足之处:

收获:

  1. 理解权限管理: 通过学习SUID、SGID、Sticky Bit和Chattr权限,我现在更深入地了解了Linux系统中的权限管理。我明白了如何控制用户对文件和目录的访问和操作。

  2. 具体命令行操作: 学习如何使用具体的命令行工具来管理这些权限,例如chmodchownlschattr等,使我可以实际应用这些知识。

  3. 安全意识提升: 我学会了如何使用这些权限来提高系统和文件的安全性,防止不必要的更改和删除,以及确保只有授权用户可以执行特定操作。

不足:

  1. 深度了解不足: 学习这些权限是一个很好的开始,但我意识到我需要更深入的了解来处理更复杂的权限场景,尤其是在多用户和多组环境下。

  2. 实际应用: 我需要更多的实际应用经验,以便在实际情况中正确地配置和管理这些权限。只有理论知识可能无法完全解决复杂问题。

  3. 安全意识: 尽管我学习了如何提高系统和文件的安全性,但我需要不断提高我的安全意识,以便更好地理解潜在威胁和如何应对它们。

总的来说,学习Linux权限管理是一个不断发展的过程,需要不断深化理解和实践。我已经获得了一些基本知识,但还需要更多实际经验和深入的学习,以更好地应对复杂的权限管理场景。

下面是课堂代码内容展示: