Apache的访问权限控制 总结 归纳
2013-04-10 15:10
609 查看
Apache的访问权限控制
简单介绍:这是一个apache的系列配置文档,配置apache的认证授权,此篇为第一篇。
认证类型:basic 基本认证(常用) digest 摘要认证
在httpd.conf文件中,几个主要认证模块配置如下(默认已配置):
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
配置基本认证(basic)
方式一:使用文本格式用户数据库
1、创建认证用户数据库文件(文本格式)
格式:htpasswd options FilePath user
-c :第一次创建时使用该选项
-m :将密码使用MD5加密存放
-D :从密码文件中删除用户
如:创建一个用户redhat,将密码文件存放在/etc/httpd/.htpasswd
#htpasswd -cm /etc/httpd/.htpasswd redhat
删除用户
#htpasswd -D /etc/httpd/.htpasswd redhat
# htpasswd -c /etc/httpd/conf/users_txt.pwd admin #//创建文本格式用户文件,同时添加用户admin
# htpasswd /etc/httpd/conf/users_txt.pwd jerry #//在数据库文件中添加用户jerry
方式二:使用dbm格式用户数据库(若用户较多,可采用dbm用户数据库以加快检索速度)
1、创建认证用户数据库文件(Berkeley DB格式)
# htdbm -TDB -c /etc/httpd/conf/users_dbm.db kitty #//创建DB格式(其他格式参考man)用户文件,同时添加用户kitty
2、修改.htaccess配置文件
# vi /var/www/html/auth/.htaccess
AuthName "Private Contents."
AuthType basic
AuthBasicProvider dbm
AuthDBMType DB
AuthDBMUserFile "/etc/httpd/conf/users_dbm.db"
Require kitty
配置摘要认证(digest)
1、创建digest认证用户数据库文件(文本格式) #//digest认证貌似无法使用dbm用户文件
# htdigest -c /etc/httpd/conf/users_digest.pwd "Private Contents." kenthy
2、修改.htaccess配置文件
AuthName "Private Contents."
AuthType digest
#AuthDigestDomain /auth/ #//在目录区段(Directory)配置digest认证时,此行可有可无
AuthUserFile /etc/httpd/conf/users_digest.pwd
Require kenthy
这里要提起的是 AuthUserFile指令,在所有讲述摘要认证的文章中(包括Apache官方文档)都说应该使用AuthDigestFile指令,我最先也是按照 官方文档去配置,结果就是install不成功。系统提示” Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration”。这个问题多花我至少1个小时。最先以为是其他的什么地方配置不对,最后经过查阅才发现在Apache2.2.4版本中还不 支持AuthDigestFile指令(通过查看源代码),因此暂时用AuthUserFile指令替代。
认证指令:
1.1 authname 受保护域名称
1.2 authtype 认证方式
1.3 authuserfile 认证口令文件位置
1.4 authgroupfile 认证组文件位置
授权指令:
2.1 require user 授权给指定用户
2.2 require group 授权给指定组
2.3 require valid-user 授权给认证口令文件用户
具体配置步骤:
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
require user test
</Directory> ##只授权test用户访问
Service httpd restart
Vi httpd.conf
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
require valid-user
</Directory> ##口令文件所有用户都可以访问
Service httpd restart
Vi httpgrp
添加:
admin: test bbs
wq!
Vi httpd.conf
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
authgroupfile /etc/httpd/httpgrp
require group admin
</Directory> ##admin组可以访问
Service httpd restart
简单介绍:这是一个apache的系列配置文档,配置apache的认证授权,此篇为第一篇。
认证类型:basic 基本认证(常用) digest 摘要认证
在httpd.conf文件中,几个主要认证模块配置如下(默认已配置):
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
配置基本认证(basic)
方式一:使用文本格式用户数据库
1、创建认证用户数据库文件(文本格式)
格式:htpasswd options FilePath user
-c :第一次创建时使用该选项
-m :将密码使用MD5加密存放
-D :从密码文件中删除用户
如:创建一个用户redhat,将密码文件存放在/etc/httpd/.htpasswd
#htpasswd -cm /etc/httpd/.htpasswd redhat
删除用户
#htpasswd -D /etc/httpd/.htpasswd redhat
# htpasswd -c /etc/httpd/conf/users_txt.pwd admin #//创建文本格式用户文件,同时添加用户admin
# htpasswd /etc/httpd/conf/users_txt.pwd jerry #//在数据库文件中添加用户jerry
方式二:使用dbm格式用户数据库(若用户较多,可采用dbm用户数据库以加快检索速度)
1、创建认证用户数据库文件(Berkeley DB格式)
# htdbm -TDB -c /etc/httpd/conf/users_dbm.db kitty #//创建DB格式(其他格式参考man)用户文件,同时添加用户kitty
2、修改.htaccess配置文件
# vi /var/www/html/auth/.htaccess
AuthName "Private Contents."
AuthType basic
AuthBasicProvider dbm
AuthDBMType DB
AuthDBMUserFile "/etc/httpd/conf/users_dbm.db"
Require kitty
配置摘要认证(digest)
1、创建digest认证用户数据库文件(文本格式) #//digest认证貌似无法使用dbm用户文件
# htdigest -c /etc/httpd/conf/users_digest.pwd "Private Contents." kenthy
2、修改.htaccess配置文件
AuthName "Private Contents."
AuthType digest
#AuthDigestDomain /auth/ #//在目录区段(Directory)配置digest认证时,此行可有可无
AuthUserFile /etc/httpd/conf/users_digest.pwd
Require kenthy
这里要提起的是 AuthUserFile指令,在所有讲述摘要认证的文章中(包括Apache官方文档)都说应该使用AuthDigestFile指令,我最先也是按照 官方文档去配置,结果就是install不成功。系统提示” Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration”。这个问题多花我至少1个小时。最先以为是其他的什么地方配置不对,最后经过查阅才发现在Apache2.2.4版本中还不 支持AuthDigestFile指令(通过查看源代码),因此暂时用AuthUserFile指令替代。
认证指令:
1.1 authname 受保护域名称
1.2 authtype 认证方式
1.3 authuserfile 认证口令文件位置
1.4 authgroupfile 认证组文件位置
授权指令:
2.1 require user 授权给指定用户
2.2 require group 授权给指定组
2.3 require valid-user 授权给认证口令文件用户
具体配置步骤:
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
require user test
</Directory> ##只授权test用户访问
Service httpd restart
Vi httpd.conf
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
require valid-user
</Directory> ##口令文件所有用户都可以访问
Service httpd restart
Vi httpgrp
添加:
admin: test bbs
wq!
Vi httpd.conf
修改为:
<Directory “/var/www/test”>
Optinons Indexes MultiViews
AllowOverride None
authname “test”
authtype basic
authuserfile /etc/httpd/httppwd
authgroupfile /etc/httpd/httpgrp
require group admin
</Directory> ##admin组可以访问
Service httpd restart
相关文章推荐
- java访问权限控制总结
- 六 访问控制权限总结
- Linux Apache上实现Web页面访问权限控制
- linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)
- Java编程思想——第六章 访问权限控制 学习总结
- SVN精确地控制目录访问权限的经验总结
- Apache中目录权限访问控制配置
- Apache的访问权限控制
- Apache 访问权限控制 Order Deny, Allow 设置规则
- Ubuntu Server 安装 Subversion实现精细的目录访问权限控制 安装Subversion和Apache sudo apt-get install subversion li
- Apache基本vhost虚拟主机配置以及特定IP访问权限的控制
- SVN精确地控制目录访问权限的经验总结
- Apache的虚拟目录功能和如何对某一个目录进行访问权限控制
- Java访问控制权限总结
- JAVA编程思想学习总结:第六章——访问权限控制
- java编程思想访问控制权限总结
- Linux运维笔记-文档总结-Apache基本配置的介绍和语言支持,虚拟主机,访问控制的实现
- java 编程思想第六章个人总结---访问权限控制
- Java复习总结:Java面向对象程序设计—异常的捕获及处理、包及访问控制权限
- apache访问权限控制和.htaccess文件