cwd*_*cwd 4 ubuntu permissions rsync chown
我已经设置了一个新的 ec2 ubuntu 框并安装了 apache 和 php5。默认情况下,您使用ubuntu具有sudo权限的用户登录到该框。
我相信 apache 运行为rootphp5 运行为www-data.
我想我希望所有文件/var/www都被 chown'ed www-data:www-data,文件夹设置为 755,文件设置为 644 - 除非有问题。
事情像这样运行良好,但我的问题是,当我rsync从笔记本电脑文件到服务器时,它会更改它们的所有权(并添加新文件)为ubuntu:admin
我已经阅读了rsync手册并搜索了谷歌,我看到了这样的语法:
rsync -avzcO (source) (destination) --owner=www-data --group=www-data
Run Code Online (Sandbox Code Playgroud)
但是,如果 rsync 以超级用户身份执行,则似乎--ownerand--group不接受参数,而是用于强制远程文件与本地文件系统具有相同的所有者。
因此,我还没有找到使用 rsync 的解决方案来在 rsync 期间设置远程用户和文件组。
我究竟做错了什么?
想法:
ubuntu:admin?www-data用户rsync但这似乎不是一个好主意您不希望 www-data 拥有它们。Apache 最初以 root 身份运行,然后将权限授予 www-data。您不希望拥有 apache 进程的用户可写您的 Web 内容。这会造成安全漏洞。
如果 Apache 被破解,理想情况下 www-data 用户将无法访问任何系统。这是最安全的配置。如果 web 内容归 www-data 所有,如果 Apache 被破解,那么攻击者可以覆盖您的任何 web 内容。
您的网页内容应归普通用户所有(不包括nobody、www-data和root)。只有需要Apache 可写的东西才应该归 www-data 所有。