Skip to content


让Apache使用操作系统的用户认证

Apache的认证体系很不错,但是他并不是和操作系统天然结合的。如果想要让Apache使用操作系统的用户进行认证,可以使用 mod_auth_shadow 或者 mod_authnz_external 来进行。

我使用的是 mod_auth_shadow,因为简单嘛。
下载之后自己进行编译,会有两个有用的文件,mod_auth_shadow.so 和 validate 。
配置Apache,我使用的是Apache 2.2
  1. 加载module,
    LoadModule auth_shadow_module /path-to/mod_auth_shadow.so

  2. 配置 VirtualHost
    添加如下几行
           AuthName what-ever-you-like
           AuthShadow on
           AuthType Basic
           require valid-user
  3. 还可以使用 require user/group
    require user user1 user2
    require group group1 group2
这样你就可以使用了。
注意,
其中的 validate 是进行真正认证的程序, mod_auth_shadow 是会通过 pipe 和 validate 进行交互的。 validate 的存放位置必须是 /usr/local/sbin/ 并且,由于 Apache 运行之后会切换成为其他的用户,所以你还要给 validate setuid 为 root。
chmod u+s validate

Posted in 技术快餐.

Tagged with .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.