Linux运维——用户管理
Linux用户管理
- 一、Linux用户管理要点
- 二、常用命令
- 2.1、groupadd
- 2.2、groupdel
- 2.3、groupmod
- 2.4、groups
- 2.5、useradd
- 2.6、userdel
- 2.7、passwd
- 2.9、su
- 2.10、sudo
- 2.10.1、给普通用户授权 sudo
- 2.10.2、 免密码授权 sudo
一、Linux用户管理要点
- 创建用户组 - 使用
groupadd - 删除用户组 - 使用
groupdel - 修改用户组信息 - 使用
groupmod - 创建用户 - 使用
useradd - 删除用户 - 使用
userdel - 修改用户信息 - 使用
usermod - 设置用户认证信息 - 使用
passwd - 切换用户 - 使用
su - 当前用户想执行没有权限执行的命令时,使用其他用户身份去执行 - 使用
sudo
二、常用命令
2.1、groupadd
groupadd 命令用于创建一个新的用户组,新用户组的信息将被添加到系统文件中。
groupadd [选项] 组名
- -g, --gid GID: 指定新用户组的组 ID(GID)。
- -K, --key KEY=VALUE: 设置密钥值对,用于指定组的属性。
- -o, --non-unique: 允许创建非唯一的组 ID。
- -p, --password PASSWORD: 设置用户组的密码,通常不建议使用密码。
- -r, --system: 创建一个系统用户组。
- -R, --root CHROOT_DIR: 在指定的 chroot 目录中执行操作。
使用案例:
创建一个名为 testgroup的新用户组:
groupadd testgroup
创建一个名为 sysgroup的系统用户组:
groupadd -r sysgroup
创建一个名为 staff的用户组并指定组 ID 为 500:
groupadd -g 500 staff
注意事项:
- 使用 groupadd 命令需要具有适当的权限,通常需要 root 权限或 sudo 权限。
- 可以通过指定选项来设置新用户组的组 ID、属性等。
- 创建系统用户组时,通常会使用 -r 选项。
- 确保新创建的用户组名称不与现有用户组重复,避免混淆。
- 建议在创建用户组时,为其指定一个明确的目的或描述性的名称,以便于管理和理解。
2.2、groupdel
groupdel命令用于在Linux系统中删除一个用户组。该命令不会操作与用户组关联的文件和目录,但删除用户组后,与该组相关的文件和目录中的组信息可能需要手动更改,以避免权限问题。
本命令要修改的系统文件包括 /ect/group 和 /ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
groupdel [选项] 组名
-h或--help:显示groupdel命令的帮助信息。-f或--force:强制删除用户组,即使它是某个用户的主组。
使用示例:
删除名为testgroup的用户组:
groupdel testgroup
删除cc用户组:
groupdel cc
强制删除apps用户组:
groupdel -f apps
强制删除名为staff的用户组:
groupdel -f staff
显示groupdel命令的帮助信息:
groupdel -h
注意事项和常见错误处理:
- 确保该组不再被任何用户所使用:如果该组仍被某些用户使用,删除操作将失败。除非使用-f选项强制删除,否则必须先删除这些用户
- 修改用户的主组:如果某个用户的主组是目标组,命令会报错。此时需要先将用户的主组改为另一个组,然后再进行删除操作
- 组不存在:如果要删除的组不存在,groupdel会提示错误
2.3、groupmod
groupmod命令是Linux系统中用于修改现有用户组的工具。其主要用途包括修改组的GID(组标识符)和组名。
常用选项:
-g或--gid GID:用于更改组的GID。-n或--new-name NEW_GROUP:用于更改组的名称。-o或--non-unique:允许使用重复的GID,即允许多个组使用同一个GID。-h或--help:显示帮助信息。-p或--password PASSWORD:设置组的密码。-R或--root CHROOT_DIR:指定在CHROOT_DIR下更改生效。-V或--version:显示版本信息。
使用示例:
修改组名:
groupmod -n newgroup oldgroup
# 这条命令将用户组oldgroup的名称修改为newgroup。
修改组的GID:
groupmod -g 101 groupname
# 这条命令将用户组groupname的GID修改为101。
允许使用其他用户组的GID:
groupmod -o groupname
# 这条命令将用户组groupname的属性设置为允许使用其他用户组的GID。
设置组密码:
groupmod -p password groupname
# 这条命令将用户组groupname的密码设置为password。
注意事项:
- 在执行groupmod命令时,确保您具有足够的权限,通常需要以root用户身份执行。
- 修改组名称或GID可能会影响系统上相关用户的权限和文件,因此在进行修改前请做好备
2.4、groups
groups命令用于显示用户所属的用户组信息。
- 默认情况下,groups命令会显示当前用户所属的所有用户组。例如,输入groups即可查看当前用户所属的所有附加组。
- 指定用户,可以在命令后跟上用户名来显示指定用户所属的用户组。例如,输入groups username可以查看指定用户username所属的所有用户组。
常用选项:
-a:在输出中包括用户的主组(primary group)。默认情况下,主组不会被单独列出,而是作为用户名的一部分显示在输出中。-g:只显示用户的主组ID(GID),而不显示组名。-n:以数字形式显示组ID(GID)和用户名(UID),而不是名称。-r:只显示实际存在的组,即那些在系统上实际存在的组。默认情况下,groups命令还会显示一些特殊的、不存在的组(如“wheel”组在某些系统中可能不存在)。
注意事项:
- 权限问题:在执行groups命令时,需要确保当前用户具有足够的权限来查看其他用户的组信息。如果当前用户没有足够的权限,可能会收到权限拒绝的错误信息。
- 输出定制:根据需要,可以使用不同的参数来定制groups命令的输出。例如,如果需要以数字形式显示组ID,可以使用-n参数;如果需要只显示主组ID,可以使用-g参数。
2.5、useradd
useradd 命令用于 Linux 中创建的新的系统用户。useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码.而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
使用useradd命令时,系统会自动更新相关文件,包括/etc/passwd和/etc/shadow。 /etc/passwd文件包含用户的基本信息,如用户名、用户ID(UID)、组ID(GID)等;而/etc/shadow文件则包含加密的用户密码和账户有效期等信息。通过useradd命令创建的用户,管理员可以通过passwd命令为其设置密码。需要注意的是,useradd命令本身不会为用户创建密码信息,而是使用星号(*)初始化密码字段,随后需要通过passwd或pwdadm命令设置密码。
useradd [选项] 用户名
常用选项:
-m:创建用户主目录(通常位于 /home/用户名)。-d:指定用户主目录路径。-s:指定用户的默认 shell。-g:指定用户的主组(组名或 GID)。-G:指定用户的附加组(组名或 GID)。-u:指定用户的 UID。-c:添加用户备注信息(如全名)。-e:设置账户过期日期(格式:YYYY-MM-DD)。-p:设置用户密码(通常不推荐直接使用,建议用 passwd 命令)。
使用示例:
创建用户并生成主目录
sudo useradd -m username
···
指定主目录路径
```sh
sudo useradd -m -d /custom/home/username username
指定默认 shell
sudo useradd -m -s /bin/bash username
指定主组和附加组
sudo useradd -m -g primarygroup -G supplementarygroup username
指定 UID
sudo useradd -m -u 1001 username
添加备注信息
sudo useradd -m -c "User Full Name" username
设置账户过期日期
sudo useradd -m -e 2023-12-31 username
创建用户后,使用 passwd 命令设置密码:
sudo passwd username
注意事项:
- 需要 root 权限,通常使用 sudo。
- 如果不使用 -m 选项,不会创建主目录。
- 建议使用 passwd 命令设置密码,而不是 -p 选项。
2.6、userdel
以下是基本用法和常见选项:
userdel [选项] 用户名
常用选项:
-r:删除用户的同时,删除用户的主目录和邮件文件(通常位于 /home/用户名 和 /var/mail/用户名)。-f:强制删除用户,即使用户当前已登录。-Z:删除用户的 SELinux 用户映射(适用于启用了 SELinux 的系统)。
使用示例:
删除用户(保留主目录)
sudo userdel username
# 这种方式只会删除用户账户,但不会删除用户的主目录和邮件文件。
删除用户并删除主目录
sudo userdel -r username
# 这种方式会删除用户账户及其主目录和邮件文件。
强制删除用户
sudo userdel -f username
# 即使用户当前已登录,也会强制删除用户。
删除用户并清理 SELinux 映射
sudo userdel -rZ username
# 适用于启用了 SELinux 的系统。
注意事项:
- 权限要求:需要 root 权限,通常使用 sudo。
- 用户进程:如果用户有正在运行的进程,删除用户时可能会失败。可以使用 -f 选项强制删除,或者先终止相关进程。
- 主目录:如果不使用 -r 选项,用户的主目录和邮件文件将保留在系统中。
- 依赖文件:删除用户后,系统中可能仍存在属于该用户的文件(如 /home/username 中的文件),需要手动清理。
其他相关命令:
检查用户是否存在:
id username
# 如果用户存在,会显示用户信息;如果不存在,会提示“无此用户”。
终止用户进程:如果用户有正在运行的进程,可以使用以下命令终止:
sudo pkill -u username
sudo killall -u username
# 通过 userdel 命令,可以安全地删除用户账户及其相关文件。
2.7、passwd
passwd 命令用于在 Linux 系统中管理用户密码。
passwd [选项] [用户名]
# 如果不指定用户名,默认修改当前用户的密码。
# 如果指定用户名(需要管理员权限),可以修改其他用户的密码。
常用选项:
-l:锁定用户账户,禁止登录。-u:解锁用户账户。-d:删除用户密码,允许用户无需密码登录(不安全,不推荐)。-e:强制用户下次登录时修改密码。-S:显示用户密码状态(是否锁定、密码加密算法等)。-n:设置密码的最短使用期限(天数)。-x:设置密码的最长使用期限(天数)。-w:设置密码过期前的警告天数。-i:设置密码过期后的宽限天数。
使用示例:
修改当前用户的密码
passwd
# 系统会提示输入当前密码,然后输入新密码并确认。
修改其他用户的密码(需要管理员权限)
sudo passwd username
# 管理员可以直接为其他用户设置新密码。
锁定用户账户
sudo passwd -l username
# 锁定后,用户将无法登录。
解锁用户账户
sudo passwd -u username
删除用户密码
sudo passwd -d username
# 删除密码后,用户无需密码即可登录(不安全,不推荐)。
强制用户下次登录时修改密码
sudo passwd -e username
显示用户密码状态
sudo passwd -S username# 输出示例:
username P 05/10/2023 0 99999 7 -1各字段含义:
- 用户名
- 密码状态(P 表示有密码,L 表示锁定,NP 表示无密码)
- 最后修改密码的日期
- 最小密码年龄(天数)
- 最大密码年龄(天数)
- 警告天数
- 密码过期后的宽限天数
设置密码策略:
# 设置密码最短使用期限为 7 天:
sudo passwd -n 7 username# 设置密码最长使用期限为 90 天:
sudo passwd -x 90 username# 设置密码过期前 7 天提醒用户:
sudo passwd -w 7 username# 设置密码过期后 5 天内仍可登录:
sudo passwd -i 5 username
注意事项:
- 密码强度:系统通常会检查密码强度,过于简单的密码可能被拒绝。
- 管理员权限:修改其他用户的密码需要 root 权限,通常使用 sudo。
- 锁定账户:锁定账户后,用户将无法登录,但用户的主目录和文件仍然存在。
- 密码策略:合理设置密码策略可以提高系统安全性。
2.9、su
su 命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
su [选项] [用户名]
# 如果不指定用户名,默认切换到 root 用户。
# 切换用户后,会进入目标用户的 shell 环境。
常用选项:
-或-l或--login:以登录 shell 的方式切换用户,同时加载目标用户的环境变量和配置文件(如 ~/.bashrc 或 ~/.profile)。-c:执行一条命令后立即退出,不进入交互式 shell。-s:指定要使用的 shell(如 /bin/bash 或 /bin/sh)。-m或-p:保留当前环境变量,不加载目标用户的环境配置。
常用示例:
切换到 root 用户
su
# 系统会提示输入 root 用户的密码。
以登录 shell 的方式切换到 root 用户
su -
#这种方式会加载 root 用户的环境变量和配置文件。
切换到其他用户
su username
# 系统会提示输入目标用户的密码。
以登录 shell 的方式切换到其他用户
su - username
切换到用户并执行一条命令
su -c "command" username# 例如,以 root 用户身份创建一个文件:su -c "touch /root/testfile" root
指定使用的 shell
su -s /bin/bash username
保留当前环境变量
su -m username
注意事项:
- 密码要求:
- 切换到 root 用户或其他用户时,需要输入目标用户的密码。
- 如果当前用户是 root,切换到其他用户时不需要密码。
- 环境变量:
- 使用 su - 或 su -l 会加载目标用户的环境变量。
- 使用 su 或 su -m 会保留当前用户的环境变量。
- 退出切换的用户:
- 输入 exit 或按 Ctrl+D 可以退出当前用户,返回到之前的用户。
- 权限限制:
- 普通用户只能切换到其他用户(需要密码),而 root 用户可以切换到任何用户(无需密码)。
与 sudo 的区别:
su:直接切换到目标用户的身份,需要目标用户的密码。sudo:以当前用户的权限执行命令,需要当前用户的密码(或配置为无需密码)。
2.10、sudo
sudo 命令允许授权用户以超级用户(root)或其他用户的身份执行命令。
sudo [选项] 命令
# 默认情况下,sudo 以 root 用户身份执行命令。
# 执行命令时,系统会提示输入当前用户的密码(而非 root 密码)。
常用选项:
-u:以指定用户身份执行命令。-l:列出当前用户允许执行的 sudo 命令。-s:启动目标用户的 shell(默认为 root)。-i:以登录 shell 的方式启动目标用户的 shell(加载环境变量)。-v:刷新 sudo 的认证时间戳(延长有效期)。-k:清除 sudo 的认证时间戳(立即失效)。-b:在后台运行命令。-E:保留当前用户的环境变量。
使用示例:
以 root 身份执行命令
sudo command# 例如,安装软件包:
sudo apt update
以其他用户身份执行命令
sudo -u username command# 例如,以用户 testuser 的身份创建文件:
sudo -u testuser touch /home/testuser/testfile
启动 root 用户的 shell
sudo -s
以登录 shell 的方式启动 root 用户的 shell
sudo -i
在后台运行命令
sudo -b command
保留当前用户的环境变量
sudo -E command
刷新 sudo 认证时间戳
sudo -v
清除 sudo 认证时间戳
sudo -k
配置文件:
sudo 的权限配置存储在 /etc/sudoers 文件中。可以使用 visudo 命令安全地编辑该文件。
示例配置:
允许用户执行所有命令
username ALL=(ALL:ALL) ALL
允许用户执行特定命令
username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl
允许用户无需密码执行命令
username ALL=(ALL) NOPASSWD: /usr/bin/apt
注意事项:
- 密码提示:
- 执行 sudo 时,系统会提示输入当前用户的密码。
- 默认情况下,密码在 5 分钟内有效(无需重复输入)。
- 权限限制:
- 只有被授权的用户才能使用 sudo。
- 权限配置在 /etc/sudoers 文件中定义。
- 安全性:
- 避免直接使用 sudo 执行未知或不可信的脚本。
- 谨慎配置 NOPASSWD 选项,以免降低安全性。
- 日志记录:
- sudo 的所有操作都会被记录到 /var/log/auth.log 或 /var/log/secure 中,便于审计。
与 su 的区别:
sudo:以当前用户的权限执行命令,需要当前用户的密码。su:直接切换到目标用户的身份,需要目标用户的密码。
2.10.1、给普通用户授权 sudo
假设要给普通用户 mary 配置 sudo 权限:
/etc/sudoers文件存放了 sudo 的相关用户,但是默认是没有写权限的,所以需要设为可写:chmod u+w /etc/sudoers- 在该文件中添加
mary ALL=(ALL) ALL,保存并退出,让 mary 具有 sudo 的所有权限 - 再将
/etc/sudoers的权限恢复到默认状态:chmod u-w /etc/sudoers
2.10.2、 免密码授权 sudo
与给普通用户授权 sudo 类似,区别仅在于第 2 步:mary ALL=(ALL) NOPASSWD: ALL。
相关文章:
Linux运维——用户管理
Linux用户管理 一、Linux用户管理要点二、常用命令2.1、groupadd2.2、groupdel2.3、groupmod2.4、groups2.5、useradd2.6、userdel2.7、passwd2.9、su2.10、sudo2.10.1、给普通用户授权 sudo2.10.2、 免密码授权 sudo 一、Linux用户管理要点 创建用户组 - 使用 groupadd删除用…...
mac下dify+deepseek部署,实现私人知识库
目前deepseek 十分火爆,本地部署实现私有知识库,帮助自己日常工作,上一篇使用工具cherry studio可以做到私人知识库。今天学习了一下,使用Dify链接deepseek,实现私人知识库,也非常不错,这里分享…...
Linux中设置开机运行指令
系统:Debian 12 使用systemd来设置开机自启动脚本或命令是一个更加现代且推荐的方法。下面是具体的步骤: 创建守护脚本 首先,你需要创建一个Shell脚本文件,比如mydaemon.sh,并在其中编写你的守护脚本逻辑。确保这个脚…...
IDEA中列举的是否是SpringBoot的依赖项的全部?在哪里能查到所有依赖项,如何开发自己的依赖项让别人使用
在 IntelliJ IDEA 中列举的依赖项并不一定是 Spring Boot 项目的全部依赖项。IDEA 通常只显示你在 pom.xml(Maven)或 build.gradle(Gradle)中显式声明的依赖项,而这些依赖项本身可能还会引入其他传递性依赖。 1. 如何…...
Ollama命令使用指南
Ollama 命令使用指南 Ollama 命令使用指南1. Ollama 命令概览2. Ollama 命令详解2.1 启动 Ollama2.2 创建模型2.3 查看模型信息2.4 运行模型2.5 停止运行的模型2.6 从注册表拉取模型2.7 推送模型到注册表2.8 列出本地模型2.9 查看正在运行的模型2.10 复制模型2.11 删除模型 3. …...
LIMO:上海交大的工作 “少即是多” LLM 推理
25年2月来自上海交大、SII 和 GAIR 的论文“LIMO: Less is More for Reasoning”。 一个挑战是在大语言模型(LLM)中的复杂推理。虽然传统观点认为复杂的推理任务需要大量的训练数据(通常超过 100,000 个示例),但本文展…...
Android studio怎么创建assets目录
在Android Studio中创建assets文件夹是一个简单的步骤,通常用于存储不需要编译的资源文件,如文本文件、图片、音频等 main文件夹,邮件new->folder-assets folder...
常见的前端框架和库有哪些
1. React 描述:由 Facebook 开发的一个 JavaScript 库,用于构建用户界面,尤其是单页面应用(SPA)。特点: 基于组件的架构,便于重用 UI 组件。使用虚拟 DOM 提升性能。容易与其他库和框架集成。 …...
【批量获取图片信息】批量获取图片尺寸、海拔、分辨率、GPS经纬度、面积、位深度、等图片属性里的详细信息,提取出来后导出表格,基于WPF的详细解决方案
摄影工作室通常会有大量的图片素材,在进行图片整理和分类时,需要知道每张图片的尺寸、分辨率、GPS 经纬度(如果拍摄时记录了)等信息,以便更好地管理图片资源,比如根据图片尺寸和分辨率决定哪些图片适合用于…...
数据结构与算法(test3)
七、查找 1. 看图填空 查找表是由同一类型的数据元素(或记录)构成的集合。例如上图就是一个查找表。 期中(1)是______________. (2)是______________(3)是_____关键字_______。 2. 查找(Searching) 就是根据给定的某个值, 在查…...
基于Python的人工智能驱动基因组变异算法:设计与应用(下)
3.3.2 数据清洗与预处理 在基因组变异分析中,原始数据往往包含各种噪声和不完整信息,数据清洗与预处理是确保分析结果准确性和可靠性的关键步骤。通过 Python 的相关库和工具,可以有效地去除噪声、填补缺失值、标准化数据等,为后续的分析提供高质量的数据基础。 在基因组…...
C++ 顺序表
顺序表的操作有以下: 1 顺序表的元素插入 给定一个索引和元素,这个位置往后的元素位置都要往后移动一次,元素插入的步骤有以下几步 (1)判断插入的位置是否合法,如果不合法则抛出异常 (2&…...
Mac(m1)本地部署deepseek-R1模型
1. 下载安装ollama 直接下载软件,下载完成之后,安装即可,安装完成之后,命令行中可出现ollama命令 2. 在ollama官网查看需要下载的模型下载命令 1. 在官网查看deepseek对应的模型 2. 选择使用电脑配置的模型 3. copy 对应模型的安…...
Docker 部署 redis | 国内阿里镜像
一、简易单机版 1、镜像拉取 # docker hub 镜像 docker pull redis:7.0.4-bullseye # 阿里云镜像 docker pull alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/redis_optimized:20240221-6.2.7-2.3.0 2、运行镜像 docker run -itd --name redis \n …...
48V电气架构全面科普和解析:下一代智能电动汽车核心驱动
48V电气架构:下一代智能电动汽车核心驱动 随着全球汽车产业迈入电动化、智能化的新时代,传统12V电气系统逐渐暴露出其无法满足现代高功率需求的不足。在此背景下,48V电气架构应运而生,成为现代电动汽车(EV)…...
滤波器截止频率的计算
1、RC低通滤波器 图1.1 RC低通滤波器 RC低通滤波器如图1.1所示,电阻R串联电容C,输入电压记为Ui ,输出电压记为Uo。 电容容抗记为,其中ω 2πf。 根据串联分压,列出传递函数。 将①式最右侧的分子与分母各乘以1-jω…...
服务器绑定 127.0.0.1 和 0.0.0.0 的区别
前言 IP 地址实际上并不是分配给计算机的,而是分配给网卡的,因此当计算机上存在多块网卡时,每一块网卡都会有自己的 IP 地址。 绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口,该接口只处理本机上的数据,…...
DeepSeek提示词手册
一、核心原则:基于DeepSeek的推理特性 自然语言优先undefinedDeepSeek擅长理解自然表达,无需复杂模板。例如: ❌旧模板:"你是专业分析师,需分三步回答,第一步…" ✅高效提问:"…...
校园网规划方案
个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?typeblog 本课程设计参考学习计算机网络 思科Cisco Packet Tracer仿真实验_哔哩哔哩_bilibili, 文章和pkg详见个人博客站: http://www.kervin24.to…...
python怎么求 一个数是否包含3
python求一个数包含3的方法: 1、使用“for i in 列表名”循环遍历列表中的每一个元素并将每个元素用str()函数转换成字符串格式 2、用“if str(3) in i”判断该元素中是否含有3 完整代码如下: 执行结果如下:...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
