httpd基于basic验证的目录访问

来源:互联网 发布:多用户自助建站源码 编辑:程序博客网 时间:2024/05/17 10:03

一、步骤

1.用户验证信息的创建

存储形式    文本文件,SQL数据库,ldap目录存储,nis(网络信息服务)

2.配置文件中basic的配置

配置文件格式
<Directory “/path">    访问控制的目录  Options None      可以不写  AllowOverride None      可以不写  AuthType Basic       验证方法  AuthName "String“       描述语句  AuthUserFile "/PATH/HTTPD_USER_PASSWD_FILE"       验证的数据文件路径  Require user username1 username2 ...        允许AuthUserFile文件中部分用户能访问  Require valid-user      允许AuthUserFile文件中的所有用户登录访问<Directory>

二、 操作

1.用户验证信息的创建

虚拟账号放在文本中
使用专用命令完成此类文件的创建及用户管理

htpasswd [options] /PATH/HTTPD_PASSWD_FILE username    -c:自动创建文件,仅应该在文件不存在时使用    -m:md5格式加密,默认方式    -s: sha格式加密    -D:删除指定用户

用户信息

用户名 密码 所在组 user1 user1 groupA user2 user2 groupB user3 user3 groupA user4 user4 groupB

创建上述表中用户验证信息

[root@localhost /etc/httpd/conf.d]$ htpasswd  -c basic_secert user1New password: Re-type new password: Adding password for user user1[root@localhost /etc/httpd/conf.d]$ htpasswd  -m basic_secert user2New password: Re-type new password: Adding password for user user2[root@localhost /etc/httpd/conf.d]$ htpasswd  -s basic_secert user3 New password: Re-type new password: Updating password for user user3[root@localhost /etc/httpd/conf.d]$ htpasswd  -m basic_secert user4New password: Re-type new password: Adding password for user user4

创建成功

[root@localhost /etc/httpd/conf.d]$ cat basic_secert               user1:B60njYjEpDKZMuser2:$apr1$89VaA4I3$cPgrLjSCvBEqYLzin45pe0user3:{SHA}Bubu9q3y5fVOpsQ8N21tNmBfgQ4=user4:$apr1$BIHV/lJ4$czPIjfQ65/yYYof4/P2wy0

创建上述表中组验证信息

[root@localhost /etc/httpd/conf.d]$ vim basic_secert_groupgroupA: user1 user3groupB: user2 user4

2.配置文件

方法1:/etc/httpd/conf.d/*.conf配置文件

[root@localhost /etc/httpd/conf.d]$ vim basic_secert.conf <directory /var/www/html/secert>authtype basicauthname "A specific user can access the secert directory"authuserfile /etc/httpd/conf.d/basic_secertrequire user user1 user2authgroupfile /etc/httpd/conf.d/basic_secert_grouprequire group groupA</directory>

方法2:将配置信息写到/var/www/html/secert/.htaccess中

#修改/etc/httpd/conf/httpd.conf,使.htaccess文件生效        与访问控制相关的哪些指令可以放在指定目录下的.htaccess(由AccessFileName指定)文件中,覆盖之前的配置指令    AllowOverride All: 所有指令都有效    AllowOverride None:.htaccess          文件无效;和不写此设置作用相同    AllowOverride AuthConfig Indexes          除了AuthConfig和Indexes的其它指令都无法覆盖          有bug,不能用cd /etc/httpd/conf.dcp basic_secert.conf /var/www/html/secert/.htaccessmv basic_secert.conf basic_secert.conf.bak

三、验证

结果

authuserfile /etc/httpd/conf.d/basic_secertrequire user user1 user2    用户中的user1和user2可以访问authgroupfile /etc/httpd/conf.d/basic_secert_grouprequire group groupA    groupA组用户可以访问

结果是:user1,user2,user3可以访问
这里写图片描述

阅读全文
0 0
原创粉丝点击