操作系统安全任务2用户与用户组
【操作系统安全】任务2:用户与用户组
[CSDN 原创主页:不羁
“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
执行该命令后,系统会提示输入新密码和确认密码。
问题: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
2.2.2 删除用户组
使用
groupdel
命令删除用户组。
命令格式 :
groupdel 组名
实例 :
删除
developers
用户组
groupdel developers
2.2.3 将用户添加到用户组
使用
usermod
命令将用户添加到指定的用户组。
命令格式 :
usermod -aG 组名 用户名
实例 :
将
testuser
用户添加到
developers
用户组
usermod -aG developers testuser
-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
四、用户与用户组权限管理
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
通过以上的用户与用户组管理、影子账户创建和权限管理操作,可以有效地保障网络通信安全,确保系统资源的合理分配和访问控制。