RHCE7学习笔记19——管理SELinuxx安全

一、ugo模式主动访问控制DAC

文件的权限控制ugo   rwx

二、selinux强制访问控制MAC

每个文件资源都有一个标记,特定标记的进程,只能访问特定标记的资源,无法访问其他资源,即使资源的权限设置为777(rwx)

三、查看和设置文件和进程的安全标记

使用-Z的选项可以查看文件和进程的标记,以httpd服务为例子:

[[email protected] tmp]# ls -Z
--wx-----x. root   root   unconfined_u:object_r:user_tmp_t:s0 a1
-----w----. root   root   unconfined_u:object_r:user_tmp_t:s0 a4
---------x. root   root   unconfined_u:object_r:user_tmp_t:s0 a5
[[email protected] html]# ps auxZ|grep httpd
system_u:system_r:httpd_t:s0    root      5477  0.1  0.4 213692  4904 ?        Ss
[[email protected] html]# ls -ldZ /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

在根下创建一个www的目录,并在/var/www/html下面做一个www的软链接:

[[email protected] html]# mkdir /www
[[email protected] html]# ln -s /www/ www
[[email protected] html]# ls
index.html  iso  ks.cfg  www

/www目录的默认的上上下文为,没有标记为httpd:

[[email protected] html]# ls -ldZ /www/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/

如果这时候启动httpd服务,打开浏览器,访问www目录,会提示不被允许:

修改/www目录的上下文,使其上下文与/var/www/html一致,再打开www目录即可访问:

[[email protected] html]# chcon -R --reference=/var/www/html/ /www
[[email protected] html]# ls -ldZ /www/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/

使用restorecon命令可以恢复文件资源的默认上下文:

[[email protected] html]# ls -ldZ /www/
drwxr-xr-x. root root system_u:object_r:default_t:s0   /www/

使用chcon命令只能临时改变文件资源的上下文,重启电脑则会恢复默认值,要想永久的修改默认的上下文,则需使用semanage命令:

[[email protected] html]# semanage fcontext -a -t httpd_sys_content_t ‘/www(/.*)?‘

使用restorcon命令再恢复默认上下文,则恢复的是最新设置的上下文

使用-d选项可以删除默认的上下文:

[[email protected] html]# semanage fcontext -d -t httpd_sys_content_t ‘/www(/.*)?‘

四、selinux的三种模式

1、enforcing

使用getenforce可以查看系统当前的模式:

[[email protected] html]# getenforce 
Enforcing

不符合selinux模式则会报警,同时会阻止相关的操作

2、permissive

切换到permissive模式,使用setenforce

[[email protected] html]# setenforce 0
[[email protected] html]# getenforce 
Permissive

不符合selinux模式的操作,permissive会有警报,但是不会阻止相关的操作;

3、disable

在/etc/selinux/config文件中可永久修改selinux模式:

五、修改selinux模式的布尔值

使用getsebool -a命令查看所有的布尔值

[[email protected] html]# getsebool -a
abrt_anon_write --> off
abrt_handle_event --> off
abrt_upload_watch_anon_write --> on

如果搭建了某个服务,在客户端访问该服务,写不进任何东西,可以按以下步骤检查:

1、检查配置文件是否开启了相关的写权限;

2、文件系统权限

3、selinux上下文和布尔值是否开启了相关的权限

图形化管理selinux可以安装相关的包,使用system-config-selinux命令;

时间: 2024-10-09 16:27:13

RHCE7学习笔记19——管理SELinuxx安全的相关文章

RHCE7学习笔记5——管理用户和用户组

1.用户和用户组 /etc/passwd 文件记录了所有用户的相关信息 [[email protected] ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 每一行代表一个用户信息,从左至右分别代表了:用户名,密码(存储在/etc/shadow,用x表示),UID,GID,用户全称,家目录,she

RHCE7学习笔记7——管理OpenSSH服务

1.使用ssh远程连接服务器 ssh IP ,如果不指定用户名,默认使用当前的用户名 指定用户名登陆:  ssh -l username IP     ssh [email protected] ssh [email protected] ssh登陆成功后,会在用户的家目录下生成.ssh的文件夹,里面记录了用户的公钥指纹: [[email protected] ~]# ssh [email protected] The authenticity of host 'localhost (::1)'

Linux 程序设计学习笔记----进程管理与程序开发(下)

转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢! 进程管理及其控制 创建进程 fork()函数 函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html 返回值:Upon successful completion, fork() shall return 0 to the child process and shall re

性能测试学习笔记-如何管理loadrunner的临时文件

lr默认保存一些乱七八糟的文件到C:\Documents and Settings\wushi\Local Settings\Temp文件夹下,时间长了会占用大量空间. 在每台loadrunner的客户端机器上,都设置了一个lrtemp文件(可能是d:\lrtemp:也可能是e:\lrtemp).在打开controller后,到result settings设置一下路径,指到这个lrtemp文件下.等你保存好报告后,请将lrtemp里所产生的临时文件删除掉.这样就能避免这些临时文件占用大量空间了

JVM学习笔记-内存管理

第一章 内存分配 1. 内存区域. 方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离). 1) java虚拟机栈:线程私有.描述的是java方法执行的内存模型:栈帧,用户存储 局部变量表,操作数栈,动态链接,方法出口等信息. 局部变量表在编译时即可完全确定!如果线程请求的栈深度大于 规定的深度,StackOverflowError. 2) 本地方法栈,类似. 3)堆:垃圾收集器管理的主要区域.线程共享. 4)方法区: 各个线程共享.存储:加载的类信息,常量,静态变量,即时

Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的表进行的insert .update.delete操作或对视图进行类似的操作. 触发器是很多关系数据库系统都提供的一项技术.在Oracle系统里,触发器类似过程和函数,都有声明,运行和异常 处理过程的PL/SQL块. 触发器的组成: 触发事件:在何种情况下触发:比如:INSERT , UPDATE

Git 学习笔记<分支管理> (三)

分支是什么? 分支就像树分出的树枝,不同的是,它们之间可以互相合并. 将版本的推进想象成一个链表的伸长:  version 1.0 ==> version 2.0 ==>version3.0  . master是主要的分支基本上用于发布产品.你可以从master分出一个dev,在上面创建新功能,或者修bug然后调试.最后再合并到master里面.就像下面这样. master分支:  version 1.0=========>version 2.0===... \            

springmvc学习笔记(19)-RESTful支持

springmvc学习笔记(19)-RESTful支持 springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控制器配置 对静态资源的解析 本文介绍RESTful的概念,并通过一个小样例展示怎样编写RESTful风格的controller和配置前端控制器,最后展示静态资源的解析 概念 首先附上两篇博客链接 理解RESTful架构 - 阮一峰的网络日志 RESTful API 设计指南- 阮一峰的网络日志 RESTful架构.就是眼下最流

Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起见证FormPanel的强大. FieldLabel FieldLabel属性是每一个Field都具有的属性,它为我们的字段显示一个标签,例如上面登陆窗口中的“用户名”和“密码”. 我们可以通过LabelWidth控制标签的长度,例如我们设置用户名字段的LabelWidth="80": L