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

通过堡垒机Rsync至EFS目录:SSH用户以www-data身份读写权限问题

解决EFS挂载目录下非www-data用户写入及rsync同步问题

针对你遇到的场景——ECS上的WordPress容器挂载EFS到/var/www/html/wp-content,堡垒机EC2挂载同一份EFS后,ubuntu用户无法直接写入、rsync同步失败的问题,给你几个可行的解决思路:

方法1:用rsync的--chown参数直接同步并修改文件归属

这是最适配同步需求的方案,rsync支持在同步完成后自动修改目标文件的属主属组,不用切换用户就能完成同步,且同步后的文件权限完全符合WordPress容器的要求:

rsync -av --chown=www-data:www-data /本地插件目录/ ubuntu@堡垒机IP:/mnt/efs/wp-content/plugins/
  • 逻辑:同步过程直接把文件属主属组改成www-data,既绕过当前ubuntu用户的写入限制,又保证WordPress容器能正常读写这些文件。
  • 注意:确保堡垒机上的rsync版本支持--chown参数(主流Linux发行版均支持)。

方法2:配置sudo免密执行rsync(以www-data身份)

如果不想修改同步参数,可以给ubuntu用户配置免密权限,让它能直接以www-data身份执行rsync,省去每次输入sudo密码的麻烦:

  1. 编辑sudoers文件:
sudo visudo
  1. 添加以下内容(路径需和堡垒机上rsync实际路径一致):
ubuntu ALL=(www-data) NOPASSWD: /usr/bin/rsync
  1. 保存退出后,直接用以下命令同步:
sudo -u www-data rsync -av /本地插件目录/ /mnt/efs/wp-content/plugins/

方法3:调整EFS目录的ACL与组权限(适合长期频繁写入场景)

如果需要堡垒机用户频繁操作EFS目录,可通过调整组权限和setgid位实现无sudo写入:

  1. 确认ubuntu用户已加入www-data组(加入后需重新登录SSH会话生效):
sudo usermod -aG www-data ubuntu
# 重新登录后验证:
groups ubuntu
  1. 给EFS的wp-content目录设置setgid位,确保新创建的文件自动继承目录的组归属:
sudo chmod g+s /mnt/efs/wp-content/
  1. 给www-data组添加写入权限(仅针对需要修改的子目录,比如plugins、themes):
sudo chmod g+w /mnt/efs/wp-content/plugins/ /mnt/efs/wp-content/themes/
  • 逻辑:setgid位让新文件的组归属和目录保持一致,加上组写入权限后,ubuntu用户作为www-data组成员就能直接写入,同时WordPress容器的www-data用户也能正常操作,不会破坏原有权限体系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 05:24:32