开启我们的SELinux,我在安装linux系统时将它禁用了,但是开启selinux后,可能会对我们的一些服务有些限制功能,比如你可能不能正常访问网页、ftp等等,下面就对这些问题通过设置SELinux来解决这些问题
1、如果你的SELinux没用启动的话,有以下几种启动的方法
不可用状态
开启SELinux
Vim/etc/sysconfig/selinux如下:
或者用图形化界面修改命令为system-config-selinux或system-cofig-securitylevel将SELinux设置为 强制
以上三种方法必须重新启动计算机后SELinux才能生效。
2、当我们将SELinux设置为 强制 模式后,我们更改httpd.conf里的根目录以后,会发现,httpd重启不了,老失败、、、、
这里将根目录改为如下:
DocumentRoot /www
mkdir/www
echo 123 /www/index.html
重启httpd时,报错了,重启不了,查看日志发现如下:
Dec2311:33:03localhostsetroubleshoot:SELinuxispreventingaccesstofileswiththedefaultlabel,default_t.ForcompleteSELinuxmessages.runsealert-l511c4eda-797d-4b79-a1e3-51477afed4e6
按照日志的提示我们允许sealert-l511c4eda-797d-4b79-a1e3-51477afed4e6命令有以下信息
源上下文和目标上下文的类型不同,httpd无法对default_t类的文件及目录的读取,所以启动不了,修改为httpd能够读取的类型
httpd能够读取什么样的类型呢,通过如下一些命令查看
命令ll-Z目录或文件
或者是命令semanagefcontext-l|grephttp
从上边我们可以看到httpd能读取的类型是httpd_sys_context_t的类型
好了知道了这个类型,我们就把/www这个目录改成这个类型命令有chcon(changecontext)或者restorecon用法如下:
chcon-R–reference=/var/www/html//www/或者chcon-thttpd_sys_content_t/www/
改回原来的类型用restorecon-v-R/www
Httpd正常启动了,并且也能访问到index.html网页
重启httpd报错时。除了参看日志外还可用以下命令排错
sealert-b或者是图形界面下右上角的
单击小星星
关于web这里用的是默认的80端口,如果我们要建基于端口的虚拟主机时,能否通过SELinux呢。。。假如我们把端口改为8001,
Listen8001
重启httpd服务
出现错误了,不能绑定8001端口
通过上述的排错方式找到了如下
SELinux安全策略库里没有关于httpd的8001端口,所以我们要添加上去
semanageport-a-thttp_port_t-ptcp8001
重启httpd服务就没问题了。
ftp关于SELinux的一些问题
登录ftp以后dir一下看不到自己家目录里的任何文件及文件夹如下:
通过上述的排错方法得知如下:
先看一下ftp的布尔值
默认SELinux不允许的,需要改为ON命令如下:
setsebool-Pftp_home_dir=ON或者setsebool-Pftp_home_dir=1
再次dir
Samba关于SELinux的一些问题
共享目录为/wsm
[public]
comment=Public
path=/wsm
public=yes
但是却访问不了/wsm和自己的家目录日志如下:
Dec2314:35:15localhostsmbd[13169]:[2012/12/2314:35:15,0]smbd/service.c:make_connection_snum(1003)
Dec2314:35:15localhostsmbd[13169]:’/wsm’doesnotexistorpermissiondeniedwhenconnectingto[public]Errorwas权限不够
要设置一下SELinux了,smb.conf里就有关于SELinux的配置说明
执行如下命令
chcon-R-tsamba_share_t/wsm/
开启自己的家目录
setsebool-Psamba_enable_home_dirs=ON
一切OK
没有行李,没有背包,不带电脑更不要手机,