怎样保护Linux系统下的Apache网站

转载 2007年09月26日 14:49:00
Linux的广泛应用和快速发展得益于互联网的飞速发展。对于Internet上应用广泛的Web服务来说,Linux表现出色。很难说清目前Internet上究竟有多少个网站在使用Linux系统,但众多网站中采用Apache服务器的无疑占据了极大的市场份额。

如何为网站提供保护,防止非法用户登入呢?通常可以采用身份认证方式。身份认证是防止非法用户使用资源的有效手段,也是管理注册用户的有效方法。现在很多网站都使用身份认证来管理用户资源,对用户的访问权限进行严格地限制。传统的身份认证方法是通过检验用户的注册名、口令,来决定是否允许用户使用资源,但这种认证方法在某些情况下作用并不十分有效。特别是在Linux平台下的Apache服务器,完全可以用Linux的方法来实现密码验证和保护。

Linux下最常见的密码保护方法是利用.htacce 文件,即目录配置实现密码保护,这也是.htacce 文件的功能之一。这种方法可以使没有授权的浏览者不能进入.htacce 文件所设置的限制区域。一般地,使用JavaScript技术进行设置的密码太简单,很容易就被破解,造成了不安全。而使用.htacce 文件保护目录比使用其它程序(Java/HTML/A /CGI)更为有效和安全。更重要的是,使用.htacce 的方式进行设置,不需要编写程序就可以实现,具体操作比较容易。

下面就来介绍和演示Linux+Apache下密码保护的方法,全面实现网站保护。

什么是.htacce 文件

.htacce 文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。.htacce 文件提供了针对目录改变配置的方法,即通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htacce 文件),以作用于此目录及其所有子目录。.htacce 的功能包括设置网页密码、设置发生错误时出现的文件、改变首页的文件名(如index.HTML)、禁止读取文件名、重新导向文件、加上MIME类别、禁止列目录下的文件等。

在需要针对目录改变服务器的配置,而对服务器系统没有root权限时,应该使用.htacce 文件。如果服务器管理员不愿意频繁修改配置, 则可以允许用户通过.htacce 文件自己修改配置,尤其是I 在一台机器上提供多个用户站点,而又希望用户可以自己改变配置的情况下,一般会开放部分.htacce 的功能给使用者自行设置。

注意,.htacce 是一个完整的文件名,不是***.htacce 或其它格式(当然也有管理员把其设置成其它名字,但一般都是使用.htacce )。另外,上传.htacce 文件时,必须使用ASCⅡ模式,并使用chmod命令改变权限为:644(RW_R__R__)。每一个放置.htacce 的目录和其子目录都会被.htacce 影响。例如,在/abc/目录下放置了一个.htacce 文件,那么/abc/和/abc/def/内所有的文件都会被它影响,但/index.html不会被它影响,这一点是很重要的。

实现密码保护

1、建立.htpa wd文件

首先在要设置存取控制的目录(如htdocs)下建立一个文件,文件名可以自行设定,一般服务器都会设置为.htpa wd,该文件是不能由HTTP读取的。.htpa wd文件中的每一行代表一个使用者,使用者的名字及经过加密的密码以冒号:分隔。

2、.htacce 文件实现保护

.htacce 文件的内容如下:

 

authtype basic
authuserfile /usr/home/***/htdocs/.abcname1
authgroupfile /usr/home/***/htdocs/.abcname2
authname information

require valid-user

其中第二行和第三行中的***可以改为个人的FTP登录名。.abcname1和.abcname2可以是任意的文件名,如.htpa wd、.htpa ,但不能是.htacce 。将.htacce 上传到要进行密码保护的目录(如htdocs)中。

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

3、增加新的许可用户

进入htdocs目录,在命令行状态输入以下命令生成.abcname1文件。

 

echo > .abcname1
/var/www/bin/htpa wd .abcname1 abc

abc表示要增加的用户名。输入此命令后,系统会提示输入此用户密码,这样该用户名就生效了。以后如要再增加用户,运行第二行的命令时换一个用户名即可。如果这个用户名存在,则会提示修改密码。

4、建立允许访问的组

组的设置方法是建立一个名为.htgroup的文本文件,内容如下:

 

grou ame1: username1 username2 username3
grou ame2: username1 username3 username4

并在.htacce 中加上“AuthGroupFile /a olute/path/.htgroup”。以ASCⅡ模式上传所有文件后,该目录中的所有文件都会被保护起来。  

相关文章推荐

腾讯云服务器linux系统下apache php mysql安装

腾讯云服务器linux系统下apache php mysql安装CentOS系统我们可以直接使用 yum install 的方式进行软件安装,腾讯云有提供软件安装源,是 同步CentOS官方的安装源...
  • csdnhyp
  • csdnhyp
  • 2016年07月17日 09:56
  • 4068

linux系统apache编译配置一体化

  • 2013年03月08日 11:04
  • 7.3MB
  • 下载

Apache中主要配置文件(Linux系统)

1.apache主目录 ServerRoot “usr/local/apache2” 2.监听端口号 Listen 80 此处也可以监听特定的ip 3.加载动态模块 需要用到的时...
  • hsd2012
  • hsd2012
  • 2016年01月15日 09:16
  • 382

linux系统下Apache+mysql+php环境搭建----php的安装和配置

linux系统下Apache+mysql+php环境搭建—-php的安装和配置 操作系统 CentOS7 64位 新手 自己写完方便自己日后参考 首先从官网下载php7的压缩包http://php.n...
  • cpj555
  • cpj555
  • 2016年08月23日 13:42
  • 106

linux系统部署php+mysql+apache

当我们在linux执行php文件时,也是需要php环境的,之前有很多都是分别进行安装,我现在提供的是一个简单的方法,直接可以一键式部署,不用一个个去安装,也就是一个压缩包都包含在内,叫做lnmp,只需...

0042 linux系统下让Apache和PHP支持mysql的设置

接上0041 在ubuntu上配置好了mysql5.5之后,下面来设置如何让Apache和PHP支持mysql。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样保护Linux系统下的Apache网站
举报原因:
原因补充:

(最多只允许输入30个字)