您的位置:首页 > 运维架构 > Apache

apache实现网页浏览权限设置

2014-03-20 23:30 260 查看
单位内部实现的网站需要进行权限控制,起初同事说实现一个用户登录功能。后来想想,觉得没必要,而且有漏洞。然后想起nagios就有权限认证的实现,上网查了下资料,发现只在apache上就可以实现网页的浏览权限的控制。现在将我实验成功的方法分享出来。

一、编辑虚拟目录配置文件,设置认证方式

<Directory "/var/www/html/MySite">

Options Indexes MultiViews

AllowOverride All #表示可以从.htaccess文件继承访问权限

Order allow,deny

Allow from all

</Directory>

二、在网站目录中创建.htaccess文件

vim /var/www/html/MySite/.htaccess

AuthName "Web Security zoo" #此处为描述,自定义

AuthType Basic 验证类型

AuthUserFile /var/www/html/MySite/.htpasswd #密码文件的路径

require valid-user

注意:

1.密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。

2..htaccess文件最后的 “require”告诉服务器哪些用户可以进入。require valid-user是指只要是.htpasswd中的任何一个都可以进入。也可以指定名单上的某人或某几人可以通过,使用require user username或require user username1
username2 username3。还可以指定某组人可以通过,使用require group groupname。

文件权限

-rw-r--r-- .htaccess

-rw--r--r-- .htpasswd #密码文件如果没有rwx权限,可能会验证失败

三、创建用户密码

就是创建apache的验证用户

htpasswd -c /var/www/test/.htpasswd 用户名

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

htpasswd -m .htpasswd 用户名 更改密码

htpasswd -D .htpasswd 用户名 删除用户

/*------------------------------------------------------

ps 也可将 1,2 步骤归结到同一步骤,如下:

<Directory /var/www/test>

  Options Indexes MultiViews  

  AuthType basic #类型

  AuthName "welcome test"

  AuthUserFile /var/www/test/.htpasswd #密文配置文件路径

  require valid-user = user test #test 为用户名 如有其它用户以此 列在 test 之后

  # Order allow,deny

  # Allow from all

</Directory>

--------------------------------------------------------*/

重启apache,OK ! 重启方法:service httpd restart

四、通过用户组方式访问

alias /test01 "/data/web/test01/"

<Directory /data/web/test01>

  Options Indexes MultiViews

  AuthType basic

  AuthName "welcome test"

  AuthUserFile /etc/httpd/httppwd

  AuthGroupFile /etc/httpd/httpgrp #用户组文件路径

  require group admin #admin 是用户组

</Directory>

创建用户组配置文件

vi /etc/httpd/httpgrp #创建路径与配置文件中指定文件相同

内容如下:admin:test #注意test 是已经创建好的用户,如果该组中有其它用户,一次排列以空格隔开

重启apache ok!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: