码迷,mamicode.com
首页 > 系统相关 > 详细

0060 Linux SELinux 管理命令

时间:2016-06-10 08:26:52      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

SELinux 的起源
  SELinux 是一个面向政府和行业的产品,由 NSA、Network Associates、Tresys 以及其他组织设计和开发。尽管 NSA 将其作为一个补丁集引入,但从 2.6 版开始,它就被加入到 Linux 内核中。

访问控制方法
  大多数操作系统使用访问控制来判断一个实体(用户或程序)是否能够访问给定资源。基于 UNIX® 的系统使用一种自主访问控制(discretionary access control,DAC)的形式。此方法通常根据对象所属的分组来限制对对象的访问。例如,GNU/Linux 中的文件有一个所有者、一个分组和一个权限集。权限定义谁可以访问给定文件、谁可以读取它、谁可以向其写入,以及谁可以执行它。这些权限被划分到三个用户集中,分别表示用户(文件所有者)、分组(一个用户组的所有成员)和其他(既不是文件所有者,又不是该分组的成员的所有用户)。
  很多这样的访问控制都会带来一个问题,因为所利用的程序能够继承用户的访问控制。这样,该程序就可以在用户的访问层进行操作。与通过这种方式定义约束相比,使用最小特权原则 更安全:程序只能执行完成任务所需的操作。例如,如果一个程序用于响应 socket 请求,但不需要访问文件系统,那么该程序应该能够监听给定的 socket,但是不能访问文件系统。通过这种方式,如果该程序被攻击者利用,其访问权限显然是最小的。这种控制类型称为强制访问控制(MAC)。
另一种控制访问的方法是基于角色的访问控制(RBAC)。在 RBAC 中,权限是根据安全系统所授予的角色来提供的。角色的概念与传统的分组概念不同,因为一个分组代表一个或多个用户。一个角色可以代表多个用户,但它也代表一个用户集可以执行的权限。
  SELinux 将 MAC 和 RBAC 都添加到了 GNU/Linux 操作系统中。

技术分享

 

关闭SELinux的方法

    临时关闭: 

    setenforce 0   

    永久关闭:

    修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled
 若不想重启系统,使用命令setenforce 0

查看SELinux状态

sestatus   

getenforce

 

设定不正确的错误

  在linux上安装有些东西时会出现 Permission denied 的情况:nginx,apache 访问文件夹,反向代理访问网络等。

      例子:

nginx反向代理提示13 permission denied while connecting to upstream

 

后来发现是selinux的问题,于是先关掉selinux:setenforce 0;然后再访问果然好使。

于是启用selinux,再执行下面的命令,修改selinux的值:

 

setsebool -P httpd_can_network_connect 1  

  

 

 

 

  

 

0060 Linux SELinux 管理命令

标签:

原文地址:http://www.cnblogs.com/guangfengli/p/5573130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!