在linux环境下执行某些程序时,偶尔会遇到来一个关于selinux的强制模式不可执行的情况,这种情况下需要关闭selinux或者将enforcing改为permissive模式后才能进行执行。selinux是Linux内核中提供的强制访问控制(MAC)系统,下面就对selinux的几种模式及其转换进行总结:

selinux的启动、关闭与查看
1)目前selinux支持三种模式,分别如下:
•enforcing:强制模式,代表selinux运作中,且已经正确的开始限制 domain/type 了;
•permissive:宽容模式:代表selinux运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 selinux 的 debug 之用;
•disabled:关闭,selinux 并没有实际运作。2)查看selinux的模式
[root@localhost ~]# getenforce
Enforcing       //显示出目前的模式为 Enforcing3)查看 selinux的政策 (Policy)?
[root@localhost ~]# 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@localhost ~]# vim /etc/selinux/config
selinux=enforcing           //调整 enforcing|disabled|permissive
selinuxTYPE=targeted        //目前仅有 targeted 与 strict5)selinux的启动与关闭
上面是预设的政策与启动的模式!需要注意的是,如果改变了政策则需要重新开机;如果由enforcing或permissive改成disabled,或由disabled改成其他两个,那也必须要重新开机。这是因为 selinux 是整合到核心里面去的, 你只可以在 selinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 selinux 的!
同时,由selinux关闭 (disable) 的状态到开启的状态也需要重新开机!查看selinux状态:
a)/usr/sbin/sestatus -v    //如果selinux status参数为enabled即为开启状态
selinux status: enabled
b)getenforce       //也可以用这个命令检查关闭selinux:
a)临时关闭(不用重启机器):
setenforce 0      //设置selinux 成为permissive宽容模式
setenforce 1      //设置selinux 成为enforcing强制模式b)修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将selinux=enforcing改为selinux=disabled
重启机器即可如果你要启动selinux的话,请将上述的selinux=enforcing设定妥当,并且指定selinuxTYPE=targeted 这一个设定,并且到/boot/grub/menu.lst这个文件去,看看核心有无关闭selinux。
[root@localhost ~]# 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 ro root=LABEL=/1 rhgb quiet selinux=0
initrd /initrd-2.6.18-92.el5.img如果要启动selinux ,则不可以出现 selinux=0的字样在kernel后面!=======================================================
温馨提示一个坑点:
一般而言,要关闭服务器的selinux功能,常用下面两种方法:
1)临时关闭
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce2)永久关闭
[root@localhost ~]# cat /etc/sysconfig/selinux
SELINUX=disabled
[root@localhost ~]# reboot之前碰到一个坑,如上设置SELINUX为disabled,并reboot重启服务器后,selinux并没有关闭!最后发现原因是:
/etc/selinux/config文件里面的SELINUX值没有改过来,所以重启不生效!
一般而言,服务器系统安装后,/etc/sysconfig/selinux会默认为/etc/selinux/config的软链接,所以只需修改/etc/sysconfig/selinux文件中的SELINUX为disabled即可!
因为系统启动后默认会以/etc/selinux/config为主。[root@localhost ~]# ll /etc/sysconfig/selinux
lrwxrwxrwx. 1 root root 17 Apr 27 02:41 /etc/sysconfig/selinux -> ../selinux/config但之前碰到过的现象是: /etc/sysconfig/selinux 并不是/etc/selinux/config的软链接,所以这个细节要留意,如果不是软链接关系,就最好两个文件都修改下!

转载于:https://www.cnblogs.com/kevingrace/p/5770283.html

Linux下selinux简单梳理相关推荐

  1. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  2. linux上用的端口转发工具,linux下最简单好用的的端口转发工具

    linux下最简单好用的的端口转发工具 解压安装 tar zxvf rinetd.tar.gz make make install 编辑配置 vi /etc/rinetd.conf 0.0.0.0 8 ...

  3. 华为关于LINUX的认证,华为认证:华为TA128在LINUX下的简单设置

    华为认证:华为TA128在LINUX下的简单设置 华为认证:华为TA128在LINUX下的简单设置,来看看吧. 现以LINUX RH7为例说明TA128在LINUX下的使用方法. 启动您的X,如果还没 ...

  4. 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  5. linux下最简单多线程单文件socks5代理proxy服务器程序(仅一个c文件,带详细注解)

    2020.9.11 网上看的都比较复杂,GITHUB找了一个多线程的相对简单的MicroSocks项目,花了几周时间(没办法,菜鸟一个)改了一下,改成单文件,测试OK. /* wxl_socks5_p ...

  6. Linux下最简单的动态域名用法

    Linux下最简单的动态域名用法 估计做IT的哥们象我这样ADSL包月的应该很多,我一般家里有一部电脑是24小时开机的,它上面跑着我的各种应用,也相当于我的一个网络硬盘.为了方便自己能从远程访问,我们 ...

  7. Linux 下最简单快捷的端口转发软件 redir 简介

    Linux 下的端口转发软件很多,像 ssh.iptables.socat 等等,但论简单易用,据我所知,还得算这个小小的 redir.它可以非常方便的把本机的TCP 端口转发给本机或其它机器的特定端 ...

  8. linux下添加简单的开机自启动脚本

    注:博主使用的ubuntu-16.04进行实验,其它版本可能有偏差,但实现原理类似. 一.在rc.local脚本中添加开机自启动程序 1.添加 ubuntu在开机过程之后,会执行/etc/rc.loc ...

  9. Linux 下crontab简单使用

    0.个人标记 caicongyang http://blog.csdn.net/caicongyang 1.crontab crontab是linux下的一个定时任务,在sping中也有该机制 2.基 ...

最新文章

  1. Linux配置示例:配置java环境变量
  2. Android Binder的使用
  3. for命令linux,linux中的for命令
  4. html tab与jQuery,使用jquery实现div的tab切换实例代码
  5. MATLAB中的S-Function的用法(C语言)
  6. 域名劫持到百度被黑详解DNS技术
  7. Gprinter Android SDK V2.1.4 使用说明
  8. 从零開始学androidlt;TabHost标签组件.二十九.gt;
  9. ISO 3166 2位国别编码
  10. java数字转中文_java阿拉伯数字转中文数字
  11. idea解决Untracked Files Prevent Merge问题
  12. java连连看倒计时_javascrpit开发连连看记录-小游戏
  13. “看得见的手”:浅谈我国网约车监管
  14. python plc fx5u_三菱PLC的FX5U系列参数与定位点
  15. 小程序 实现星星评分(共10分),含有半星
  16. java中的日期格式转换
  17. 360网站卫士推出免费风云加速
  18. 江西 南昌 富士康 java,好消息!富士康智能科技小镇落户小蓝经开区!总投资达110亿元...
  19. python for i in a:与删除a内元素引起的bug
  20. 15个产品经理问题,面试经常被问到!

热门文章

  1. 约瑟夫环循环队列问题java_java 实现约瑟夫环
  2. 风变Python8编程时,两大思维模式
  3. 聚类算法实践——谱聚类、Chameleon聚类
  4. python实现简单的http服务器_python实现简单http服务器功能
  5. itext生成pdf paragraph 自动换行_reportlab高级制作多格式PDF和python的class和装饰器复习
  6. python中reversed函数,Python3
  7. PAT (Basic Level) Practice1019 数字黑洞
  8. 如何在内存中存储有序数据?
  9. 选择排序两层遍历的目的
  10. yarn开启Label Scheduler