在本文中,我们将探讨正确组织 Linux 用户的重要性。我们将描述访问权限,从如何创建和配置用户开始,到如何授予对特定文件和文件夹的访问权限结束。我们还将讨论一些重要的安全工具,例如 sudo 和 SELinux,它们有助于保护系统免受不必要的活动的影响。
Linux 中用户管理和访问权限的重要性
在 Linux 世界中,用户管理和访问权限起着关键作用。将 Linux 想象成一个大公寓,每个用户都是一个租户,每个文件都是一个房间。 用户管理 就像为每个租户分配一个唯一的密钥,而 访问权限 是他们可以在房间里做的事情。
创建用户时,会为其分配一个名称和一个唯一标识符(UID),就像公寓的私人钥匙一样。用户还拥有 a 组,将他们与其他租户联合起来。 该集团 就像一个俱乐部,会员们享有共同的权利。
文件访问权限 分为三类:业主(用户), 组和 其他类。每个密钥(用户)可以拥有针对每个类别的读取、写入和执行的独特权限。例如,文件所有者可能拥有读取和写入权限,组 - 仅具有读取权限,而其他人 - 没有权限。
值得特别关注的安全政策如下 须藤 和 SELinux的,用于Linux系统。 须藤 是一个特殊命令,允许普通用户临时使用超级用户 (root) 权限执行通常只有管理员才能执行的特定任务。这有助于防止意外错误或滥用超级用户权限。使用 须藤,用户通常需要输入密码来确认身份。此后,他们可以根据在 毛衣 文件中。
SELinux的 是 Linux 操作系统的附加安全层。它监控系统中可以使用哪些程序和文件,并限制对它们的访问以防止入侵和攻击。这通过防止黑客攻击或恶意行为使服务器更加安全。
创建和管理用户
如何在 Linux 中创建用户
Linux 用户通常使用 useradd的 命令。例如,要创建名为“username”的用户,您可以输入:
useradd username
如何设置 Linux 用户密码
创建用户后,其帐户不受密码保护。要为新用户设置密码,请使用 passwd文件 命令:
passwd username
其中用户名是要设置密码的用户的名称。
如何在 Linux 中查看用户列表
要在 Linux 中使用终端中的单个命令查看用户列表,可以使用 切 命令:
cut -d: -f1 /etc/passwd
此命令读取 / etc / passwd文件 文件,其中包含有关所有用户的信息。
要获取有关特定用户的信息,可以使用以下命令:
id username
这将显示用户的 UID, GID和 群.
删除 Linux 用户
要删除用户,请使用 用户名 命令:
userdel username
但是,此命令不会删除用户主目录中的文件。要删除它们,您可以使用 -r 选项:
userdel -r username
这将删除用户名及其主目录及其内的所有文件。
修改 Linux 用户
要修改用户信息,请使用 usermod命令 命令。该工具使用以下语法:
usermod argument user
该实用程序的帮助中显示了可能的参数的完整列表:
例如,要更改用户的主目录,您可以使用以下命令:
usermod -d /new/path/to/directory username
在 Linux 中创建和管理用户组
Linux 中的用户组允许管理员将具有类似访问权限的用户分组。这有利于访问权限的管理,并通过允许在组级别设置权限(而不是为每个用户单独设置权限)来增强系统安全性。作为示例,我们将考虑具有用户管理员的开发人员组。
如何在 Linux 中创建用户组
要创建新组,请使用 组添加 使用新组名称的命令:
sudo groupadd group_name
在我们的示例中,命令如下所示:
sudo groupadd developers
如何在 Linux 中删除用户组
要删除组,请使用 群删除 命令:
sudo groupdel group_name
因此,命令:
sudo groupdel developers
将删除名为 开发.
将用户添加到组
要将用户添加到特定组,请使用 usermod命令 命令:
sudo usermod -aG group_name user_name
例如:
sudo usermod -aG developers admin
此命令将添加名为 管理员 以及 开发 组。
从组中删除用户
要从组中删除用户,请使用 deluser 命令:
sudo deluser user_name group_name
删除用户的命令 管理员 来自 开发 组:
sudo deluser admin developers
在 Linux 中查看组列表
要查看系统中所有组的列表,请使用 猫 用命令 / etc / group 文件:
cat /etc/group
此命令将显示系统中所有组的列表。
检查用户组成员身份
执行操作后,您可以使用 groups 命令检查用户属于哪些组:
groups user_name
至此,我们了解了 Linux 中管理用户组的基础知识。现在,让我们进入下一阶段 - 检查文件和目录的访问权限分配。此过程允许确定用户或组可以对特定文件和目录执行哪些操作,确保有效的安全管理和对系统资源的访问。
分配文件和目录的访问权限
访问权限的符号表示
我们已经知道,Linux 中有 3 类用户:所有者(用户), 组和 其他类。它们每个都可能拥有某些文件或目录的访问权限组:
- 读取(Read - r):允许查看文件或目录的内容。
- 写入(Write - w):提供在目录内修改文件或创建新文件的功能。对于目录,这还允许从中删除文件。
- 执行(Execute - x):允许执行文件(如果它是可执行文件)或进入目录(如果它是目录)。
在 Linux 系列系统中,访问权限由 10 个字符组成的字符串表示。第一个字符表示文件类型(常规文件、目录等),其余九个字符是三组字符,每组三个字符,分别表示用户组。为了便于理解,我们来看一个例子。
访问权 -rwxr-xr-- 意思:
- 第一个字符 (-) 表示文件类型(在本例中为常规文件)。
- 所有者的三个字符(rwx)表明所有者具有读、写和执行权限。
- 组的三个字符(rx)表示组成员仅具有读取和执行权限。
- 三个字符为其他(r--)表示其他用户只能读取该文件。
使用以下方式设置访问权限 CHMOD 命令,语法如下:
chmod [options] mode file(s)
地点:
- [选项] - 附加参数,例如 -R 用于递归更改目录及其子目录中的访问权限。
- 模式 - 一个特殊字符串,指定更改哪些访问权限以及更改对象。模式可以用符号 (r、w、x) 和位 (0 或 1) 指定。也可以使用模式的数值(我们稍后会讨论它们)
- 文件——应用更改的文件或目录。
这个实用程序是一个非常强大的工具,所以我们只看几个基本命令作为示例。
更改文件的访问权限,使所有者具有读写权限,组仅具有读取权限,而其他用户无权:
chmod u=rw,g=r,o= filename
设置所有用户对文件的读写访问权限:
chmod a+rw filename
递归更改目录中所有文件和子目录的访问权限:
chmod -R u+rwx directory
访问权限的数字表示
在数字表示中,每个用户类别(所有者、组、其他)都有其编号,这些数字的组合设置了最终的访问权限。与符号表示类似,这三种权限中的每一种都有其值,但在数字表示中:
- 读取(读取)-值 4
- 写入(写入)-值 2
- 执行(执行)-值1
数值也用于确定用户类型:
- 文件所有者(用户)- 第一位数字
- 所有者的群组(group)- 第二位数字
- 其他用户(others)-第三位数字
因此,文件访问权限的完整数字表示由三位数字组成,每位数字代表特定用户类别的权限值的总和。这比使用 10 个字符的符号表示更方便。在这种情况下,管理看起来如下:
chmod XYZ file
协调 X, Y和 Z 是分别代表所有者、组和其他用户的访问权限的数字。
例如,要授予所有者完全访问权限(读取、写入和执行),而组和其他用户仅授予读取和执行权限,可以使用以下命令:
chmod 755 file
让我们考虑其他例子:
chmod 700 file
只有所有者才有读取、写入和执行的权限,而组和其他用户没有访问权限。
chmod 644 file
所有者具有读写权限,而组和其他用户仅具有读取权限。
chmod 751 file
所有者具有全部权限,组具有读取和执行权限,其他用户仅具有执行权限。
正如我们前面提到的,该工具具有非常广泛的功能。在某些情况下,“帮助”部分中提供的选项不够用:
注意最后一行。使用此命令可以打开有关该工具的更详细文档。您还可以访问该实用程序的 官方维基百科 页面,您可以在其中找到有关 Chmod 的详细信息。
结语
Linux 用户及其管理对于操作系统的安全性和稳定运行至关重要。在本文中,我们强调了 Linux 中有效的用户和访问权限管理的重要性,涵盖了用户的创建和管理、与用户组的合作以及分配文件和目录的访问权限。