发布时间:2014-09-05 17:25:57作者:知识屋
安装时考虑到安全,准备将DocumentRoot单独放置在一个分区里,所以在逻辑分区专门为它建了一个目录为:/Dmnr
为了挂载该分区设/etc/fstab为:
代码:...
LABEL=/Dmnr /Dmnr ext3 defaults 1 2
目录建好后将网站内容拷入该目录下的www/html,并修改/etc/httpd/conf/httpd.conf如下:
[php]
...
DocumentRoot "/Dmnr/www/html"
...
...
[/php]
重起Apache出现如下错误提示:
代码:#service httpd restart
Starting httpd: Warning: DocumentRoot [/Dmnr/www/html] does not exist
[ OK ]
当然服务器不会正常工作,Apache认为这个不是目录!但是将DocumentRoot ""对准其它目录则没有问题,服务器可以正常工作。
解决:
一. SELinux 的配置( 略... ),可以参考:
http://www.chinalinuxpub.com/read.php?wid=1010
http://blog.josesun.org/archives/2004_08/2
二. 修改 html 目录权限:
1. 检查网站内容目录
[php]
#ls -Z /Dmnr/www/html
[/php]
状态为:
[php]
-rwxr-xr-x someuser somegroup index.php
...
[/php]
2. 显然没有 SELinux 权限,所以做如下修改:
[php]
chcon -R -t httpd_user_content_t /Dmnr/www/html
[/php]
再看就是这样:
[php]
-rwxr-xr-x someuser somegroup user_u:object_r:httpd_sys_content_t index.php
...
[/php]
重启 httpd 一般的 php 就可以工作了。
三. 数据库
1. Mysql
但是当读写数据库时还会被 SELinux 拒绝,到 /var/lib/mysql 或 /var/lib/pgsql 下看没有问题,权限是这样的:
[php]
-rw-rw---- mysql mysql root:object_r:mysqld_db_t ibdata1
-rw-rw---- mysql mysql root:object_r:mysqld_db_t ib_logfile0
-rw-rw---- mysql mysql root:object_r:mysqld_db_t ib_logfile1
drwx------ mysql mysql root:object_r:mysqld_db_t mysql
srwxrwxrwx mysql mysql root:object_r:mysqld_var_run_t mysql.sock
drwx------ mysql mysql root:object_r:mysqld_db_t test
[/php]
但是到放了数据的 test 库底下看就知道自建的表还是没有 SELinux 权限,没关系,修改就是了:
[php]
chcon -R -t mysqld_db_t /var/lib/mysql
[/php]
注意!此处的 SELinux 属性是 mysqld_db_t
2. pgsql
我还开了 PostgreSQL 的库,用此方法修改属性没有成功,报错:
[php]
chcon: cant apply partial context to unlabeled file pgsql/data/base/23456
chcon: cant apply partial context to unlabeled file pgsql/data/base/12345
[/php]
到 /var/lib/pgsql/data/base 下看,原来是自建库 12345 和 23456 不能应用属性。找资料找的乱七八糟,半天也没有头绪,算了!
[php]
#su - postgres
$cd /var/lib/pgsql/data/base
$mv 12345 12345_b
$cp -r 12345_b 12345
[/php]
再看:
[php]
drwx------ postgres postgres user_u:object_r:postgresql_db_t 12345
...
[/php]
说明已经加上属性了,再刷新一下读数据库的网页,OK !
最后还要说几句,修改 SELinux 属性挺烦的,但是对安全有好处,所以值得下一点工夫。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能