知识库 使用 Profitserver 服务的简单说明
主要 知识库 Linux 用户:管理和权限

Linux 用户:管理和权限


在本文中,我们将探讨正确组织 Linux 用户的重要性。我们将描述访问权限,从如何创建和配置用户开始,到如何授予对特定文件和文件夹的访问权限结束。我们还将讨论一些重要的安全工具,例如 sudo 和 SELinux,它们有助于保护系统免受不必要的活动的影响。

Linux 中用户管理和访问权限的重要性

在 Linux 世界中,用户管理和访问权限至关重要。不妨将 Linux 想象成一栋大型公寓,每个用户都是租户,每个文件都是一个房间。用户管理就像是为每个租户分配一把唯一的钥匙,而访问权限则相当于他们在自己的房间里可以执行的操作。

用户创建时,会被分配一个名称和一个唯一标识符(UID),就像公寓的专属钥匙一样。用户还会加入一个群组,与其他租户联系在一起。群组就像一个俱乐部,成员之间共享共同的权限。

文件访问权限分为三类:所有者(用户)、用户组其他用户。每个键(用户)在每个类别中都可以拥有独特的读取、写入和执行权限。例如,文件所有者可能拥有读取和写入权限,用户组可能只有读取权限,而其他用户则没有任何权限。

Linux 系统中使用的sudoSELinux等安全策略值得特别关注。sudo 是一个特殊命令,它允许普通用户临时使用超级用户(root)权限来执行通常只有管理员才能执行的特定任务。这有助于防止意外错误或滥用超级用户权限。使用sudo时,用户通常需要输入密码以确认身份。之后,他们可以根据sudoers文件中设置的规则,以超级用户(root)权限执行命令。

SELinux是 Linux 操作系统的一层额外安全防护。它监控系统中可以使用的程序和文件,并限制对它们的访问,以防止入侵和攻击。这通过阻止黑客攻击或恶意行为,提高了服务器的安全性。

创建和管理用户

如何在 Linux 中创建用户

Linux 用户通常使用useradd命令创建。例如,要创建一个名为“username”的用户,您需要输入:

useradd username

如何设置 Linux 用户密码

用户创建后,其帐户未设置密码保护。要为新用户设置密码,请使用passwd命令:

passwd username

其中用户名是要设置密码的用户的名称。

如何在 Linux 中查看用户列表

要在 Linux 系统中使用终端中的单个命令查看用户列表,可以使用cut命令:

cut -d: -f1 /etc/passwd

该命令读取/etc/passwd文件的内容,该文件包含有关所有用户的信息。

要获取有关特定用户的信息,可以使用以下命令:

id username

这将显示用户的UIDGID

删除 Linux 用户

要删除用户,请使用userdel命令:

userdel username

但是,此命令不会删除用户主目录中的文件。要删除它们,可以使用-r选项:

userdel -r username

这将删除用户名及其主目录及其内的所有文件。

修改 Linux 用户

要修改用户信息,请使用usermod命令。该工具使用以下语法:

usermod argument user

该实用程序的帮助中显示了可能的参数的完整列表:

Linux 用户管理实用程序帮助

例如,要更改用户的主目录,您可以使用以下命令:

usermod -d /new/path/to/directory username

在 Linux 中创建和管理用户组

Linux 中的用户组允许管理员将具有类似访问权限的用户分组。这有利于访问权限的管理,并通过允许在组级别设置权限(而不是为每个用户单独设置权限)来增强系统安全性。作为示例,我们将考虑具有用户管理员的开发人员组。

如何在 Linux 中创建用户组

要创建新组,请使用groupadd命令并传入新组的名称:

sudo groupadd group_name

在我们的示例中,命令如下所示:

sudo groupadd developers

如何在 Linux 中删除用户组

要删除组,请使用groupdel命令:

sudo groupdel group_name

因此,命令:

sudo groupdel developers

将删除名为developers 的组。

将用户添加到组

要将用户添加到特定组,请使用usermod命令:

sudo usermod -aG group_name user_name

例如:

sudo usermod -aG developers admin

此命令会将名为admin 的用户添加到developers组。

从组中删除用户

要从组中移除用户,请使用deluser命令:

sudo deluser user_name group_name

将用户admin开发者组中移除的命令:

sudo deluser admin developers

在 Linux 中查看组列表

要查看系统中所有组的列表,请使用cat命令并结合/etc/group文件:

cat /etc/group

此命令将显示系统中所有组的列表。

检查用户组成员身份

执行操作后,您可以使用 groups 命令检查用户属于哪些组:

groups user_name

至此,我们了解了 Linux 中管理用户组的基础知识。现在,让我们进入下一阶段 - 检查文件和目录的访问权限分配。此过程允许确定用户或组可以对特定文件和目录执行哪些操作,确保有效的安全管理和对系统资源的访问。

分配文件和目录的访问权限

访问权限的符号表示

正如我们已经了解到的,Linux 中有 3 类用户:所有者(用户)、其他用户。每一类用户都可能拥有对文件或目录的特定访问权限:

  1. 读取(Read - r):允许查看文件或目录的内容。
  2. 写入(Write - w):提供在目录内修改文件或创建新文件的功能。对于目录,这还允许从中删除文件。
  3. 执行(Execute - x):允许执行文件(如果它是可执行文件)或进入目录(如果它是目录)。

在 Linux 系列系统中,访问权限由 10 个字符组成的字符串表示。第一个字符表示文件类型(常规文件、目录等),其余九个字符是三组字符,每组三个字符,分别表示用户组。为了便于理解,我们来看一个例子。

访问权限-rwxr-xr-- 的含义:

  1. 第一个字符 (-) 表示文件类型(在本例中为常规文件)。
  2. 所有者的三个字符(rwx)表明所有者具有读、写和执行权限。
  3. 组的三个字符(rx)表示组成员仅具有读取和执行权限。
  4. 三个字符为其他(r--)表示其他用户只能读取该文件。

访问权限使用chmod命令设置,语法如下:

chmod [options] mode file(s)

地点:

  1. [选项] - 附加参数,例如 -R 用于递归更改目录及其子目录中的访问权限。
  2. 模式 - 一个特殊字符串,指定更改哪些访问权限以及更改对象。模式可以用符号 (r、w、x) 和位 (0 或 1) 指定。也可以使用模式的数值(我们稍后会讨论它们)
  3. 文件——应用更改的文件或目录。

这个实用程序是一个非常强大的工具,所以我们只看几个基本命令作为示例。

更改文件的访问权限,使所有者具有读写权限,组仅具有读取权限,而其他用户无权:

chmod u=rw,g=r,o= filename

设置所有用户对文件的读写访问权限:

chmod a+rw filename

递归更改目录中所有文件和子目录的访问权限:

chmod -R u+rwx directory

访问权限的数字表示

在数字表示中,每个用户类别(所有者、组、其他)都有其编号,这些数字的组合设置了最终的访问权限。与符号表示类似,这三种权限中的每一种都有其值,但在数字表示中:

  1. 读取(读取)-值 4
  2. 写入(写入)-值 2
  3. 执行(执行)-值1

数值也用于确定用户类型:

  1. 文件所有者(用户)- 第一位数字
  2. 所有者的群组(group)- 第二位数字
  3. 其他用户(others)-第三位数字

因此,文件访问权限的完整数字表示由三位数字组成,每位数字代表特定用户类别的权限值的总和。这比使用 10 个字符的符号表示更方便。在这种情况下,管理看起来如下:

chmod XYZ file

其中XYZ分别是代表所有者、组和其他用户的访问权限的数字。

例如,要授予所有者完全访问权限(读取、写入和执行),而组和其他用户仅授予读取和执行权限,可以使用以下命令:

chmod 755 file

让我们考虑其他例子:

chmod 700 file

只有所有者才有读取、写入和执行的权限,而组和其他用户没有访问权限。

chmod 644 file

所有者具有读写权限,而组和其他用户仅具有读取权限。

chmod 751 file

所有者具有全部权限,组具有读取和执行权限,其他用户仅具有执行权限。

正如我们前面提到的,该工具具有非常广泛的功能。在某些情况下,“帮助”部分中提供的选项不够用:

Linux 中管理访问权限的工具

请注意最后一行。使用此命令可以打开关于该工具的更详细文档。您还可以访问该实用程序的官方维基百科页面,在那里可以找到有关 Chmod 的详细信息。

结语

Linux 用户及其管理对于操作系统的安全性和稳定运行至关重要。在本文中,我们强调了 Linux 中有效的用户和访问权限管理的重要性,涵盖了用户的创建和管理、与用户组的合作以及分配文件和目录的访问权限。

❮ 上一篇文章 在 Linux 上配置防火墙
下一篇文章❯ Linux 文本编辑器

向我们咨询有关 VPS 的问题

无论白天还是黑夜,我们随时准备解答您的问题。