也想出现在这里? 联系我们

Linux中安装使用semanage来修改文本的教程

作者 : 小编 本文共2385个字,预计阅读时间需要6分钟 发布时间: 2022-10-28 共695人阅读
也想出现在这里? 联系我们

Selinux极大的增强了Linux系统的安全性,能将用户权限关在笼子里,如httpd服务,apache默认只能访问/var/www目录,并只能监听80和443端口,因此能有效的防范0-day类的攻击。举例来说,系统上的 Apache 被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如 /etc/passwd 来获得系统已存在用户),而修复该安全漏洞的 Apache 更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的访问标签,所以 Apache 对于 /etc/passwd 的访问会被 SELinux 阻止。

CentOS系统自带的chcon工具只能修改文件、目录等的文件类型和策略,无法对端口、消息接口和网络接口等进行管理,semanage能有效胜任SELinux的相关配置工作。

安装:

复制代码

代码如下:

# yum -y install policycoreutils-python

用法:semanage命令用来查询与修改SELinux默认目录的安全上下文。semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_specsemanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target

主要参数:

-a:添加-d:删除-m:修改-l:列举-n:不打印说明头-D:全部删除-f:文件-s:用户-t:类型r:角色

基本使用:

管理登录linux的用户和SELinux局限的用户之间的映射。

复制代码

代码如下:

semanage login [-S store] -{a|d|m|l|n|D} [-sr] login_name | %groupname

管理策略模块:

复制代码

代码如下:

semanage module [-S store] -{a|d|l} [-m [–enable | –disable] ] module_name

管理网络端口类型定义

复制代码

代码如下:

semanage port [-S store] -{a|d|m|l|n|D} [-tr] [-p proto] port | port_range

例:如apache采用非标准端口,需执行如下命令:

复制代码

代码如下:

emanage port -a -t http_port_t -p tcp port_number

查看当前允许的httpd端口:

复制代码

代码如下:

# semanage port -l|grep httphttp_cache_port_t tcp 3128, 8080, 8118, 8123, 10001-10010http_cache_port_t udp 3130http_port_t tcp 8888, 80, 443, 488, 8008, 8009, 8443pegasus_http_port_t tcp 5988pegasus_https_port_t tcp 5989

注意:8888是我刚才添加的

管理网络接口类型定义

复制代码

代码如下:

semanage interface [-S store] -{a|d|m|l|n|D} [-tr] interface_spec

管理网络节点类型定义

复制代码

代码如下:

semanage node [-S store] -{a|d|m|l|n|D} [-tr] [ -p protocol ] [-M netmask] address

管理文件中映射定义

复制代码

代码如下:

semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_specsemanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target

例:让 Apache 可以访问位于非默认目录下的网站文件

首先,用 semanage fcontext -l | grep \’/var/www\’ 获知默认 /var/www 目录的 SELinux 上下文:

复制代码

代码如下:

/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0

从中可以看到 Apache 只能访问包含 httpd_sys_content_t 标签的文件。

假设希望 Apache 使用 /srv/www 作为网站文件目录,那么就需要给这个目录下的文件增加 httpd_sys_content_t 标签,分两步实现。

首先为 /srv/www 这个目录下的文件添加默认标签类型:semanage fcontext -a -t httpd_sys_content_t \’/srv/www(/.*)?\’ 然后用新的标签类型标注已有文件:restorecon -Rv /srv/www 之后 Apache 就可以使用该目录下的文件构建网站了。

其中 restorecon 在 SELinux 管理中很常见,起到恢复文件默认标签的作用。比如当从用户主目录下将某个文件复制到 Apache 网站目录下时,Apache 默认是无法访问,因为用户主目录的下的文件标签是 user_home_t。此时就需要 restorecon 将其恢复为可被 Apache 访问的 httpd_sys_content_t 类型:

复制代码

代码如下:

restorecon -v /srv/www/foo.com/html/file.htmlrestorecon reset /srv/www/foo.com/html/file.html context unconfined_u:object_r:user_home_t:s0->system_u:object_r:httpd_sys_content_t:s0semanage fcontext -a -t httpd_sys_content_t \”/web(/.*)?\” //新建一条规则,指定/web目录及其下的所有文件的扩展属性为httpd_sys_content_t

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux中安装使用semanage来修改文本的教程

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录