rfwer21 发表于 2015-6-26 08:59:46

httpd基于用户的站点访问控制

基于用户或组进行认证
    一、各字段参数
      Options:开启的功能
      AllowOverride:是否开启认证
      AuthType:认证模式
            Basic:基本认证,明文传送,较常用
            digest:摘要认证,密文传送,一些浏览器不支持
      AuthName:显示的认证信息
      AuthBasicProvider:认证的类型,默认为基于file文件进行认证
            file:文本文件认证
            dbm:数据库引擎认证,并提供API接口
            还有ldap认证与Sql数据库认证等方式
      AuthUserFile:认证文件路径
      AuthGroupFile:认证组文件路径
      Require:认证用户
            valid-user:所有认证文件里的用户
            user USER_NAME:认证文件里的某些用户
            group GROUP_NAME:认证组文件里的用户
    二、认证文件(文件名可自己定义)
      .htpasswd:用户认证文件
      .htgroup:组认证文件
    三、认证文件的相关命令
      htpasswd:
            -c:如果此文件事先不存在,则创建;如存在,则覆盖此文件。慎用
            -m:以md5的格式编码存储用户的密码信息
            -D:删除指定用户

    实例:
    一、编辑httpd配置文件
    # vim /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
<Directory "/var/www/html/admin">
    Options none
    AllowOverride AuthConfig
    AuthType Basic
    AuthName "Please enter your admin infomation"
    AuthBasicProvider file
    AuthUserFile /etc/httpd/conf/.htpasswd
    AuthGroupFile /etc/httpd/conf/.htgroup
    Require user tom jerry
    Require group admin
</Directory>






二、生成认证文件
    # htpasswd -c -m tom /etc/httpd/conf/.htpasswd
    # htpasswd -m jerry /etc/httpd/conf/.htpasswd
    # htpasswd -m joy /etc/httpd/conf/.htpasswd
    # htpasswd -m zhangsan /etc/httpd/conf/.htpasswd
    # htpasswd -m lisi /etc/httpd/conf/.htpasswd
    # echo "admin: zhangsan lisi" >> /etc/httpd/conf/.htgroup


三、重启加载httpd配置文件
    # service httpd reload

四、浏览器输入限制访问的地址后提示输入用户密码,测试tom,jerry,zhangsan,lisi四个用户可以访问

页: [1]
查看完整版本: httpd基于用户的站点访问控制