如何在本地访问 LAMP 中的文件时设置密码?

如何在本地访问 LAMP 中的文件时设置密码?

我已经在 ubuntu 12.04 系统上设置了 LAMP。我想为 Apache 根文件夹中的所有文件设置密码,以便只有授权人员才能使用它们。如何为文件夹设置密码?

答案1

在这种情况下,您不想用密码保护文件,而是决定谁应该被允许接触文件。应该用密码(或其他方式,如密钥)保护用户帐户。其他任何事情都适用于用户之间共享密码,这总是错误的。

您要做的就是设置文件和目录的所有权。这很简单:chown -R www-data:groupname /siteroot(siteroot 是包含您要保护的文件的目录)。

在上面的例子中,我将所有权设置为 www-data,因为此用户需要访问权限才能发布这些文件。我已将“groupname”设置为组所有者。您可以使用自己的主要组,该组与您的用户名相同。在这种情况下,只有您和服务器才能管理这些文件。

如果您希望多个本地用户能够管理内容,那么您需要创建一个新组,将相关用户添加到该组并将其设为组所有者。假设您希望现有用户“joe”、“john”和“gina”被允许读取和编辑 /var/www/ 目录中的文件。其他人根本无权访问该文件夹。


addgroup mysite-editors
adduser joe mysite-editors
adduser john mysite-editors
adduser gina mysite-editors
chown -R www-data:mysite-editors /var/www/*
chmod o-rwx -R /var/www

最后一行是删除“其他人”对 /var/www 中任何文件的读取、访问或写入的权限。

答案2

您可以使用基本身份验证来执行此操作。例如:

  1. 在 apache 文件夹中创建一个 htpasswd 文件(您可以在任何地方创建它)

    htpasswd -c /etc/apache2/passwd username
    
  2. 现在将以下内容添加到/指令中:

    AuthType Basic
    AuthName "By Invitation Only"
    AuthUserFile /etc/apache2/passwd
    Require valid-user
    

来源:http://httpd.apache.org/docs/2.2/howto/auth.html

相关内容