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

目录

一、用户与用户组介绍

1.1 用户

1.2 用户组

1.3 用户与用户组的关系

二、用户与用户组管理

2.1 用户管理

2.1.1 创建用户

2.1.2 设置用户密码

2.1.3 删除用户

2.2 用户组管理

2.2.1 创建用户组

2.2.2 删除用户组

2.2.3 将用户添加到用户组

三、影子账户创建

3.1 影子账户介绍

3.2 创建影子账户

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

4.1 文件权限概述

4.2 修改文件权限

4.2.1 数字模式

4.2.2 符号模式

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33217.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

色板在数据可视化中的创新应用

色板在数据可视化中的创新应用:基于色彩感知理论的优化实践 引言 在数据可视化领域,色彩编码系统的设计已成为决定信息传递效能的核心要素。根据《Nature》期刊2024年发布的视觉认知研究,人类大脑对色彩的识别速度比形状快40%,色…

Python数据类型进阶——详解

—— 小 峰 编 程 目录 1.整型 1.1 定义 1.2 独有功能 1.3 公共功能 1.4 转换 1.5 其他 1.5.1 长整型 1.5.2 地板除(除法) 2. 布尔类型 2.1 定义 2.2 独有功能 2.3 公共功能 2.4 转换 2.5 其他 做条件自动转换 3.字符串类型 3.1 定义 3.2 独有功能…

生化混合智能技术(Biochemical Hybrid Intelligence, BHI)解析与应用

李升伟 综合 生化混合智能(Biochemical Hybrid Intelligence, BHI)是一种结合人工智能(AI)与生物化学技术的跨学科领域,旨在通过整合计算能力和生物系统的复杂性,推动药物研发、生物工程和医疗健康等领域的…

【原创】在高性能服务器上,使用受限用户运行Nginx,充当反向代理服务器[未完待续]

起因 在公共高性能服务器上运行OllamaDeepSeek,如果按照默认配置启动Ollama程序,则自己在远程无法连接你启动的Ollama服务。 如果修改配置,则会遇到你的Ollama被他人完全控制的安全风险。 不过,我们可以使用一个方向代理&#…

Elasticsearch 7.x入门学习-系统架构与工作流程

1 核心概念 1.1 索引(Index) Elasticsearch 索引的精髓:一切设计都是为了提高搜索的性能。 一个索引就是一个拥有相似特征的文档集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个…

Mysql - 自增主键的使用细节

通过一些问题来谈论 Mysql 中的自增主键 默认情况下我们会使用自增主键,你觉得为什么要用自增的主键?有什么好处?自增主键的话,如果用 INT,会有 int 最大数限制,如果超过 int 最大数,你觉得应该…

《SQL性能优化指南:新手如何写出高效的数据库查询

新手程序员如何用三个月成为SQL高手?万字自学指南带你弯道超车 在数据为王的时代,掌握SQL已成为职场新人的必修课。你可能不知道,仅用三个月系统学习,一个零基础的小白就能完成从数据库萌新到SQL达人的蜕变。去年刚毕业的小王就是…

UE5.5 Niagara初始化粒子模块

粒子生成模块列表是每个创建的粒子都会调用一次对应的模块。此阶段中的模块设置每个粒子的初始值。粒子将从上到下的顺序执行模块。 下面,将列一下粒子生成常用的模块。 Initialize Particle 初始化粒子 所有粒子必需的基础模块,用于初始化粒子的基本属…

蓝耘携手通义万相2.1:引领AI创作革新,重塑视觉体验

前言 在人工智能技术迅猛发展的时代,AI算力平台成为推动产业升级的关键力量。蓝耘元生代智算云平台作为领先的智能计算平台,致力于为企业和研究机构提供高效、稳定的AI算力支持。近期,该平台对通义万相2.1进行了全面适配和优化,为…

【开源免费】基于SpringBoot+Vue.JS光影视频平台(JAVA毕业设计)

本文项目编号 T 239 ,文末自助获取源码 \color{red}{T239,文末自助获取源码} T239,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

JVM 垃圾回收器的选择

一:jvm性能指标吞吐量以及用户停顿时间解释。 二:垃圾回收器的选择。 三:垃圾回收器在jvm中的配置。 四:jvm中常用的gc算法。 一:jvm性能指标吞吐量以及用户停顿时间解释。 在 JVM 调优和垃圾回收器选择中&#xff0…

VSCode 搭建C++编程环境 2025新版图文安装教程(100%搭建成功,VSCode安装+C++环境搭建+运行测试+背景图设置)

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、VScode下载及安装二、安装 MinGW-w64 工具链三、Windows环境变量配置四、检查 M…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…

分布式锁技术全景解析:从传统锁机制到MySQL、Redis/Redisson与ZooKeeper实现

文章目录 一、分布式锁介绍1.1 为什么需要分布式锁1.2 什么是分布式锁?1.3 分布式锁特点 二. 传统锁回顾2.1商品超卖演示2.2 JVM锁演示2.3 JVM锁失效的三种情况2.3.1 多例模式2.3.2 事务2.3.3 分布式集群 三. 基于mysql实现分布式锁3.1 一条SQL3.2 悲观锁3.3 乐观锁…

【GPT入门】第18课 langchain介绍与API初步体验

【GPT入门】langchain第一课 langchain介绍与API初步体验 1. langchain介绍定义特点1. 模块化与灵活性2. 链式调用机制3. 数据连接能力4. 记忆管理功能5. 提示工程支持6. 可扩展性 2.langchain核心组件架构图3. 最简单的helloworld入门 1. langchain介绍 LangChain 是一个用于…

神经网络分类任务

import torch %matplotlib inline from pathlib import Path import requestsimport torchvision mnist_dataset torchvision.datasets.MNIST(root./data, downloadTrue) 下载mnist数据集 但不知道数据集里面是什么打印 import torchvision import torchvision.transforms …

ROS实践(三)机器人描述文件xacro(urdf扩展)

目录 一、定义 二、xacro 文件常见组成部分 1. 命名空间声明 2. 定义宏 3. 调用宏 4. 定义参数 5. 条件语句 6. 转换 xacro 文件为 urdf 7. gazebo标签 三、代码示例 1. gazebo标签使用(仿真参数配置) 2. 引用仿真配置并定义机器人模型&#x…

Vision Mamba论文精读笔记

这篇博客主要针对Vision Mamba 论文进行精读,包含全文翻译以及部分内容注解。 读者最好有SSM以及Mamba的前期基础,便于理解。 论文链接:[2401.09417] Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Spa…

大模型架构记录4-文档切分 (chunks构建)

chunks: 块 trunks : 树干 “RAG”通常指 检索增强生成(Retrieval-Augmented Generation) 主要框架:用户提query,找到和它相关的,先把问题转换为向量,和向量数据库的数据做比较,检…

个性化音乐推荐系统

python、pycharm、Django、Mysql都已经安装好了! 目录 2025/3/13 2025/3/13 一.打开CMD,安装Mysql驱动 pip install mysqlclient 二.项目初始化: 1.创建Django项目: django-admin startproject project1 cd project1 2.创…