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

使用AWS Secrets Manager命令创建.env文件时遇权限拒绝问题

问题原因

你的命令里,sudo仅作用于aws secretsmanager get-secret-value这一段,后面的管道(|)和重定向(>)操作是用当前普通用户权限执行的,而普通用户没有/srv/kingskidz/目录的写入权限,因此触发Permission denied错误。

解决方法

方法1:用sudo执行整个命令链

把整个命令用bash -c包裹,让所有操作都在sudo权限下执行:

sudo bash -c 'aws secretsmanager get-secret-value --secret-id "KingsKidzApplication-env" --region "ap-southeast-2" | jq -r '.SecretString' | jq -r "to_entries|map(\"\(.key)=\\\"\(.value|tostring)\\\"\")|.[]" > "/srv/kingskidz/.env"'

方法2:先输出到临时文件再移动

先将内容写入当前用户有权限的临时目录,再用sudo移动到目标位置,这种方式更直观且不易出错:

# 生成临时文件
aws secretsmanager get-secret-value --secret-id "KingsKidzApplication-env" --region "ap-southeast-2" | jq -r '.SecretString' | jq -r "to_entries|map(\"\(.key)=\\\"\(.value|tostring)\\\"\")|.[]" > /tmp/kingskidz_temp.env
# 移动到目标目录
sudo mv /tmp/kingskidz_temp.env /srv/kingskidz/.env

额外说明

  • 不需要调整/srv/kingskidz/目录的权限(除非有其他需求),修改目录权限会带来不必要的安全风险。
  • 你配置的EC2实例角色权限没问题,错误和Secrets Manager权限无关,完全是本地文件系统的权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:27:03