【问题标题】:Adding a user on .htpasswd在 .htpasswd 上添加用户
【发布时间】:2013-01-30 02:01:43
【问题描述】:

我正在使用.htpasswd 对我服务器上的某些目录进行密码保护。但是,我注意到每次我这样做sudo htpasswd -c /etc/apache2/.htpasswd newuser 我当前的.htpasswd 内容都会被覆盖。我网站的每个目录在 .htpasswd 上都有自己的用户。

我怎样才能不覆盖,而是在我的.htpasswd 上添加一个新用户?

【问题讨论】:

    标签: apache .htpasswd


    【解决方案1】:

    完全相同,只是省略-c 选项。 Apache 上的文档here

    htpasswd /etc/apache2/.htpasswd newuser

    另外,htpasswd 通常不以 root 身份运行。它通常由 Web 服务器或所服务文件的所有者拥有。如果您使用 root 来编辑它而不是作为这些用户之一登录,这是可以接受的(我想),但您需要小心确保您不会意外地以 root 身份创建文件(因此让 root 拥有它,其他人无法编辑它)。

    【讨论】:

    • 天哪!从没想过开关就是答案,请原谅我的清白。
    • 但是,它不会让我修改现有的.htpasswd 它坚持使用-c 开关。
    • @fishcracker 有什么错误? htpasswd /path/to/file username 完全有效(无论如何在语法上),甚至是 Apache 文档中的第一个示例。
    • 我的错。我想在我的 CentOS 服务器上做htpasswd -c /etc/apache2/.htpasswd newuser!抱歉,没有注意到我在错误的窗口。将在 5 分钟内接受您的回答。谢谢!
    【解决方案2】:

    FWIW,htpasswd -n username 将结果直接输出到标准输出,完全避免接触文件。

    【讨论】:

    • 然后只需将 user:hash 附加到旧文件中的新行。该选项对其他情况也有效,例如从一个系统生成到另一个没有安装 apache,但可以使用 apache 的 htpasswd 文件(例如 lighttpd)
    猜你喜欢
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多