通常分为以下三步:
1、在apache的配置文件httpd.conf中声明要进行验证的目录
2、在要进行验证的目录中创建.htaccess文件,在此文件中指明用于验证的文件存放的位置
3、根据.htaccess指明的位置,用apache自带的htpasswd命令创建用于验证的文件
步骤说明:
假设要对/home/ddd这个目录进行访问控制。(这个目录不在APACHE的主目录中,因此要用alias 添加为虚拟目录)
1、在apache的配置文件httpd.conf中声明要进行验证的目录
编辑httpd.conf
LoadModule auth_module modules/mod_auth.so #需要加载此模块进行认证
Alias /test "/home/ddd" #添加为虚拟目录
Options Indexes MultiViews
AllowOverride All #允许用.htaccess文件中指定的验证文件进行身份验证
Order allow,deny
Allow from all
#AllowOverride all 表示进行身份验证 这是关键的设置
此外,也可用AllowOverride AuthConfig
实例:
ServerName test.xxx.com
ServerAlias xxx.com 123.123.123.123
DocumentRoot /data/ddd/
Options Indexes FollowSymlinks MultiViews
AllowOverride All
ErrorLog /error.log
2、在要进行验证的目录中创建.htaccess文件,在此文件中指明用于验证的文件存放的位置
在/home/ddd下创建.htaccess文件
vi /home/ddd/.htaccess,内容如下:
AuthName "请输入用户名及口令"
AuthType Basic
AuthUserFile /home/.htpasswd
require valid-user
#AuthName 描述,出现在验证对话框标题栏中
#AuthUserFile /home/.htpasswd (指定验证文件存放于/home中,文件名为.htpasswd,此文件具有隐含属性,其中包括允许访问的用户名及密码。
#require valid-user 使用验证文件中的有效用户进行验证
也可使用 require user <用户>来指定特定用户进行验证
#密码文件推荐取名为.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一些。
3、根据.htaccess指明的位置,用apache自带的htpasswd命令创建用于验证的文件
由于已经在第2步中指定验证文件为/home/.htpasswd文件,所以下面创建这个文件
htpasswd -c /home/.htpasswd jp #创建.htpasswd文件,并添加用户jp,会要求输入口令
htpasswd /home/.htpasswd test #.htpasswd文件中添加第二个用户:test)
也可以不通过交互方式,直接在命令行,将口令添加到.htpasswd文件中
htpasswd -bc /home/.htpasswd jp 111 (创建.htpasswd文件,并添加用户jp,密码为111)
htpasswd -b /home/.htpasswd test 222 (.htpasswd文件中添加第二个用户:test 密码为222)
#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数,因为已经有.htpasswd文件,就不用再创建了。-b表示从命令行直接获取参数值,添加到验证文件.htpasswd中
如果想修改密码,可以用如下命令:
htpasswd -m .htpasswd jp
对存放于.htpasswd文件中的用户jp进行口令更改
不用,但是要更改为<Directory />
Options FollowSymLinks ExecCGI Indexes
AllowOverride None
# Order deny,allow
# Deny from all
# Satisfy all
</Directory>
实现效果
1.修改http.conf文件
设置指定目录的配置,例如设定test目录的配置,增加验证。
文件内容如下:
第一行,验证提示信息。
第二行,验证类别。
第三行,密码文件所在路径,绝对路径。
第四行,指定登录用户名。指定admin用户登录。
输入上面命令,htpasswd目录写自己的目录,最后一个参数即为登录账号名,会提示输入两次密码。
重启apache。
访问设定的地址,看下是否已经有apache的登录验证。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)