设置apache登陆密码验证

一、编辑虚拟目录配置文件,设置认证方式


Alias /test"/var/www/test"
<Directory "/var/www/test">
Options Indexes MultiViews
AllowOverride AuthConfig #表示进行身份验证
Order allow,deny
Allow from all
</Directory>

二、在网站目录中创建.htaccess文件
vim /var/www/test/.htaccess
AuthName "test" #此处为描述,但经实验,好像要设置成虚拟目录的名字
AuthType Basic 验证类型
AuthUserFile /var/www/test/.htpasswd #密码文件的路径
require valid-user

#密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。
#.htaccess文件最后的 “require”告诉服务器哪些用户可以进入。require valid-user是指只要是.htpasswd中的任何一个都可以进入。也可以指定名单上的某人或某几人可以通过,使用require user username或require user username1 username2 username3。还可以指定某组人可以通过,使用require group groupname。 

文件权限
-rw-r--r--   .htaccess
-rwxr--r--   .htpasswd #密码文件如果没有rwx权限,可能会验证失败

三、创建用户密码

就是创建apache的验证用户
htpasswd -c /var/www/test/.htpasswd 用户名
#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数
htpasswd -m .htpasswd 用户名 更改密码
htpasswd -D .htpasswd 用户名 删除用户

 

 /*------------------------------------------------------

ps  也可将 1,2 步骤归结到同一步骤,如下:

alias /test "/var/www/test"
<Directory /var/www/test>
  Options Indexes MultiViews  
  AuthType basic #类型
  AuthName "welcome test"
  AuthUserFile /var/www/test/.htpasswd #密文配置文件路径
  require valid-user = user test  #test 为用户名 如有其它用户以此 列在 test 之后
  # Order allow,deny
  # Allow from all
</Directory>

--------------------------------------------------------*/


重启apache,OK ! 重启方法:service httpd restart

 

四、通过用户组方式访问

alias /test01 "/data/web/test01/"
<Directory /data/web/test01>
  Options Indexes MultiViews
  AuthType basic
  AuthName "welcome test"
  AuthUserFile /etc/httpd/httppwd
  AuthGroupFile /etc/httpd/httpgrp #用户组文件路径
  require group admin #admin 是用户组
</Directory>

创建用户组配置文件

vi /etc/httpd/httpgrp  #创建路径与配置文件中指定文件相同

内容如下:admin:test #注意test 是已经创建好的用户,如果该组中有其它用户,一次排列以空格隔开

 

重启apache ok!

你可能感兴趣的:(设置apache登陆密码验证)