目录
[1.1 用户](#1.1 用户)
[1.2 用户组](#1.2 用户组)
[1.3 用户与用户组的关系](#1.3 用户与用户组的关系)
[2.1 用户管理](#2.1 用户管理)
[2.1.1 创建用户](#2.1.1 创建用户)
[2.1.2 设置用户密码](#2.1.2 设置用户密码)
[2.1.3 删除用户](#2.1.3 删除用户)
[2.2 用户组管理](#2.2 用户组管理)
[2.2.1 创建用户组](#2.2.1 创建用户组)
[2.2.2 删除用户组](#2.2.2 删除用户组)
[2.2.3 将用户添加到用户组](#2.2.3 将用户添加到用户组)
[3.1 影子账户介绍](#3.1 影子账户介绍)
[3.2 创建影子账户](#3.2 创建影子账户)
[4.1 文件权限概述](#4.1 文件权限概述)
[4.2 修改文件权限](#4.2 修改文件权限)
[4.2.1 数字模式](#4.2.1 数字模式)
[4.2.2 符号模式](#4.2.2 符号模式)
[4.3 修改文件所有者和所属组](#4.3 修改文件所有者和所属组)
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?type=blog
一、用户与用户组介绍
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中国"的文章:如何设置 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
通过以上的用户与用户组管理、影子账户创建和权限管理操作,可以有效地保障网络通信安全,确保系统资源的合理分配和访问控制。