You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编辑sudoers文件实现用Python应用杀进程且不授予root kill权限

问题根因

你当前的/etc/sudoers配置仅授权user123以root身份执行/usr/local/bin/killzombies.py脚本,触发权限报错的核心原因是:

  • 若你运行脚本时未加sudo前缀,脚本内部存在调用sudo kill -9的逻辑,此时sudo会校验/bin/kill的执行权限,你并未给该命令单独授权,因此触发报错
  • 就算你加了sudo运行脚本,若脚本内部仍保留了sudo kill的冗余逻辑,也会触发二次sudo权限校验,同样会抛出该错误

修复方案

全程不需要给user123开放sudo kill的权限,按下面步骤操作即可:

  • 编辑/usr/local/bin/killzombies.py脚本,删掉所有命令前的sudo前缀,直接调用/bin/kill即可。当你用sudo运行整个脚本时,脚本内的所有命令默认都会以root身份执行,不需要二次加sudo。
  • 后续执行脚本时统一使用sudo前缀:
sudo /usr/local/bin/killzombies.py
  • (可选优化)如果不想每次输入完整路径和sudo,可以给user123配置命令别名:
    打开user123家目录下的.bashrc(用zsh则修改.zshrc),末尾添加一行:
alias killzombies='sudo /usr/local/bin/killzombies.py'

执行source ~/.bashrc(对应zsh执行source ~/.zshrc)后生效,后续直接输入killzombies即可执行脚本。

效果确认

调整后完全符合你的预期:

  • user123仅能通过固定脚本清理僵尸进程,没有单独执行sudo kill -9的权限
  • 脚本运行不会再触发权限报错

内容的提问来源于stack exchange,提问作者linda_s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:15:04