httpd-2.4 - 基于用户的访问控制(AuthType Basic)

部署httpd服务时,有些路径下的内容不希望所有用户都能访问,只有提供用户名和密码才能正常访问,此时就会用到基于用户的访问控制。

前提

vmware的CentOS 7虚拟主机地址为192.168.43.78;
httpd的基本配置情况:

DocumentRoot “/data/www/html”
ServerName 192.168.43.78
Listen 80

要求:
httpd设置一个Alias,名称为/backgrounds/,指向/usr/share/backgrounds/目录;
现在只让指定用户通过“用户名+密码”登录的方式访问backgrounds中的文件。

配置步骤

目前需要做的是将/usr/share/backgrounds/目录定义为安全域,基于Basic方式认证。

1. 定义安全域

在/etc/httpd/conf.d/目录下新建配置文件basic_test.conf,添加如下配置:

Alias /backgrounds/ "/usr/share/backgrounds/"
<Directory "/usr/share/backgrounds/">
        Options Indexes` #允许访问索引
        AllowOverride None
        AuthType Basic  #基于Basic认证
        AuthName "Test BasicAuthType To Directory backgrounds/"
        AuthUserFile "/etc/httpd/conf.d/.basic_test.user"  #指定账号文件(最好设为隐藏文件)
        Require valid-user  #指定允许登录的用户,valid-user表示账号文件内的所有用户
</Directory>

2. 制作账号密码的存储文件

使用htpasswd命令(httpd自带的账号密码创建工具)创建,并对用户进行管理。
这里创建三个用户:user_a,user_b,user_c,密码分别为a123,b123,c123。

首次创建使用-c选项新建存储文件:
# htpasswd -c /etc/httpd/conf.d/.basic_test.user user_a
输入用户密码:
New password: 
确认密码:
Re-type new password: 
Adding password for user user_a

也可以使用-b选项直接给出密码串,-m选项使用md5加密:
(之后添加用户不能使用-c选项,否则会覆盖之前的用户)

# htpasswd -b -m /etc/httpd/conf.d/.basic_test.user user_b b123
Adding password for user user_b
# htpasswd -b -m /etc/httpd/conf.d/.basic_test.user user_c c123
Adding password for user user_c

三个用户创建完成:

# cat .basic_test.user 
user_a:$apr1$RYCy74cb$hOmC0GVSEBBeD0Ln.CUo51
user_b:$apr1$5fA4WNKL$cA740WsK4c8hOKOSvbtXP/
user_c:$apr1$BdRPl/Rz$/2.a1naVcq1.oT3hDVvwu1

3. 验证配置结果

检查配置文件语法,重启服务:

# httpd -t
Syntax OK
# systemctl restart httpd.service

浏览器访问http://192.168.43.78/backgrounds/,要求输入用户名和密码:

httpd-2.4_AuthType Basic_test_登录界面.JPG

输入任意一个用户,访问backgrounds目录:


httpd-2.4_AuthType Basic_test_访问backgrounds目录索引.JPG

4. 只允许账号文件中的个别用户登录访问

上边的配置方式是,账号文件中存储的所有用户都可以通过登录来访问指定路径,也可以限制只有特定用户才能登录访问。
有两种方式:
(1) 允许访问的用户数量少的情况下,可以逐个指定:

比如,将Require valid-user改为:
Require user user_a user_b
表示只允许user_a和user_b登录访问

(2) 允许访问的用户数量多时,可以通过组来指定:

创建组文件.basic_test.group,在其中指定PermitUsers组中的用户为user_a和user_b:
# vim /etc/httpd/conf.d/.basic_test.group
PermitUsers: user_a user_b
在配置文件中指定所使用的组文件和允许登录的组:
<Directory "/usr/share/backgrounds/">
        Options Indexes
        AllowOverride None
        AuthType Basic
        AuthName "Test BasicAuthType To Directory backgrounds/"
        AuthUserFile "/etc/httpd/conf.d/.basic_test.user"
        AuthGroupFile "/etc/httpd/conf.d/.basic_test.group"
        Require group PermitUsers
</Directory>

此时,就只有user_a和user_b可以通过登录访问,user_c不可以。

通过这样的配置,就可以快速建立一个基于安全域和用户的访问控制,对特定路径进行简单的内容保护。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容