Linux_SELinux使用
目录
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Ⅸ权限更好的访问控制。
SElinux的应用
`ll 文件/目录后出现”.”,说明该文件/目录与SELinux有关。
只通过权限访问的叫DAC,权限+SELinux,叫MAC强制访问方式。
SELinux 会给每个文件分配一个标签,当标签不匹配时,即使有权限,也不能访问。标签学名叫做SELinux上下文。(context)
ls -Z #可以查看文件/目录的SELinux标签
ps auxZ #可以查看进程的SElinux标签
getenforce
sestatus
修改 SELinux 下次启动模式
vim /etc/sysconfig/selinux
或 vim /selinux/config
disabled: 关闭SELinux
permissive :警告,不满足上下文的要求,依然可以访问
enforcing : 强制,不满足上下文,拒绝 setenforce 0|1
mv指令,不会修改SELinux上下文
cp指令,继承目标目录的SELinux上下文
修改 SELinux 上下文
chcon -R -t SELinux上下文 文件/目录
#-R 递归到子目录
#-t 上下文的类型
restorecon -R 文件/目录 #继承当前目录的上下文
上下文的快速模仿
chcon -R --reference=/var/www/html index.html #将index.html的context修改为与/var/www/html一致
SELinux布尔值
是针对服务的开关(附加开关)
如果SELinux布尔开关关闭了,即使服务允许,但最终是拒绝的。
查看SELinux布尔开关:
getsebool -a #查看所有服务的开关
setsebool -P #需要修改的SELiux服务布尔开关 on|off
图形化管理SElinux
yum whatprovides system-config-selinux
yum install policycoreutils-gui
system-config-selinux
SELinux错误
setroubleshootd
命令行查看SELinux冲突:
cat /var/log/audit/audit.log | grep sealert
cat /var/log/messages | grep sealert
sealert -l 2065d1c2-42a7-4ca1-a952-a2a16f7d4cb7 #来自setroubleshootd 的返回信息
Linux_SELinux使用的更多相关文章
随机推荐
- 雪花算法生成ID
前言我们的数据库在设计时一般有两个ID,自增的id为主键,还有一个业务ID使用UUID生成.自增id在需要分表的情况下做为业务主键不太理想,所以我们增加了uuid作为业务ID,有了业务id仍然还存在自 ...
- 初探 -1 JavaScript
JavaScript 教程 JavaScript 是 Web 的编程语言. 所有现代的 HTML 页面都使用 JavaScript. JavaScript 非常容易学. 本教程将教你学习从初级到高级J ...
- 2019-11-29-dotnet-文件读写务必注意事项
title author date CreateTime categories dotnet 文件读写务必注意事项 lindexi 2019-11-29 08:34:43 +0800 2019-10- ...
- lilo - 安装引导装入程序
总述 主要功能: ” /sbin/lilo” - 安装引导装入程序 辅助用途: ”/sbin/lilo –q” - 查询影射表 ”/sbin/lilo –R” - 设置下次启动的默认命令行 ”/sbi ...
- INSERT - 在表中创建新行
SYNOPSIS INSERT INTO table [ ( column [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT ...
- linux系统批量修改root密码
#!/bin/bash ip_list=(192.168.36.12 192.168.36.13) remote_cmd="echo new-passwd | passwd --stdin ...
- AIX中的网络管理
1.AIX中网络配置 AIX支持的适配器: #lsdev -Cc adapter 查看网络适配器: #lsdev -Cc if 修改网卡属性 #smitty chgenet ...
- Ubuntu16.04下caffe CPU版的图片训练和测试
一 数据准备 二.转换为lmdb格式 1.首先,在examples下面创建一个myfile的文件夹,来用存放配置文件和脚本文件.然后编写一个脚本create_filelist.sh,用来生成train ...
- 【洛谷P1417】烹调方案 贪心+背包dp
题目大意:一共有 n 件食材,每件食材有三个属性,ai,bi和ci,如果在t时刻完成第i样食材则得到ai-t*bi的美味指数,用第i件食材做饭要花去ci的时间.众所周知,gw的厨艺不怎么样,所以他需要 ...
- SSM三大框架详细整合流程
1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...