ubuntu 上的权限

ubuntu 上的权限

我刚刚安装了 Ubuntu 和 LAMPP。我对这些都很陌生,所以请耐心等待。我已将 LAMPP 安装到 /opt/lampp

我的 /opt/lampp/htdocs 文件夹是http://本地主机指向。在过去的一个小时里,我无法在该目录中写入。我终于做到了sudo chown rondog /opt/lampp/htdocs,但现在却无法写入。(rondog 就是我,是机器上唯一的实际“用户”)

当我运行我的一个 PHP 脚本时,尝试调用某个fopen方法时出现权限被拒绝错误。我需要做什么才能写入此文件夹以及 PHP 可以执行 fopen 和 fwrite 等命令?谢谢

答案1

一种可能性是将 Apache 用户和组设置为rondog。这样,您和服务器始终可以使用创建的文件夹和文件。可以按如下方式完成:

编辑(如果不存在则创建)/etc/apache2/httpd.conf并添加以下行:

User rondog
Group rondog

保存文件并重新启动服务器:

$ sudo /etc/init.d/apache2 restart

每当您使用以下内容时,新添加的用户都会弹出:

$ ps aux | grep apache 

不过,有一个建议:将 localhost 文件保存在主目录中。如果您想要全新更新 Ubuntu 版本,将个人文档保存在主目录中会更容易切换。此外,在这种情况下,您不必sudo chown每次创建新文件夹时都使用该命令。

答案2

您有多种选择。您可以按照 Tim H 的建议进行操作:

chmod -R 777

这将为每个人设置读写权限。

但通常这太宽泛了。您可以创建一个新组,将您自己和 Web 服务器用户置于其中,并只允许你们两个人访问和写入文件:

$ sudo -i
# addgroup lamppusers
# adduser rondog lamppusers
# adduser www-data lamppusers # check, that www-data is the correct user
# chown -R :lamppusers /opt/lampp/htdocs
# chmod g+srwx /opt/lampp/htdocs

如果你不确定是否www-data是合适的 LAMPP 用户,请发出

cat /etc/passwd

并查找一行,该行可能看起来像是 LAMPP 使用的用户。否则,如果您之前已设置 chmod 777,请使用 ls -l 查看 PHP 生成的文件以查看它们属于谁。

g+srwx是写入777访问权限的另一种方式,但另外设置粘着位

最后,如果您需要更细粒度的访问权限,请谷歌搜索文件访问控制列表 (ACL)。它们允许基于每个用户定义访问权限。

答案3

你有没有尝试过

chmod -R 0777 /opt/lampp/htdocs

相关内容