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

Ubuntu Shell脚本权限异常求助:无法执行且无法赋予执行权限

无法执行Shell脚本且无法分配执行权限的问题排查与解决

核心问题分析与修复步骤

1. 错误的chmod参数导致执行权限未添加

你执行的sudo chmod -x ~/.local/bin/renew_ssl.sh是移除执行权限的操作,而非添加。正确的添加执行权限命令是使用+x参数:

chmod +x ~/.local/bin/renew_ssl.sh

因为文件所有者是myuser,不需要用sudo执行chmod,直接用普通用户权限即可完成权限修改。执行后再用ls -l检查,权限会变成-rwxrw-r--,此时直接运行脚本就不会提示权限拒绝。

2. sudo运行脚本提示“command not found”的原因

sudo默认使用的PATH环境变量不包含用户个人目录(如/home/myuser/.local/bin),所以直接用sudo renew_ssl.sh会找不到命令。解决方式有两种:

  • 使用绝对路径运行脚本:
    sudo /home/myuser/.local/bin/renew_ssl.sh
    
  • 更合理的方式:给脚本添加执行权限后,直接以普通用户身份运行脚本——因为你的脚本内部已经包含sudo命令,运行时会自动提示输入sudo密码,无需用sudo启动整个脚本。

3. 额外注意事项

确保你的myuser账号拥有执行脚本内命令的sudo权限,比如能通过sudo操作systemctl、certbot、docker。可以通过编辑sudoers文件(使用visudo命令)配置免密权限,或者确保执行时输入的密码能通过验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:52:18