linux初学者-SElinux篇
SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。
1、SElinux的状态
命令"getenforce"可以查看SElinux的状态,SElinux的状态分为以下三种:
Enforcing (1) 强制模式
Permissive (0) 警告模式
Disabled 关闭模式
"setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。如果需要关闭,则在配置文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled",因为SElinux是基于内核的安全系统,所以在设置完成之后需要重启内核,即需要重启电脑才可以生效。
2、SElinux对服务的影响
SElinux是最全面的安全系统,所以会对文件和服务有一定的限制,以下服务以ftp为例。
SElinux会在文件上做出上下文标识,例如下图所示,在"/mnt"和"/var/ftp/pub"下分别建立文件"file",输入"ls -Z"可以查看文件标识。可以看出,"/mnt/file"为"mnt_t",而"/var/ftp/pub/file"标识为"public_content_t",这样会导致将"/mnt/file"移入"/var/ftp/pub"目录下,连接lftp无法看到这个文件。
SElinux为了系统的安全,会禁止服务一些危险功能的使用,可以输入"getsebool -a | grep ftp"来查看禁止了ftp服务的哪些功能,如下图所示,输入"setsebool -P 功能 on|off"可以控制这些功能的开关。
3、SElinux的上下文管理
之前提到SElinux会在目录和文件上留下上下文标识,输入"ls -Z"可以查看。命令"chcon -t 上下文 文件"可以更改文件和目录的上下文标识,就可以解决上述中lftp无法看到其他上下文标识文件的问题。例如下图所示,现有两个不同上下文标识的文件"txt"和"file"连接lftp后可以看到"file",输入"chcon -t public_content_t /var/ftp/pub/txt"后,重新连接lftp,就可以看到"file"和"txt"两个文件了。
如下图所示,将匿名用户登陆的家目录改为"/westos",并将标识改为"public_content_t",连接lftp可以看到这个家目录。但是将SElinux的状态改为"disabled"重启后再改回"enforcing",重启后重新连接lftp,发现无法看见家目录了。
上述情况说明使用"chcon"命令改变目录的上下文标识只是临时的。永久改变目录的上下文标识,需要做如下步骤:
a、使用命令"semanage fcontext -l | grep /westos"查看该目录是否有上下文规则。
b、输入"semanage fcontext -a -t public_content_t '/westos(/.*)?'"为"/westos"添加上下文规则,并通过a步骤命令查看。
c、查看到上下文规则后,输入命令"restorecon -RvvF /westos"将规则同步至目录及其子目录。
上述步骤完成后就可以永久改变"/westos"目录的上下文标识了,重新连接lftp就可以看到目录了。
4、SElinux的日志
在SElinux的使用当中,会出现一些错误,例如连接lftp后无法看到里面的文件,或者在进行配置时某一步出现错误。这些错误出现后是可以查出来并且解决的,这就是SElinux日志的使用。
SElinux的日志会记录在"/var/log/audit/audit.log"和文件"/var/log/messages"中,前者只会说明错误,但是不会提供解决办法,且阅读复杂。"/var/log/messages"文件可以详细的记录错误,并且提供解决方法,SElinux的记录软件是"setroubleshoot-server.x86_64"。下面将以lftp连接后无法看到里面的文件来具体介绍。
前面已做叙述,如果不改变下图中的"file1"文件的上下文标识,是无法看到这个文件的。
在没有"setroubleshoot-server.x86_64"这个软件的情况下,清空日志后,发现日志中并不会记录这个错误。
然后安装这个软件后,重新连接,再查看日志,其中就会出现这个错误的具体日志。并且会提供解决方法,根据解决方法就可以解决这个问题了。
linux初学者-SElinux篇的更多相关文章
- linux初学者-ftp篇(一)
linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SEL ...
- linux初学者-firewall篇
linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...
- linux初学者-mail篇
linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...
- linux初学者-iptables篇
linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...
- linux初学者-Apache篇
linux初学者-Apache篇 Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述. ...
- linux初学者-iscsi篇
linux初学者-iscsi篇 之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互 ...
- linux初学者-磁盘阵列篇
linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组——raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中 ...
- linux初学者-进程篇
linux初学者-进程篇 不管是windows还是linux,都有进程,那么什么是进程呢?进程就是cpu未完成的工作.下面会介绍一些关于系统中进程的查看以及管理的方法. 1.命令 1.1.命令使用 查 ...
- linux初学者-CIFS网络文件系统篇
linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是 ...
随机推荐
- [2017.02.06] 阅读《Effective Morden C++》
- WIN8安装oracle11g时出现不满足最低配置解决办法
Windows8上面安装Oracle11g客户端和服务端时都会出现这样的错误提示:[INS-13001]环境不满足最低要求 产生这种报错的主要原因在于:oracle 11g的配置文件中并没有提供匹配w ...
- 如何开发优质的 Flutter App:应用架构的搭建
各位读者朋友们,好久不见了! 最近博主一直在忙于工作以及写<Flutter入门与应用实战>的书,所以没有时间打理博客.今天来给大家分享一个博主在GitChat上发起的一场Chat. 下面是 ...
- 09 Javascript的伪数组 arguments
arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...
- Web框架之Django重要组件(Django中间件、csrf跨站请求伪造)
Web框架之Django_09 重要组件(Django中间件.csrf跨站请求伪造) 摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是 ...
- 浅谈IHttpHandler
在Web应用开发或接口开发时,处理请求接口IHttpHandler随处可见,那么我们这次来简单聊一下这个接口. ASP.NET响应Http请求时常用的两个处理接口,分别是IHttpHandler和IH ...
- 从无到有构建vue实战项目(一)
vue的安装 首先下载nodehttp://nodejs.cn/download/ 有两种安装方式安装包安装和二进制文件安装 输入以下命令,出现版本提示表示安装成功: node -v 10.15.3 ...
- 每天学点node系列-http
任何可以使用JavaScript来编写的应用,最终会由JavaScript编写.--Atwood's Law http模块概览 http模块主要用于创建http server服务,并且 支持更多特性 ...
- canvas实现有递增动画的环形进度条
哈?标题不知道啥意思? 老规矩,直接看图! 效果如下: 高清大图! 码农多年,老眼昏花,动图看不清?!那就看静态截图!!! 不同分值效果如下: 看完了卖家秀,我们来看产品的制作过程吧 ...
- 我是这么学习Selenium元素定位操作的
写在前面 做web自动化测试都有体会,本质也就是通过操作页面元素对象来模拟用户操作行为,那么首先我们先找到这些元素对象,然后才能进行一系列操作. 我们得先告诉自动化工具或者说代码要操作那个元素,毕竟代 ...