当前位置: 首页 > wzjs >正文

网站建设公司的市场营销方案模板推广普通话手抄报

网站建设公司的市场营销方案模板,推广普通话手抄报,做sohu最好的推广网站,上海外贸学院一、引子:一个“手滑”引发的血案 某天凌晨,运维工程师小张在维护生产服务器时,误输入了 systemctl start reboot.target,导致整台服务器瞬间重启,线上服务中断30分钟,直接损失数十万元。事后排查发现&…

一、引子:一个“手滑”引发的血案

某天凌晨,运维工程师小张在维护生产服务器时,误输入了 systemctl start reboot.target,导致整台服务器瞬间重启,线上服务中断30分钟,直接损失数十万元。事后排查发现,这台服务器并未对关键操作做权限隔离。

问题核心:如何防止类似rebootpoweroff等危险命令被误执行?答案就藏在systemd的 RefuseManualStartRefuseManualStop参数中。


二、RefuseManualStart/Stop 是什么?

1. 参数定义

  • RefuseManualStart=yes
    禁止用户手动启动该单元(如systemctl start unit.service

  • RefuseManualStop=yes
    禁止用户手动停止该单元(如systemctl stop unit.service

2. 设计初衷

这两个参数是systemd的安全防护机制,用于限制对关键系统单元(如reboot.target)的直接操作,确保系统状态变更只能通过预定义的依赖链触发。


三、配置实战:给危险操作上锁

案例1:禁用直接重启系统

# 查看reboot.target默认配置
$ systemctl cat reboot.target

在 /etc/systemd/system/reboot.target.d/refuse.conf 中添加:

[Unit]
RefuseManualStart=yes
RefuseManualStop=yes

效果验证

$ sudo systemctl start reboot.target
Failed to start reboot.target: Operation refused, unit reboot.target may be requested by dependency only.

案例2:保护关键服务(如数据库)

保护MySQL服务不被随意停止:

# 创建覆盖配置文件
$ sudo systemctl edit mysql.service# 添加以下内容
[Unit]
RefuseManualStop=yes

此时尝试停止服务

$ sudo systemctl stop mysql
Failed to stop mysql.service: Operation refused, unit mysql.service may be stopped by dependency only.

四、参数原理深度解析

1. 依赖关系优先级

当单元被标记为RefuseManualStart=yes时,它只能通过以下方式启动

  • 被其他单元列为RequiresWants依赖
  • 由定时器(timer)触发
  • 系统状态变更(如切换到特定target)

2. 与权限控制的区别

控制方式作用层级生效场景
RefuseManualStartsystemd单元级阻止systemctl start/stop
Sudo权限用户命令级阻止低权限用户执行命令
文件权限文件系统级阻止所有用户执行二进制文件

五、应用场景:何时该使用这些参数?

1. 生产服务器保护

  • 禁止随意重启:对reboot.targetpoweroff.target启用
  • 保护核心服务:如数据库、负载均衡器

2. 多用户环境管控

  • 限制普通用户通过systemctl操作敏感服务

3. 防止自动化脚本误操作

  • 确保脚本无法直接调用危险命令

六、注意事项与调试技巧

1. 常见问题排查

  • 单元无法自动启动?
    检查依赖链是否完整(使用systemctl list-dependencies

  • 配置未生效?
    执行systemctl daemon-reload重载配置

2. 紧急恢复方法

若误锁关键服务,可通过覆盖配置恢复:

$ sudo systemctl edit SERVICE_NAME
# 删除或注释RefuseManualStart/Stop行

七、扩展:与其他安全机制的联动

1. 结合Sudoers限制

/etc/sudoers中禁止特定命令:

User_Alias  RESTRICTED_USERS = alice, bob
RESTRICTED_USERS ALL = ALL, !/bin/systemctl start reboot.target

2. 使用Polkit细化策略

通过Polkit规则限制图形界面操作:

<!-- 创建 /etc/polkit-1/rules.d/90-refuse-reboot.rules -->
polkit.addRule(function(action, subject) {if (action.id == "org.freedesktop.login1.reboot") {return subject.user == "root" ? polkit.Result.YES : polkit.Result.NO;}
});

八、总结

通过 RefuseManualStart 和 RefuseManualStop,我们实现了对系统关键操作的“双保险”防护。这种机制的优势在于:

  1. 精准控制:针对单个单元设置,不影响其他服务
  2. 防御纵深:与文件权限、Sudo策略形成多层防护
  3. 透明可控:依赖systemd原生功能,无需额外工具

最后提醒:任何安全措施都需要在测试环境充分验证后再部署到生产环境!


附录:本文所有配置已在CentOS 8 / systemd 239环境中验证,理论适用于所有主流Linux发行版。如有疑问,欢迎在评论区留言讨论!

http://www.dtcms.com/wzjs/509650.html

相关文章:

  • 河南省能源规划建设局网站北京seo教师
  • 网站建设做的好处游戏app拉新平台
  • 珠海网站建设培训学校推广公司好做吗
  • 网站会员体系方案宿迁网站建设制作
  • 这样做网站服装店营销策划方案
  • 免费的网站推荐下载百度建站多少钱
  • 网站建设的研发项目网站在线优化检测
  • 网站信息化建设存在的困难深圳网页搜索排名提升
  • 青州网站设计公司模板建站哪里有
  • 网站建设小企业案例电脑清理优化大师
  • 顺德网站建设多少钱搜索关键词网站
  • 网站建设计划书怎么写怎么做一个自己的网页
  • 哪些网站可以医生做兼职网站关键词推广
  • 如何提高网站访问速度企业网站cms
  • 网站设计设汕头seo推广外包
  • 小语种网站制作爱站网长尾关键词
  • 网站底部流程竞价托管如何托管
  • 优化教程网站推广排名销售网站排名
  • c 转网站开发上海网站设计
  • 做百家好还是个人网站seo顾问合同
  • 做外贸营销网站中国站免费推广入口
  • 香港永久免费云服务器seo排名点击工具
  • 加大网站和微信号建设发挥宣传平台实效性广东seo推广
  • 四平网站建设电话什么是关键词排名优化
  • 天津市工程建设项目报建网站百度网站的域名地址
  • 英雄联盟做的广告视频网站免费建站网站
  • 大庆做网站最厉害的人指数型基金
  • 计算机网站建设开题报告信息流优化师简历模板
  • 客户网站建设洽谈方案百度推广官网登录
  • 小程序app分销网站建设企业软文营销