我正在尝试在 /var/www 文件夹 (debian) 中创建文件,但该文件夹是只读的。我创建文件的唯一方法是进入 root 并在终端中创建它。然后我还必须在那里编辑内容。我如何在 www 目录中创建文件和文件夹,或者使其不是只读的但仍然安全。我不明白这是怎么回事……谢谢
答案1
您可以将所有权更改为/var/www
您的用户或组,或在其中创建一个子目录/var/www
并授予您自己所有权。如果您的用户名是“david”,那么:
david$ su -
root# chown david /var/www
或者:
david$ su -
root# mkdir /var/www/david
root# chown david /var/www/david
然后,您的用户将能够在您授予自己所有权的任何目录中进行读取和写入。
答案2
sudo chown `whoami` /var/www
这会将 /var/www 的所有者设置为当前用户,即whoami
返回的内容。
如果您要维护 apache 实例,您应该真正了解 posix 系统中文件/目录的权限和所有权。
这可能不是最好的链接,但它是谷歌上第一个“理解 unix 权限”的链接:http://www.perlfect.com/articles/chmod.shtml
答案3
您可以通过更改文件夹的权限来做到这一点。
$ chmod 664 我的文件/文件夹
答案4
您可以保存到 /tmp,然后使用 ftp 函数(如 PHP 的 ftp_fput())将临时文件推送到其正确位置。让服务器 ftp“回到自身”似乎很疯狂,但文件将归 ftp 用户所有,而不是 apache 用户。请务必删除 tmp 文件并保护具有 ftp 密码的文件。us3.php.net/manual/en/function.ftp-fput.php