CentOS下普通用户可用AWS CLI,sudo执行提示命令未找到
问题解决:sudo下无法找到AWS CLI命令
直接解决方案
1. 使用完整路径执行aws命令
先在普通用户下获取aws的绝对路径:
which aws
假设返回/home/holland/.local/bin/aws,执行sudo时用完整路径:
sudo /home/holland/.local/bin/aws --version
2. 修改sudo的环境变量PATH
编辑sudo的配置文件:
sudo visudo
找到Defaults secure_path行,将aws所在的目录添加到末尾。比如上面的路径是/home/holland/.local/bin,修改后如下:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/home/holland/.local/bin
保存退出后,重新执行sudo aws --version即可生效。
3. 创建软链接到系统默认路径
将aws命令链接到sudo能识别的系统目录(比如/usr/bin):
sudo ln -s $(which aws) /usr/bin/aws
完成后直接执行sudo aws --version就能正常运行。
排查步骤
- 确认aws的安装路径:普通用户下执行
which aws,记录返回的路径 - 对比PATH差异:分别执行
echo $PATH(普通用户)和sudo echo $PATH,查看aws所在目录是否在sudo的PATH列表中 - 检查sudo的secure_path配置:执行
sudo grep secure_path /etc/sudoers,确认配置的路径包含aws的安装目录 - 验证软链接有效性:若创建了软链接,执行
ls -l /usr/bin/aws查看是否指向正确的aws执行文件
内容的提问来源于stack exchange,提问作者Jack Finan
相关产品推荐
相关产品推荐

