SELinux 的启动、关闭与查看

el/2024/7/17 22:34:24

SELinux 的启动、关闭与查看

1,并非所有的 Linux distributions 都支持 SELinux 的

目前 SELinux 支持三种模式,分别如下:

•enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;

•permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;

•disabled:关闭,SELinux 并没有实际运作。

 

2,查看SELinux的模式

#  getenforce

Enforcing  <==就显示出目前的模式为 Enforcing

 

3,查看 SELinux 的政策 (Policy)

[root@master oracle]#   sestatus

SELinux status:                  enabled    <==是否启动 SELinux

SELinuxfs mount:                /selinux   <==SELinux 的相关文件资料挂载点

Current mode:                     enforcing  <==目前的模式

Mode from config file:          enforcing  <==设定档指定的模式

Policy version:                     21

Policy from config file:        targeted   <==目前的政策为何?

 

4,通过配置文件调整SELinux的参数

[root@www ~]# vi /etc/selinux/config

SELINUX=enforcing     <==调整 enforcing|disabled|permissive

SELINUXTYPE=targeted  <==目前仅有 targeted 与 strict

 

5,SELinux 的启动与关闭

【重要常识】上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!

 

【重点】如果要启动SELinux必须满足以下两个点:

所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢?

[root@www ~]# vi/boot/grub/menu.lst

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-92.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-92.el5 roroot=LABEL=/1 rhgb quiet selinux=0

        initrd /initrd-2.6.18-92.el5.img

# 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!

【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?

【答案】将强制模式改为宽松模!

[root@www ~]# setenforce [0|1]

选项与参数:

0 :转成 permissive 宽容模式;

1 :转成 Enforcing 强制模式

 

范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看

[root@www ~]# setenforce 0

[root@www ~]# getenforce

Permissive

[root@www ~]# setenforce 1

[root@www ~]# getenforce

Enforcing

 

6,查看已启动程序的type设定

[root@master oracle]# ps aux-Z

LABEL                           USER       PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND

system_u:system_r:init_t        root         1 0.0  0.4   2060  520 ?        Ss   May07   0:02 init [5

system_u:system_r:kernel_t      root         2 0.0  0.0      0    0 ?        S<   May07  0:00 [migra]

system_u:system_r:kernel_t      root        11 0.0  0.0      0    0 ?        S<   May07  0:00 [kacpi]

system_u:system_r:auditd_t      root     4022  0.0  0.4 12128   560 ?        S<sl May07   0:01 auditd

system_u:system_r:auditd_t      root     4024  0.0  0.4 13072   628 ?        S<sl May07   0:00 /sbin/a

system_u:system_r:restorecond_troot      4040  0.0 4.4  10284  5556 ?       Ss   May07  0:00 /usr/sb

 

说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行。

 

 

7,什么是SELinux

 

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。

大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNⅨ权限更好的访问控制

 

 

 


http://www.ngui.cc/el/5557117.html

相关文章

Rsyslog远程传输的几种方式

基本介绍 Rsyslog是一个syslogd的多线程增强版&#xff0c;rsyslog vs. syslog-ng 链接是rsyslog官方和syslog特性和性能上的一些对比&#xff0c;目前大部分Linux发行版本默认也是使用rsyslog记录日志。这里介绍rsyslog远程传输的几种方式&#xff0c;对远程日志传输可以有一…

Linux strace 命令用法详解:跟踪系统调用和信号

原文地址&#xff1a; http://man.linuxde.net/strace

linux Selinux管理工具semanage

关联博文&#xff1a;http://blog.csdn.net/u011630575/article/details/52077563 Selinux极大的增强了Linux系统的安全性&#xff0c;能将用户权限关在笼子里&#xff0c;如httpd服务&#xff0c;apache默认只能访问/var/www目录&#xff0c;并只能监听80和443端口&#xff0…

rsyslog的relp转发及自定义端口号问题

rsyslog机制很强大&#xff0c;可以汇聚分散的日志到一台日志服务器上&#xff0c;方便查看和调试。安装起来非常简单&#xff1a; shell> cd /etc/yum.repos.d/ shell> wget http://rpms.adiscon.com/v8-stable/rsyslog.repo shell> yum install rsyslog centos6.5默…

MYSQL tee的功能测试

Mysql将结果保存到文件&#xff0c;从文件中执行sql语句记录操作过程&#xff08;tee命令的使用&#xff09; 1. 有时候我们可能需要记录用户对mysql的操作过程&#xff0c;这时我们可以使用mysql的tee命令 1&#xff09;第一种情况是在链接数据库的时候使用tee >mysql -u…

shell处理mysql增、删、改、查

shell处理mysql增、删、改、查 参考博客第五种方法&#xff1a;http://blog.csdn.net/u011630575/article/details/50986835 引言 shell是如何操作mysql的&#xff1f; shell操作mysql其实就是通过mysql命令通过参数去执行语句&#xff0c;跟其他程序里面是一样的&#xff0c…

Shell脚本读取mysql结果集各数据项的值

在linux下用shell脚本读取mysql结果集各数据项的值&#xff0c;按行读取sql结果&#xff0c;将sql执行结果读取到shell变量中&#xff0c;然就可进行处理。 HOSTNAME"172.16.xx.xx" #数据库信息 PORT"3306" USERNAME"root" PASSWORD"roo…

simhash与重复信息识别(一)

随着信息爆炸时代的来临&#xff0c;互联网上充斥着着大量的近重复信息&#xff0c;有效地识别它们是一个很有意义的课题。例如&#xff0c;对于搜索引擎的爬虫系统来说&#xff0c;收录重复的网页是毫无意义的&#xff0c;只会造成存储和计算资源的浪费&#xff1b;同时&#…

simhash与重复信息识别(二)

Simhash 传统IR领域内文本相似度比较所采用的经典方法是文本相似度的向量夹角余弦&#xff0c;其主要思想是根据一个文章中出现词的词频构成一个向量&#xff0c;然后计算两篇文章对应向量的向量夹角。但由于有可能一个文章的特征向量词特别多导致整个向量维度很高&#xff0c;…

文本相识度算法(余弦相似性、简单共有词、编辑距离、SimHash、汉明距离、Jaccard相似性系数、欧几里得距离、曼哈顿距离 )

文本相似度计算在信息检索、数据挖掘、机器翻译、文档复制检测等领域有着广泛的应用。 比如舆论控制&#xff0c;我们假设你开发了一个微博网站&#xff0c;并且已经把世界上骂人的句子都已经收录进了数据库&#xff0c;那么当一个用户发微博时会先跟骂人句子的数据库进行比较&…