为 FTP 和 Apache 配置权限

Ont*_*ged 11 permissions ftp apache2

我有一个使用 FileZilla 访问的 Web 服务器 (Apache2)。

在我的 Web 服务器上,我有一个绑定到 /var/www 的目录 /home/admin/www。所以我可以用FTP访问它。这工作完美!

但是每次我重新启动我的网络服务器时,我都必须一次又一次地进行绑定。我不能对我的网络服务器说这些地图需要永远绑定吗?另外我每次都需要重置所有权限,我做错了什么?

Lai*_*ice 14

一个更好、更安全的解决方案(我对互联网可以访问管理员主文件夹感到不安!)是在 /

终端时间!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/
Run Code Online (Sandbox Code Playgroud)

现在将 apache 指向 apache 配置底部的新文档根目录 /webroot。这可以在这里找到:/etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)

CTRL-O 保存,CTRL-X 退出 nano 如果您不熟悉它。

简单地替换DocumentRoot /var/www//webroot/

现在将您的网络文件复制到 webroot。

sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)

Apache 现在应该已经重新启动并加载了所有配置。

这在根目录中创建了一个名为 webroot 的目录,由 apache2 拥有,组所有者是新组 webdev,您的用户现在已附加到其成员中(这不会替换任何组!)。这将允许您编辑 FTP 中的文件!

这是一个非常简单的单网站 apache 服务器解决方案。如果您计划运行多个站点,则需要做更多工作(例如,在 webroot 中为它们创建单独的文件夹)

这样做的好处是,如果有人确实发现了漏洞,他们会被锁定在 webroot 文件夹中,而不是您的主文件夹中!此外,如果您需要允许更多用户修改站点,您可以将他们的用户添加到 webdev 组中sudo usermod -a -G theirusername webdev

希望这可以帮助!

亲切的问候