2020-02-16 14:25:02
虽然大多数Web服务器内容创建为可供公众使用,但您可能希望将某些或所有网站限制为特定用户或组。 HTTP Auth允许您轻松创建这些限制。
本文介绍基于凭证和基于规则的Apache访问控制工具。
要为目录启用密码,请将以下行插入Apache配置文件的相应
Apache配置文件:
AuthType Basic AuthUserFile /var/www/example.com/.htpasswd AuthName "Sign In Here To Gain Access To the Site" Require valid-user
Apache在与客户端连接时用AuthType指令指定应使用的认证方法。 Basic类型要求密码作为明文在网络上发送。 因此,我们不建议使用此来保护敏感资源。
AuthUserFile指定存储密码的密码文件的路径(完整)。 在本例中,我们使用路径/var/www/example.com/.htpassword。 这是public_html文件夹之上的一个目录,防止意外暴露文件。 默认情况下,以.ht开头的所有文件在Apache的大多数默认配置中都不是Web可访问的,但不应假定。
AuthName指令包含用于浏览器通知用户服务器正在验证什么资源的提示。 该值是任意的。
Require valid-user告诉Apache任何有效的用户都可以进行身份验证。
要生成密码,我们需要htpasswd工具。 对于许多发行版,此工具可能在您安装Apache本身时已安装。 Debian和Ubuntu用户必须使用以下命令安装apache2-utils软件包:
sudo apt-get install apache2-utils
要指定用户创建文件,执行以下命令:
htpasswd -c /var/www/example.com/.htpasswd username
在本例中,我们使用-c选项创建一个新的AuthUserFile。 该文件位于/var/www/example.com/.htpasswd,用户名为username。 htpasswd将提示您输入密码,然后确认密码。 如果文件存在,请用-c选项覆盖。
-b选项允许您把密码作为命令的最后一个参数,如下例所示:
htpasswd -b /srv/auth/.htpasswd username 5t1ck6
AuthUserFile类似如下:
/var/www/example.com/.htpasswd
hobby:isiA3Q4djD/.Q admin:{SHA}x9VvwHI6dmgk9VTE0A8o6hbCw2s= username:$apr1$vVzQJxvX$6EyHww61nnZr6IdQv0pVx/
在Require指令中,我们指定了valid-user。 这告诉Apache,任何可以对AuthUserFile中指定的用户进行身份验证的用户都可以访问该网站。 虽然可以为不同的资源维护单独的密码文件,但对于具有复杂身份验证需求的部署,这是很难维护的。
为了满足这一需求,Apache允许您使用单个AuthUserFile,包含需要向服务器进行身份验证的所有用户。 要将有效凭据集限制到.htpasswd文件中列出的特定用户子集,我们必须在Require配置参数中指定用户。 只有在Require user指令后指定的用户才能被允许访问指定的资源。 例如:
Apache配置文件选项:
Require user username admin
给定这个指令,用户username和admin将能够登录资源。 可以在Require行上指定任何用户子集。 Apache还提供了将用户组织成组的能力,然后允许基于组成员资格访问资源。 此设置的配置指令如下所示:
Apache配置文件:
AuthType Basic AuthUserFile /srv/auth/.htpasswd AuthGroupFile /srv/auth/.htgroup Require group Authorized
在这个例子中,我们引用了相同的AuthUserFile,但是我们添加了一个指定用户组的AuthGroupFile。 组文件包含用户组列表和与每个组相关联的用户名。 htgroup文件(如htpasswd文件)可以位于文件系统上的任何位置。 为了清晰起见,我们建议htgroup与htpasswd文件在同一目录中。 这里是一个htgroup文件的例子:
/var/www/example.com/.htgroup:
Authorized: username username2 Team: admin hobby
给定此htgroup文件,只有用户username和username2将有权访问上面列出的资源。 组文件的语法遵循一个简单的[groupname]:[username 1] [username 2] […]。 您可以将您的AuthUserFile中的任何用户名作为特定资源所需的组条目。
Nginx和Apache如何设置ajax跨域
05-09
25个Apache性能优化技巧推荐
06-24
CentOS 7.0安装LAMP服务器(PHP+MariaDB+Apache)
06-07
CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
05-06
Debian 7 (Wheezy)安装配置Apache mod_fastcgi PHP-FPM
07-20
Linux Apache开启gzip压缩提高网页下载速度
07-15
如何执行CMOS保护设置?
03-19
BIOS中设置开机密码无效,如何解决?
06-03
Win10系统下如何设置屏幕保护程序
07-05
一键恢复6.0如何设置进入密码
06-14
如何设置或禁用Windows Media Player播放时允许运行屏幕保护程序
07-23
安卓系统通过ES文件浏览器访问局域网资源
05-07
31013018 硬盘保护控制台软件使用说明 V1.0
07-02
Linux CentOS 7 重置root用户密码
07-12
Linux alias设置指令的别名命令详解
07-18
Linux ar建立或修改备存文件命令详解
06-23
Linux文件查看/编辑方法介绍
07-17
Nginx配置basic_auth密码验证
06-13
OpenResty(Nginx Lua)统计网站访问信息
07-07
Outlook 2010如何新建.pst文件?
07-03
Apache Logs Viewer破解版
22.98 MB
下载保护伞广告过滤器下载
1.2M
下载360隔离沙箱(电脑系统保护软件) v3.0.0.1005 独立版
41.58 MB
下载Alternate Password DB(密码管理工具) v2.890 免费版
714.9K
下载Pointstone Total Privacy隐私保护工具 v6.5.5.393 官方版
4.92M
下载TrackOFF(数据加密保护软件) 5.0.0.28495中文破解版
130.4M
下载ceb文件阅读器下载
42.6M
下载fastcopy(文件快速复制工具)V3.7.0 免费版
1.5M
下载liveprofessor汉化版 (声音VST机架插件设置软件)2.4.3
157MB
下载nt6(dll文件)v1.0 官方版
182KB
下载swf播放器(SWF文件播放器)v6.0.0.3 官方版
2.5MB
下载unlocker(密码解锁工具) v3.0.3.4 中文版
32.1M
下载vmprotect(加密保护工具) v3.0.9 免费版
30.9M
下载屏幕保护程序下载
98KB
下载效能密码管理器下载
15.19M
下载烁光PDF转换器(文件格式转换工具) v1.2.2.0 免费版
42.46 MB
下载版权家(版权保护平台) V1.1.0.0 官方版
85.9M
下载硬盘保护卡克星(数据破解抹除工具) 1.2 免费版
0.11MB
下载谷歌访问助手下载
107.23MB
下载软媒设置大师绿色版 v3.7.1.0 最新版
671KB
下载