windows | Mac os | linux | 电脑故障 | 网络知识 | 电脑百科 | 破解软件 | 网页编程 | 电脑配置 |

Linux怎么安装使用semanage

semanage命令是用来查询与修改SELinux默认目录的安全上下文,那么大家知道Linux怎么安装使用semanage吗?接下来大家跟着小编一起来了解一Linux安装使用semanage下的解决方法吧。

Linux安装使用semanage方法

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_spec

semanage 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 http

http_cache_port_t tcp 3128, 8080, 8118, 8123, 10001-10010

http_cache_port_t udp 3130

http_port_t tcp 8888, 80, 443, 488, 8008, 8009, 8443

pegasus_http_port_t tcp 5988

pegasus_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_spec

semanage 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.html

restorecon 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:s0

semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" //新建一条规则,指定/web目录及其下的所有文件的扩展属性为httpd_sys_content_t

看过“Linux怎么安装使用semanage”的人还看了:

123
  • Linux怎么安装使用semanage 相关内容:
  • Linux怎么使用sort排序命令
  • sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。-(减号)代替文件名指定标准输入。如果您不指定任何文件名,那么该命令对标准输入排序。可以使用 -o 标志指定输出...

  • 排序命令sort使用实例介绍
  • sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。小编为大家分享了排序命令sort使用实...

  • linux系统命令及其使用详解
  • 如果你的英文足够好,那完全可以不靠任何人就精通linux,这里小编为大家分享下linux系统命令及其使用详解,希望大家喜欢。linux系统命令及其使用详解cat cdchmod chowncp cut名称:cat使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串...

  • Linux服务器监控工具
  • 有许多非常好的服务器监控解决方案,而为了省去你寻找方案的麻烦,这里小编为你列出了我能找到的最好的服务器监控工具。Linux服务器监控工具1.找出瓶颈2.硬盘(存储)瓶颈3.CPU及内存瓶颈4.网络瓶颈#1: top - 进程活动top提供一个当前运行系统实时动态的视图,也就是正在运行进...

  • linux操作系统监控工具
  • 监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。这里小编就与大家谈谈Linux操作票撒谎那个面都有一些什么样的系统监控工具。linux操作系统监控...

  • linux系统监控工具
  • 通过系统监控可以了解系统的运行状态、及时发现异常、分析原因、提早解决,避免系统故障,确保用户对系统的感知度和满意度。IPTV系统一般是通过告警管理、日志管理、信令跟踪、探针、诊断测试来实现对系统的监控。小编为大家分享了linux系统监控工具,下面大家跟着小编一起来...

  • Linux系统管理命令大全
  • linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。小编为大家分享了Linux系统管理命令,下面大家跟着小编一起来了解一下吧。Linux...

  • 怎么把Linux系统的文件拷贝到U盘
  • copy意为复制、摹本。拷贝有四种解释:①是一个计算机系统的DOS命令,意为“复制”,是一个新名词,广泛地应用于IT的各个领域,那么怎么把Linux系统的文件拷贝到U盘呢?小编为大家分享了拷贝Linux系统的文件到U盘的解决方法,下面大家跟着小编一起来了解一下吧。拷贝Linux...

  • 查看更多>>

    linux