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

网站建设网站制作有限做网站服务器可以挂到外地么

网站建设网站制作有限,做网站服务器可以挂到外地么,网站里图片做超链接,做企业网站的步骤一、引子:一个“手滑”引发的血案 某天凌晨,运维工程师小张在维护生产服务器时,误输入了 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/826628.html

相关文章:

  • 宁国市网站建设衡水营销型网站建设
  • wordpress获取当前分类的子分类广西网站建设产品优化
  • 厅网站建设项目背景网站首页flash模板
  • 在线做动图的网站临安做企业网站的公司
  • 巴中建设银行网站安装2个wordpress
  • 怎么做家具定制网站网站子页面设计
  • 合江做网站品牌策划公司有哪些
  • 海南高端网站建设定制网页设计与制作教程书电子版
  • 建设网站后如何做后台网站建设规划ppt模板
  • 网站接入地优秀网页设计平台
  • 怎么做网站首页psd新网域名搭建网站
  • 郑州专业的网站建设招聘网站制作
  • 做网站推广费用网站多国语言
  • 网站的重要目录对百度进行了封禁松江新桥专业网站建设
  • 电脑公司网站源码宁波住房和城乡建设局网站首页
  • 中国中小企业网站建设现状wordpress qqlogin
  • 沧州手机网站开发建设一个网站的硬件要求吗
  • 网站聊天代码庆阳网站制作
  • 网站logo怎么替换网站seo排名查询
  • 兴安盟老区建设促进会网站关于酒店网站规划建设方案书
  • 制作网站接单通信设计是干什么的
  • 淘宝店铺做网站收录装饰设计有限公司
  • 充值网站制作如何建立自己的超市网站
  • 珠海手机建站模板手机网站建设开发
  • 网站开发公司售后服务网络系统管理员
  • 怀柔做网站的公司网站定制开发北京
  • 做网站用虚拟主机好不好wordpress阿里云服务器开启伪静态
  • 网站答辩ppt怎么做湛江网站建设湛江
  • 晋中住房保障和城乡建设局网站湛江有那些网站制作公司
  • 网站建设如何排版建设网站用什么软件排版