【问题标题】:Proper permissions for website directories and to enable rsync deployment网站目录的适当权限并启用 rsync 部署
【发布时间】:2018-08-05 09:10:30
【问题描述】:

我正在 Digital Ocean 的新 Ubuntu droplet 上建立一个新网站。我之前在另一个 Droplet 上进行了设置,并将网站内容同步到它。我按照我在网上找到的说明进行操作,但没有保留足够详细的笔记。我只是想在新的 Droplet 上复制它。但我不知何故搞砸了。我对权限等的了解是初级的:-(


我的服务器有:/var/www/html

这就是我所做的:

• sudo usermod -a -G www-data [myusername] • sudo chown -R www-data:www-data /var/www • sudo chmod -R g+rw /var/www • sudo chmod -R g+rws /var/www

然后我为我的网站创建了“/var/www/howardmann.us/public_html”。

(我没有将 public_html 目录放在 var/www/html 中。我没有放在我的另一个 Droplet 上。也许我应该。)


sudo ls -la /var/www

总共 16 个 drwxrwsr-x 4 www-data www-data 4096 Feb 25 15:43 。 drwxr-xr-x 14 根根 4096 Feb 24 14:27 .. drwxr-sr-x 3 根 www-data 4096 Feb 25 15:43 howardmann.us drwxrwsr-x 2 www-data www-data 4096 Feb 25 15:42 html


sudo ls -la /var/www/howardmann.us/public_html 共 8 个 drwxr-sr-x 2 根 www-data 4096 Feb 25 15:43 。 drwxr-sr-x 3 root www-data 4096 Feb 25 15:43 ..


现在,rsync 脚本的摘录(对我的其他 Droplet 成功)现在来自我的笔记本电脑:

1.

霍华德姆$ ./deploy.sh 发送增量文件列表 rsync:无法在“/var/www/howardmann.us/public_html/”上设置时间:不允许操作 (1)

  1. rsync: recv_generator: mkdir "/var/www/howardmann.us/public_html/css" 失败:权限被拒绝 (13) * 跳过此失败目录中的任何内容 *

3.

rsync: mkstemp "/var/www/howardmann.us/public_html/.DS_Store.8zaaQg" 失败:权限被拒绝 (13)


问题:如何修复服务器目录的所有权和权限,以实现 1) 网站的适当权限和 2) 允许 rsync 部署?

为了比较,这是我当前在另一个 Droplet 上工作的网站的状态:


霍华德姆@霍华德曼:~$ ls -la /var/www/ 共 20 个 drwxrwxr-x 5 霍华德 www-data 4096 2016 年 3 月 5 日。 drwxr-xr-x 13 根 4096 2015 年 3 月 28 日 .. drwxrwxr-x 4 霍华德 www-data 4096 2016 年 6 月 8 日 howardmann.us drwxrwxr-x 2 霍华德 www-data 4096 2015 年 3 月 29 日 html


谢谢!

霍华德

【问题讨论】:

    标签: permissions webserver rsync


    【解决方案1】:

    好吧,我在阅读了有关网站权限的更多信息后解决了这个问题。

    我的网站文件夹名为 howardmann.us,其中包含一个包含网站内容的 public_html 文件夹。

    所以:/var/www/howardmann.us/public_html。 (/var/www 也包含一个 html 目录)

    我通过以下方式获得了相关所有权/权限:

    1. sudo chown -R howardm:www-data /var/www/

    我是所有者,www-data 是该组。

    1. sudo usermod -a -G www-data [myusersername]

    我是 www-data 组的成员

    1. sudo chmod -R 2775 /var/www/

    这会产生适当的权限,我相信对于网站而言。

    我确保将相同的所有者:组应用于所有这些目录:


    ls -l /var/www 共 8 个 drwxr-sr-x 3 霍华德 www-data 4096 Feb 26 19:23 howardmann.us drwxrwsr-x 2 霍华德 www-data 4096 Feb 25 15:42 html


    ls -l /var/www/howardmann.us 共 4 个 drwxr-xr-x 11 霍华德 www-data 4096 2017 年 2 月 5 日 public_html


    现在 rsync 可以正常工作了。

    如果有人认为网站的这些所有权/权限(基本上)不正确,请发表评论。

    霍华德

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 2011-08-13
      相关资源
      最近更新 更多