我正在对在 Amazon EC2 上运行的 Ubuntu (9.10) 服务器实例进行夜间备份。今天早上,我从最近保存的映像启动了一个新实例。当我通过 ssh 进入从映像创建的实例时,我在原始实例上创建的 ACL 不存在。
acl 选项在已安装的驱动器上运行,我可以在文件夹上运行setfacl
并getfacl
正常运行,但 getfacl 返回的权限在实例之间并不相同。
我认为最可能的原因是,无论 acl 权限存储在哪里都不会被复制,ec2-bundle-vol
但我不知道 acl 存储在哪里,所以我不知道如何在新创建的实例上复制和恢复它们。
答案1
ec2-bundle-vol 在构建捆绑包时似乎没有将 -A 选项传递给 rsync。您需要将其添加到源,以便复制 ACL。
尝试在名为 /usr/lib/ec2-ami-tools/lib/ec2/platform/linux/rsync.rb 的文件中将“-rlpgoD”更改为“-rlpgoDA”(尽管它可能安装在完全不同的目录中,具体取决于您的发行版)。