为linux服务器添加访问文件夹需用户名密码验证

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

//1,站点Apache服务器中的httpd.conf文件有设置为:
DocumentRoot /var/www/html //此路径为Apache中设置外部访问linux服务器ip地址时默认打开的文件夹路径,必须是完整路径

AccessFileName .htaccess

AllowOverride All

注:如果 httpd.conf 中已经设置了AccessFileName .htaccess 可以忽略

//2,linux命令
htpasswd -c allowuser/.htpasswd newuser //在当前目录下的allowuser文件夹内创建.htpasswd文件并在其中创建newuser用户,随后会提示设置密码。.htpasswd文件最好放在/var/www/下的某个文件夹内而非/var/www/html防止可访问html文件夹用户修改其内容


//3,在要控制访问的文件夹(必须是/var/www/html路径下的文件夹,或/var/www/html路径本身)内添加 .htaccess 文件,并往其中写入
AuthName "Section Name"
AuthType Basic
AuthUserFile /var/www/allowuser/.htpasswd //填写刚才创建的.htpasswd文件的完整路径
Require valid-user

(1) 认证类型为基本型(此外还有一些其他的加密类型).
(2) 认证方式:用户认证(valid-user)或组认证(valid-group).


//4,最后设置文件.htpasswd和.htaccess的文件权限,确保Apache用户有读的权限,这样访问该文件夹下网页时就会要求填写.htpasswd文件里的用户名密码
命令行操作如下:
[root@uxy000205 phpMyAdmin]# htpasswd -c .htpasswd admin1 //设置用户名和密码
New password:
Re-type new password:
Adding password for user admin1

[root@uxy000205 www]# vi .htppasswd //查看存放用户名和密码的文件
admin1:eodAWOebvm1wg


[root@uxy000002 phpMyAdmin]# vi .htaccess
AuthName "liehuzuo.com"
AuthType Basic
AuthUserFile /var/www/phpMyAdmin/.htpasswd
Require valid-user


[root@uxy000002 phpMyAdmin]# ls -l .htpasswd .htaccess
-rw-r--r-- 1 root root 105 Oct 16 09:34 .htaccess
-rw-r--r-- 1 root root21 Oct 16 09:37 .htpasswd