无法使用通过 taskel 安装的 lamp 保存 /var/www 中的文件

无法使用通过 taskel 安装的 lamp 保存 /var/www 中的文件

我刚刚用taskel安装了lamp,它可以工作。但是

  1. 在里面/var/www我只能用终端的 sudo 创建文件,我不知道为什么。在另一个 Ubuntu 安装中我没有遇到这样的问题。
  2. 我创建了一个名为的文件index.php,但我甚至无法保存它。

这是我从 Sublime Text 得到的错误:

Unable to save /var/www/index.php
Error: unable to create tmp file in /var/www

以下是 Geany 的观点:

Error opening file '/var/www/index.php': Permission denied
The file on disk may now be truncated!

答案1

如果您要成为维护该网站的用户,那么请确保您的用户 ID 可以编辑这些文件。

cd /var/www && sudo chown -R `whoami`:`whoami` .

如果您这样做,那么您将能够修改 /var/www 下的文件,因为这些文件将属于您和您的个人组。-R 以递归方式运行该命令 - 它在当前文件(目录)以及目录中和目录下的所有文件(包括隐藏文件)上运行

如果您最近(几分钟)没有运行 sudo 命令,它会要求您输入个人密码。

也可以设置组等。不过这是最简单的方法。

确保 Web 服务器可以读取这些文件。如果这是个问题,那么 - 因为您现在拥有这些文件,所以您可以使用 chmod 命令:

cd /var/www && chmod -R o+r .

如果这不能使目录可执行,您可能还需要执行以下操作:

find /var/www -type d -print0 | xargs -0 chmod o+x

这将(find)收集目录名称列表并将它们(作为空分隔列表)传递给 xargs,后者将执行 chmod 以使目录可执行。

据相关报道:编辑和添加文件到“/var/www”的最简单方法是什么?, – Desmond Hume 2012 年 11 月 12 日 14:42 向 @DonFaulkner 建议

出于安全原因,最好将 /var/www 保留为 root:root 所有,因此最好sudo chgrp -R www-data /var/www改为sudo chgrp -R www-data /var/www/*

相关内容