2016年1月

linux权限详解

linux drwxr-xr-x
第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
第8-10位表示其他用户所具有的权限。

如:

$ ls -al
total 16
drwxr-xr-x    8 bin      bin             256 Dec 06 11:09 .
drwxr-xr-x   25 root     system         4096 Feb 23 11:21 ..
drwxr-xr-x    2 develop  others          256 Oct 12 2012  develop
drwxr-xr-x    2 guest    usr             256 Aug 31 2010  guest
drwxr-xr-x   12 ibm      staff          4096 May 29 11:14 ibm
drwx------    2 root     system          256 Dec 06 10:36 lost+found
drwxr-xr-x    3 oracle   staff           256 Feb 05 16:31 oracle
drwxr-xr-x    2 202      201             256 Dec 06 2011  sshd

- 阅读剩余部分 -

linux禁止指定目录执行php文件

我们设置网站权限的时候,有些目录不得不设置让http服务器有写入权限,这样安全隐患就来了。比如discuz x2的 data目录,这个必须要有写入限,论坛才能正常运行,但有的黑客可能就会利用这个目录上传php文件(你会说附件上传已经限制这种格式的文件,但谁知道黑客会利用什么手段上传呢,只有他们清楚了),进而到配置文件读取到mysql的连接信息,那么你的数据库就是他的了。下面介绍apache和nginx下禁止指定目录执行php文件。

apache的配置

<Directory /home/centos/web/data>
   php_flag engine off
</Directory>
<Directory ~ "^/home/centos/web/data">
    <Files ~ ".php">
    Order allow,deny
    Deny from all
    </Files>
</Directory>

nginx的配置

location /data/ {
    location ~ .*\.(php)?$ {
    deny all;
    }
}
或
location ~* ^/(attachments|upload)/.*\.(php|php5)$
{
    deny all;
}