目录

操作系统安全任务2用户与用户组

【操作系统安全】任务2:用户与用户组

[CSDN 原创主页:不羁

https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=P1C7 “CSDN 原创主页:不羁”)


一、用户与用户组介绍

1.1 用户

在网络通信安全和操作系统环境中,用户是指能够访问系统资源的个体。每个用户都有唯一的标识符(UID),用于系统识别和区分不同的用户。用户可以通过用户名和密码进行身份验证,从而获得对系统资源的访问权限。

例如,在一个企业网络中,每个员工都有自己的用户名和密码,用于登录公司的办公系统,访问自己的文件和应用程序。

1.2 用户组

用户组是具有相同权限和属性的用户集合。将用户组织成组可以方便系统管理员进行权限管理和资源分配。每个用户组都有唯一的标识符(GID)。

例如,在一个软件开发项目中,可以创建一个 “开发组”,将所有开发人员添加到该组中。然后为 “开发组” 分配特定的权限,如访问项目代码库、使用开发工具等。

1.3 用户与用户组的关系

一个用户可以属于一个或多个用户组。当用户属于多个用户组时,用户将拥有这些组的所有权限的并集。

例如,一个用户既属于 “开发组” 又属于 “测试组”,那么该用户将拥有开发组和测试组的所有权限。

二、用户与用户组管理

2.1 用户管理

2.1.1 创建用户

在 Linux 系统中,可以使用 useradd 命令创建新用户。

命令格式

useradd [选项] 用户名

实例

创建一个名为 testuser 的用户

useradd testuser

2.1.2 设置用户密码

使用 passwd 命令为用户设置密码。

命令格式

passwd 用户名

实例

testuser 设置密码

passwd testuser

https://i-blog.csdnimg.cn/direct/79d169551a2940bc89740a16aa3a78f4.png

执行该命令后,系统会提示输入新密码和确认密码。

问题:Linux更改密码报错:密码未通过字典检查 - 过于简单化/系统化

方案一:直接忽略

很容易认为这儿是一个错误,其实可以直接忽略,重新输入密码

(这里恶心了我老大一会,一直以为是操作问题,麻辣炒蛋🙃)

[root@localhost ~]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# 

方案二:对密码规则进行设置

这一部分参考"Linux中国"的文章:

2.1.3 删除用户

使用 userdel 命令删除用户。

命令格式

userdel [选项] 用户名

实例

删除 testuser 用户

userdel -r testuser

-r 选项表示在删除用户的同时,删除该用户的主目录和邮件池。

问题:userdel:未找见 testuser主目录“/home/testuser”

在 Linux 系统中,如果你尝试使用 userdel 命令删除一个用户账户,但是遇到了错误消息:“未找见 testuser 主目录“/home/testuser””,这通常意味着在删除用户之前,系统需要先删除或处理该用户的主目录。这里有几种方法可以解决这个问题:

1. 手动删除用户主目录

在尝试删除用户之前,你可以手动删除用户的主目录。这样做可以绕过 userdel 命令的默认行为,即在删除用户账户时尝试删除其主目录。

rm -rf /home/testuser

2. 使用 userdel 命令并强制删除主目录

如果你想要在使用 userdel 命令时同时删除用户主目录,可以使用 -r 选项。这将递归地删除用户的主目录及其内容。

sudo userdel -r testuser

3. 使用 userdel 命令但不删除主目录

如果你不希望删除用户的主目录,只想删除用户的账户配置文件(例如在 /etc/passwd/etc/shadow 中的条目),可以这样做:

sudo userdel testuser

这将只删除用户的账户信息,而不会删除其主目录。

4. 检查并确认用户主目录存在

在尝试上述任何操作之前,确保用户的主目录确实存在。你可以使用 ls 命令来检查:

ls /home/testuser

如果目录不存在,那么你可能需要重新创建它或者确认你正在查看正确的路径。有时候用户的家目录可能位于其他位置,或者在 /etc/passwd 中有误配置的路径。你可以通过查看 /etc/passwd 文件来找到正确的家目录路径:

grep testuser /etc/passwd

5. 权限问题

确保你有足够的权限来删除文件和目录。通常,你需要 root 权限来执行这些操作。使用 sudo 来获取必要的权限。

sudo rm -rf /home/testuser # 如果需要手动删除主目录sudo userdel -r testuser # 如果需要使用 userdel 并删除主目录

以上步骤应该能帮助你解决在删除用户时遇到的问题。

2.2 用户组管理

2.2.1 创建用户组

使用 groupadd 命令创建新的用户组。

命令格式

groupadd [选项] 组名

实例

创建一个名为 developers 的用户组

groupadd developers

https://i-blog.csdnimg.cn/direct/0df78872cc6b4f00ae42a796f83e18ad.png

2.2.2 删除用户组

使用 groupdel 命令删除用户组。

命令格式

groupdel 组名

实例

删除 developers 用户组

groupdel developers

https://i-blog.csdnimg.cn/direct/1220a7d75b374e349671575a2a5b8ccc.png

2.2.3 将用户添加到用户组

使用 usermod 命令将用户添加到指定的用户组。

命令格式

usermod -aG 组名 用户名

实例

testuser 用户添加到 developers 用户组

usermod -aG developers testuser

https://i-blog.csdnimg.cn/direct/eeaac00cca96444f81d2bd2bb1af74eb.png

-a 选项表示追加, -G 选项表示指定用户组。

三、影子账户创建

3.1 影子账户介绍

影子账户是一种隐藏的用户账户,通常用于系统管理或特殊用途。影子账户的信息存储在 /etc/shadow 文件中,该文件只有 root 用户可以访问,从而提高了账户信息的安全性。

3.2 创建影子账户

在 Linux 系统中,使用 useradd 命令创建用户时,系统会自动在 /etc/shadow 文件中为该用户创建对应的影子记录。

实例

创建一个名为 shadowuser 的影子账户

useradd shadowuser

创建完成后,可以使用 cat 命令查看 /etc/shadow 文件中 shadowuser 的影子记录:

cat /etc/shadow | grep shadowuser

https://i-blog.csdnimg.cn/direct/a015c961a8f74c0bb9db90d51896e4bf.png

四、用户与用户组权限管理

4.1 文件权限概述

在 Linux 系统中,每个文件和目录都有三组权限:所有者权限、所属组权限和其他用户权限。每组权限又分为读(r)、写(w)和执行(x)三种权限。

4.2 修改文件权限

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

4.2.1 数字模式

数字模式使用三位数字分别表示所有者、所属组和其他用户的权限。其中,读权限用 4 表示,写权限用 2 表示,执行权限用 1 表示。

实例 : 将文件 testfile 的权限设置为所有者具有读写执行权限,所属组具有读执行权限,其他用户具有读权限

chmod 754 testfile

4.2.2 符号模式

符号模式使用 u (所有者)、 g (所属组)、 o (其他用户)和 a (所有用户)来指定权限的作用对象,使用 + (添加权限)、 - (移除权限)和 = (设置权限)来修改权限。

实例 : 为文件 testfile 的所属组添加写权限

chmod g+w testfile

4.3 修改文件所有者和所属组

使用 chown 命令修改文件或目录的所有者和所属组。

命令格式

chown [选项] 所有者:所属组 文件名

实例 : 将文件 testfile 的所有者改为 testuser ,所属组改为 developers

chown testuser:developers testfile

通过以上的用户与用户组管理、影子账户创建和权限管理操作,可以有效地保障网络通信安全,确保系统资源的合理分配和访问控制。