无法在 ubuntu 上的 htdocs 中创建任何文件夹

无法在 ubuntu 上的 htdocs 中创建任何文件夹

我该如何设置权限才能这样做?“创建新文件夹”选项呈灰色。

我尝试了这个:

sudo chmod -rw /opt/lampp/htdocs

但它仍然不起作用。当我添加:

sudo chmod -rw 755 /opt/lampp/htdocs, 

它说:"755" no such file or directory

答案1

您误解了 chmod 和 unix 文件权限的操作方式。

您需要配置 /opt/lampp/htdocs 目录,以便您登录的用户具有写入权限。您还需要确保您在其中写入的内容可以被 LAMPP 使用的任何 Web 服务器读取(不幸的是,我不熟悉 LAMP)。

首先,您需要查看谁拥有 /opt/lampp/htdocs:

$ ls -ld /opt/lampp/htdocs

应该返回类似这样的内容:

drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

第一位(dwrxr-xr-x)是文件权限。“lampp”是目录的所有者,“www”是目录的组所有者。你需要注意这一点。

首先让我们对组进行排序。如果组不是“root”,则一切正常,您可以跳过此部分:

如果它是“root”,则需要将其更改为更合理的内容。让我们为其创建一个新组:

$ sudo groupadd www

然后更改目录上的组:

$ sudo chgrp -R www /opt/lampp/htdocs

现在您需要让 Web 服务器作为组 www 运行。如果 Web 服务器是 Apache,则应检查 /etc/apache/httpd.conf 文件并相应地编辑“组”设置。我不知道其他 Web 服务器的设置。

现在,如果您不需要将组从根组切换到其他组,您可以跳至此处。

现在我们需要解决目录的权限问题。我们想要使用一些非常特殊的权限,称为“setgid”位。

$ sudo chmod 2775 /opt/lampp/htdocs
$ ls -ld /opt/lampp/htdocs
drwxrwsr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

您会看到权限现在有所改变。让我们解释一下。

  • 第一个字母是文件类型。在本例中,“d”代表目录。
  • 接下来的三个“rwx”是所有者(lampp)对 directort 的权限。r = 读取,w = 写入,x = 查看目录内容。
  • 接下来的三个“rws”代表群组所有者(www),但您会注意到,在这种情况下,x 实际上是一个 s - 我们稍后会讨论这一点。
  • 最后三个“rx”是给其他所有人的。即读取,并查看目录的内容。禁止写入。

组权限中的“s”称为“setgid”位。这是一个特殊权限,它使目录中创建的任何文件都从目录本身继承组所有者。因此,如果组“users”中的用户“fred”在其中创建了一个文件,它将归组“www”中的“fred”所有。这对于多个人都读写相同文件的共享区域非常有用。

但目前你仍然无法写入该区域。为什么?因为你不在“www”组中。现在让我们纠正这个问题:

$ sudo usermod -aG www blub

将“www”替换为您在开头附近记下的 /opt/lampp/htdocs 目录的组所有者。

您需要注销并再次登录才能使此更改生效 - 您的群组成员身份将在登录时读取。

一旦你完成了这些,你就会突然发现你现在可以在 /opt/lampp/htdocs 中神奇地写入文件。

如果您希望允许系统上其他用户向其写入数据,只需使用该usermod -aD www <username>命令将他们添加到 www 组即可。

答案2

这个简单的终端命令给了我完全权限htdocs,我能够开始处理 PHP 项目

sudo chmod 777 -R /opt/lampp/htdocs

针对穆罕默德的评论,最好使用sudo chmod 755 -R /opt/lampp/htdocs

答案3

你可以使用 +rw 或八进制, 不是都。

您要做的是从名为 755 的目录以及 /opt/lampp/htdocs 中删除读写权限。

无论如何,您不应该使用 xampp - 您可以获得更新、原生的 lamp 堆栈安装 - 您可以使用 taskel 安装它。

答案4

将目录/opt/lampp/htdocs及其内容的组所有权更改为组jade

sudo chgrp -R jade /opt/lampp/htdocs

然后,如果您想修改权限(例如,授予组jade写访问权限),通常可以使用 chmod 命令。例如:

sudo chmod -R g+w /opt/lampp/htdocs

相关内容