阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SELinux安全上下文初探

137次阅读
没有评论

共计 2986 个字符,预计需要花费 8 分钟才能阅读完成。

开启我们的 SELinux,我在安装 linux 系统时将它禁用了,但是开启 selinux 后,可能会对我们的一些服务有些限制功能,比如你可能不能正常访问网页、ftp 等等,下面就对这些问题通过设置 SELinux 来解决这些问题

1、如果你的 SELinux 没用启动的话,有以下几种启动的方法

SELinux 安全上下文初探

不可用状态

开启 SELinux

Vim /etc/sysconfig/selinux 如下:

SELinux 安全上下文初探

或者用图形化界面修改命令为 system-config-selinux 或 system-cofig-securitylevel 将 SELinux 设置为“强制”

以上三种方法必须重新启动计算机后 SELinux 才能生效。

2、当我们将 SELinux 设置为“强制”模式后,我们更改 httpd.conf 里的根目录以后,会发现,httpd 重启不了,老失败、、、、

这里将根目录改为如下:

DocumentRoot “/www”

mkdir /www

echo “123” > /www/index.html

SELinux 安全上下文初探

重启 httpd 时,报错了,重启不了,查看日志发现如下:

Dec 23 11:33:03 localhost setroubleshoot: SELinux is preventing access to files with the default label, default_t. For complete SELinux messages. run sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6

按照日志的提示我们允许 sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6 命令 有以下信息

SELinux 安全上下文初探

源上下文和目标上下文的类型 不同,httpd 无法对 default_t 类的文件及目录的读取,所以启动不了,修改为 httpd 能够读取的类型

httpd 能够读取什么样的类型呢,通过如下一些命令查看

命令 ll -Z 目录或文件

SELinux 安全上下文初探

或者是命令 semanage fcontext -l | grep http

SELinux 安全上下文初探

从上边我们可以看到 httpd 能读取的类型是 httpd_sys_context_t 的类型

好了知道了这个类型,我们就把 /www 这个目录改成这个类型 命令有 chcon(change context)或者 restorecon 用法如下:

chcon -R –reference=/var/www/html/ /www/ 或者 chcon -t httpd_sys_content_t /www/

改回原来的类型用 restorecon -v -R /www

SELinux 安全上下文初探

Httpd 正常启动了,并且也能访问到 index.html 网页

重启 httpd 报错时。除了参看日志外还可用以下命令排错

sealert -b 或者是图形界面下右上角的

SELinux 安全上下文初探

单击小星星

关于 web 这里用的是默认的 80 端口,如果我们要建基于端口的虚拟主机时,能否通过 SELinux 呢。。。假如我们把端口改为 8001,

Listen 8001

重启 httpd 服务

SELinux 安全上下文初探

出现错误了,不能绑定 8001 端口

通过上述的排错方式找到了如下

SELinux 安全上下文初探

SELinux 安全上下文初探

SELinux 安全策略库里没有关于 httpd 的 8001 端口,所以我们要添加上去

semanage port -a -t http_port_t -p tcp 8001

重启 httpd 服务就没问题了。

ftp 关于 SELinux 的一些问题

登录 ftp 以后 dir 一下看不到自己家目录里的任何文件及文件夹如下:

SELinux 安全上下文初探

通过上述的排错方法得知如下:

SELinux 安全上下文初探

先看一下 ftp 的布尔值

SELinux 安全上下文初探

默认 SELinux 不允许的,需要改为 ON 命令如下:

setsebool -P ftp_home_dir=ON 或者 setsebool -P ftp_home_dir=1

再次 dir

SELinux 安全上下文初探

Samba 关于 SELinux 的一些问题

共享目录为 /wsm

[public]

comment = Public

path = /wsm

public = yes

但是却访问不了 /wsm 和自己的家目录 日志如下:

Dec 23 14:35:15 localhost smbd[13169]: [2012/12/23 14:35:15, 0] smbd/service.c:make_connection_snum(1003)

Dec 23 14:35:15 localhost smbd[13169]: ‘/wsm’ does not exist or permission denied when connecting to [public] Error was 权限不够

要设置一下 SELinux 了,smb.conf 里就有关于 SELinux 的配置说明

执行如下命令

chcon -R -t samba_share_t /wsm/

SELinux 安全上下文初探

开启自己的家目录

setsebool -P samba_enable_home_dirs=ON

一切 OK

开启我们的 SELinux,我在安装 linux 系统时将它禁用了,但是开启 selinux 后,可能会对我们的一些服务有些限制功能,比如你可能不能正常访问网页、ftp 等等,下面就对这些问题通过设置 SELinux 来解决这些问题

1、如果你的 SELinux 没用启动的话,有以下几种启动的方法

SELinux 安全上下文初探

不可用状态

开启 SELinux

Vim /etc/sysconfig/selinux 如下:

SELinux 安全上下文初探

或者用图形化界面修改命令为 system-config-selinux 或 system-cofig-securitylevel 将 SELinux 设置为“强制”

以上三种方法必须重新启动计算机后 SELinux 才能生效。

2、当我们将 SELinux 设置为“强制”模式后,我们更改 httpd.conf 里的根目录以后,会发现,httpd 重启不了,老失败、、、、

这里将根目录改为如下:

DocumentRoot “/www”

mkdir /www

echo “123” > /www/index.html

SELinux 安全上下文初探

重启 httpd 时,报错了,重启不了,查看日志发现如下:

Dec 23 11:33:03 localhost setroubleshoot: SELinux is preventing access to files with the default label, default_t. For complete SELinux messages. run sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6

按照日志的提示我们允许 sealert -l 511c4eda-797d-4b79-a1e3-51477afed4e6 命令 有以下信息

SELinux 安全上下文初探

源上下文和目标上下文的类型 不同,httpd 无法对 default_t 类的文件及目录的读取,所以启动不了,修改为 httpd 能够读取的类型

httpd 能够读取什么样的类型呢,通过如下一些命令查看

命令 ll -Z 目录或文件

SELinux 安全上下文初探

或者是命令 semanage fcontext -l | grep http

SELinux 安全上下文初探

从上边我们可以看到 httpd 能读取的类型是 httpd_sys_context_t 的类型

好了知道了这个类型,我们就把 /www 这个目录改成这个类型 命令有 chcon(change context)或者 restorecon 用法如下:

chcon -R –reference=/var/www/html/ /www/ 或者 chcon -t httpd_sys_content_t /www/

改回原来的类型用 restorecon -v -R /www

SELinux 安全上下文初探

Httpd 正常启动了,并且也能访问到 index.html 网页

重启 httpd 报错时。除了参看日志外还可用以下命令排错

sealert -b 或者是图形界面下右上角的

SELinux 安全上下文初探

单击小星星

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2986字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中