使用 www-data 登录的缺点

使用 www-data 登录的缺点

我运行一个小型网络服务器,基本上只是为了托管小型数据项目和文件。该服务器有一个公共IP地址。

我希望能够通过 FTP 直接将文件上传到/var/www/*,因此我正在考虑允许www-data用户拥有密码并直接登录。这也可以避免我每次在 Web 目录中执行任何操作时都必须更改文件所有权(我目前以 root 身份执行此操作,因此也存在安全风险)。

允许www-data用户登录是否存在安全风险?如果是这样,最好的选择是什么?

答案1

一个安全风险是您可能会杀死或以其他方式处理网络服务器本身(因为您随后使用的是同一用户。)这可能不是您想要的。当你使用 root 时可能也是一样,对吧。

两种解决方案:

  1. 为自己创建一个子目录/var/www,将其chown给自己,然后使用自己的用户。 (或创建一个新的)

    例子:

    root@box# mkdir /var/www/joes-toys
    root@box# chown joeuser:joegroup /var/www/toys
    root@box# chmod u=rwx,g=rx,o=rx
    
  2. 将您的用户(您自己的或新用户)放入 www-data 组中,并确保该组具有写入权限/var/www

    例子:

    root@box# adduser joeuser www-data
    root@box# chgrp -R www-data /var/www
    root@box# chmod -R g+w /var/www
    

PS:现在不要使用未加密的 FTP!使用 sftp(来自 ssh 套件)或至少使用 ftps(通过 ssl 进行 ftp)。

答案2

守护进程通常由于多种原因而无法登录。除其他事项外,安全是一个重要问题。 www-data如果您在许多平台上运行 Web 服务器,则假定在您的系统上可用。如果我可以登录该用户 ID,我就可以轻松破坏您的网络服务器和/或其内容。 (想想提供恶意软件。)

最好不要拥有www-data这些文件。重要的是www-data能够读取文件。考虑创建具有相同组的用户 ID,并允许该用户进行 FTP 访问。为了提高安全性,请提供尽可能少的 Web 服务器可写入的目录。

相关内容