zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux apache常见的配置(5) 基于用户的访问控制

2023-02-18 16:34:38 时间

基于用户的访问控制设置:

1.定义安全域

设置只有指定的用户才能访问特定的目录:

<Directory "/path">
Options None  #全部禁用,不显示指定路径的链接文件,指定文件不存在不显示其他所有文件

AllowOverride None  #.htaccess 文件无效

AuthType Basic  #验证类型

AuthName "String"   #浏览器不同,可能这字符不一定能显示出来

AuthUserFile  "/PATH/HTTPD_USER_PASSWD_FILE" #存储账号密码的文件

Require valid-user   #允许账号文件中的所有用户登录访问

#Require user username1 username2 ... 允许文件中指定用户访问
</Directory>
2.定义账号密码

通过httpd服务自带的htpasswd工具来定义存放用户的文件以及用户的账号密码。

htpasswd [options] /PATH/HTTPD_PASSWD_FILE username password

options:
-c 自动创建文件,仅应该在文件不存在时使用
-b 非交互方式创建用户,命令后面可以接密码
-p 明文密码
-d CRYPT格式加密,默认
-m md5格式加密
-s sha格式加密
-D 删除指定用户

例如:实现用户访问/var/www/html时的用户访问控制

#定义安全域
[root@CentOS8 ~]# vim /etc/httpd/conf.d/user.conf
<Directory "/var/www/html">
Options None
AllowOverride None
AuthType Basic
AuthName "String"
AuthUserFile      "/etc/httpd/passwd"
Require valid-user
#Require user username1 username2 ... 指定用户
</Directory>
#创建存储用户信息的文件以及指定的用户
[root@centos8 ~]#htpasswd -c /etc/httpd/passwd tom
New password:
Re-type new password:
Adding password for user tom