懂ni 发表于 2018-11-19 07:30:11

LAMP搭建6:Apache用户认证

  搭好了网站,需要进行一系列设置来加强网站安全。比如1.网站有些目录和文件是不便对所有人公开的,2.管理员密码泄露,都会都网站安全造成威胁。因此我们需要给网站设置相应的用户认证,通过认证的用户可以访问指定的目录和文件,或者通过认证的用户才可以有权限登入管理员后台。
  1.假设网站根目录/data/www/下有个比较重要的目录important/,里面的内容不宜被人访问。
  # mkdir important
  # cd important/
  # cp /etc/passwd ./passwd.txt
  2.正常情况下,任何人都能访问这个文件的内容

  3.为了让用户只有输入正确的用户名和密码才能访问important目录下的内容,需要更改一下虚拟主机配置:
  # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  4.修改为如下样式:
  ……
  
  DocumentRoot "/data/www"
  ServerName www.test.com
  ServerAlias www.mydiscuz.com
     
        AllowOverride AuthConfig
        AuthName "username"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
     
  
  ……
  5.使用Apache自带的密码创建工具htpasswd命令创建/data/.htpasswd文件,创建认证用户guest,输入密码123456(首次使用需要加-c选项,表示创建.htpasswd文件)
  # htpasswd -c /data/.htpasswd guest
  New password:
  Re-type new password:
  Adding password for user guest
  6.查看/data/.htpasswd内容
  # cat /data/.htpasswd
  guest:hfsn08YHyrcAs
  7.添加用户guest2就不用加-c选项了,因为.htpasswd文件已存在。
  # htpasswd /data/.htpasswd guest2
  New password:
  Re-type new password:
  Adding password for user guest2
  # cat /data/.htpasswd
  guest:hfsn08YHyrcAs
  guest2:1XAmJe5eCrLSY
  8.重新加载apache配置文件
  # apachectl -t
  Syntax OK
  # apachectl graceful
  9.重新访问/important/passwd,提示需要进行身份认证。

  10.输入正确的用户名和密码才能看到important/目录下的内容。

  设置了用户认证你的网站是不是更安全了呢?!
  




页: [1]
查看完整版本: LAMP搭建6:Apache用户认证