弄乱了 /var/www 的权限

弄乱了 /var/www 的权限

我在 virtualBox 中安装了 Ubuntu 10.10,我将使用它进行一些本地开发。我已经安装了 PHP、Apache 和 MySQL,并想使用 vsftpd 访问 /var/www,这样我就可以在 Windows 安装(virtualbox 正在从中运行)上进行开发并通过 FTP 传输文件。

我最初收到一条错误消息,称当我通过 FTP 将文件传输到 /var/www 时,访问被拒绝,因此我认为需要对 chmod 进行一些调整。我不是专家,所以事先阅读了一些资料,并执行以下操作:

sudo chmod -R 777 /var/www
sudo chown james:james /var/www

我现在可以通过 FTP 传输文件,但在 Web 浏览器中加载新传输的文件时,我收到权限被拒绝的错误。新文件没有我设置的 777 权限 - 每次传输新内容时,您肯定不需要使用 chmod 吧?

这是我遇到的简单问题,所以我只知道将来 PHP 和 MySQL 访问时会出现权限问题,所以我真的需要一些帮助!如果有人能建议我可以使用一些权限,我将不胜感激。安全性不是问题,因为这些都是本地的,我只想尽快启动并运行它!

在我的 Windows 安装上安装 XAMPP 可能会更好,但我想将其分开,并在设置过程中学习一两件事!

以下是输出ls -l /var/www

-rw------- 1 james www-data 3458 2011-03-31 00:36 g.jpg
-rwxrwxrwx 1 james www-data  177 2011-03-27 23:16 index.html
-rwxrwxrwx 1 james www-data   21 2011-03-28 01:18 test.php

在我执行 chmod 命令之前,index.html 和 test.php 位于 /var/www 中,而在我调整权限之后,g.jpg 已通过 FTP 传输。我运行了 chown james:www-data,但这并没有解决 Apache 访问问题。

答案1

我猜umask就是您所需要的。umask 是用于设置新创建文件的权限的 *nix (POSIX) 命令。

大多数 FTP 服务器都直接实现了 umask 指令。例如,广泛使用的FTP 服务有这个指示,您可以按照自己想要的方式进行配置。

希望这可以帮助。

相关内容