在Debian / Ubuntu上安装和配置Auth Shadow
警告
这种安装和配置的方法对于我来说是有用的,使用apt和building的组合。 因此,可以存在更容易的方法。 一定要确保从apt使用安装的软件
apt-cache showpkg pkgname
版本和依赖关系。 像往常一样,你的里程可能会有所不同,你自己承担风险。
预先要求
您必须安装一个工作的apache或apache2,并了解重新启动服务器所涉及的概念,启用模块以及配置文件的位置和格式,例如httpd.conf或apache2.conf。
背景
Auth Shadow或mod-auth-shadow是一个用于启用/ etc / shadow
认证的apache(和apache2,排序)的模块。 好处是任何具有密码的系统用户都可以通过web_dav,subversion或简单的https服务器进行身份验证。 唯一的另一种方法是使用PAM。 该方法是危险的,因为apache用户(我的情况下的www数据)必须能够读取/ etc / shadow
。 显然,不是一个好主意。 Auth Shadow通过使用一个名为validate的中间程序来安全地完成。 这是因为验证可以由root拥有,但可由大家执行。 如果您的服务器通过apache入侵,您的密码文件将无法读取。
安装
正式地,mod-auth-shadow只存在于apache,而不是apache2。 我不愿意接受这个。 我将使用apt for apache来演示在debian / ubuntu上的安装。 对于apache2,我不得不找到x86的模块的构建。 这提出了两个问题。 首先,最新版本尚未构建,其次,已经构建的版本(.rpm文件)在“验证”程序中包含导致uid错误的错误。
下载 - 仅限Apache2
从rpmfind.net - 下载下载您的体系结构的rpm。
从sourceforge下载最新的源代码(用于编译验证)。
安装模块
Apache:
sudo apt-get install libapache-mod-auth-shadow
Apache2:
为了从.rpm安装一个模块,您必须安装外部程序。
sudo apt-get install alien
从这里你可以安装rpm
sudo alien -i packagename.rpm
编译验证 - 仅Apache2
在包含mod-auth-shadow编译源的目录中
sudo make validate
sudo cp validate /usr/sbin
这必须以root身份完成,因为更改权限。
加载认证影子模块
Apache应该通过apt-get install自动处理。
Apache2需要我们
sudo a2enmod auth_shadow
配置Apache(2)
无论您的目录,位置或虚拟的配置
主机是,尝试修改以下配置以满足您的需要。
本例中只包括基本要求。
另外,不建议使用AuthType Basic
ssl,因为密码将以明文形式发送。
<Location /path/toauthenticate>
AuthType Basic
AuthShadow on
AuthName "Secure Login against User Passwords"
Require user system-username
#Require user valid-user
Order allow,deny
Allow from all
</Location>