Linux中selinux基础配置教程详解

selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统。

三种模式

Enforcing:强制模式,在selinux运作时,已经开始限制domain/type。

permissive: 警告模式,在selinux运作时,会有警告讯息,但不会限制domain/type的存取。

disabled: 关闭模式。

可用getenforce查看selinux状态

selinux对文件的作用:

当开启selinux后,selinux会给每个文件加载标签context,安全上下文必须配对,否则文件不能访问

测试:

###开启selinux

创建文件,移动到ftp发布目录

touch /mnt/filemv /mnt/file /var/ftp/

用户登陆ftp查看文件

可以发现前面移动到ftp中的文件匿名用户不能看

但是该文件存在于ftp目录中

查看file的安全上下文

ls -Z /var/ftp/

可以看到两个文件的安全上下文并不相同,因此不会显示。
临时修改安全上下文

chcon -t public_content_t /var/ftp/file

登陆ftp查看文件

由于安全上下文对应一致,所以可以显示file该文件

chcon只是对安全上下文的临时修改,当系统selinux重启后,修改则会失效。

###永久修改安全上下文

##创建自己的ftp家目录,修改该目录安全上下文标签

mkdir /ftphomesemanage fcontext -a -t pubilc_content_t ‘/ftphome(/.*)?‘

###查看该目录的安全上下文

这里可以看到安全上下文标签并没有修改,我们需要重启内核列表服务

restorecon -RvvF /ftphome###R:递归 vv:显示目录下的子目录或文件修改信息,F:强制设置目录中文件和目录安全上下文一致

安全上下文已经修改完成

selinux对服务的作用:

selinux对服务的作用相当于给服务加上开关,该开关默认关闭。1:打开开关;0:关闭开关

selinux打开状态下,我们通过登陆ftp测试selinux对服务的开关作用。

用户不能对文件进行上传,删除等操作

查看selinux对ftp开关状态

都是处于关闭状态,因此对用户权限有限制

打开功能开关

setsebool -P ftp_home_dir onsetsebool -P ftpd_anon_write on

重新登陆ftp,用户可以上传文件

安装setroubleshoot ,可以对selinux错误日志,可以提供解决方案

/var/log/audit/audit.log ###记录selinux采集的日志

下/var/log/audit/audit.log ###记录selinux采集的日志

总结

以上所述是小编给大家介绍的Linux中selinux基础配置教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 详解Android Selinux 权限及问题

    由于现做的是MTK平台,源码路径基于MTK, 不过高通大同小异 说明 Android 5.0以后完全引入了 SEAndroid/SELinux 安全机制,这样即使拥有 root 权限或 chmod 777 ,仍然无法再JNI以上访问内核节点. 其实在 Android 4.4 就有限制的启用此安全机制了.后面内容都按照 5.0 以后介绍,4.4 会有些许差异. SELinux Mode SELinux 分为两种模式,Android 5.0 后所有进程都使用 enforcing mode. enfo

  • 简述Android中SELinux的TE

    一.SELinux资源访问基本概念 SELinux使用类型强制来改进强制访问控制.所有的主体(程序进程)对客体(文件/socket等资源)的访问都有一条TE规则来许可.当程序访问一个资源的时候,系统会搜索所有的TE规则集,并根据结果进行处理.这个规则集是由访问向量规则(AV, Access Vector)来描述的. 内核向外部暴露允许访问的资源权限,由TE来描述主体拥有什么样的访问权.SELinux定义了30个不同的客体类别: security process system capability

  • SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    同事报告一起奇怪的现象,一个最简单的测试PHP代码,在测试环境很正常,但是在正式环境下,无论用何种方式(tcp/ip.unix socket)都无法连接mysql. 我协助查看了下,确实如此,无论是指定IP.端口的tcp/ip方式连接,或者是用unix socket方式连接,报错信息都类似: 复制代码 代码如下: Could not connect: Can't connect to MySQL server on 'MYSQL.SERVER' (13) 无论如何修改MySQL的授权,或者调整p

  • 关闭selinux(防火墙)方法分享

    刚好手工装完一台CentOS6.4,就顺便记录一下. 复制代码 代码如下: # sestatusSELinux status:                 enabledSELinuxfs mount:                /selinuxCurrent mode:                   enforcingMode from config file:          enforcingPolicy version:                 24Policy

  • CentOS 7系统下SELinux阻止MongoDB启动的问题详解

    问题描述: 最近发现了一个问题,在新装的CentOS7上,安装了MongoDB3.4,挂载了一个大的数据盘后,修改/etc/mongo.conf,将配置文件中的log和data目录放在新的数据盘下,并修改文件的访问权限. 改完后的mongo.conf: # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ #

  • Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selinux运作时,已经开始限制domain/type. permissive: 警告模式,在selinux运作时,会有警告讯息,但不会限制domain/type的存取. disabled: 关闭模式. 可用getenforce查看selinux状态 selinux对文件的作用: 当开启selinux后,s

  • Yii2.0 RESTful API 基础配置教程详解

    最近在做Yii2.0 RESTful API功能,找了好久的资料,才找到这类的教程,感谢该作者,以下内容根据我的项目实际情况做了一定的修改. 安装yii2.0 安装 Composer 后,您可以通过在 Web 可访问的文件夹下运行以下命令来 安装Yii应用程序模板: composer create-project --prefer-dist yiisoft/yii2-app-basic basic 初始化高级模板 cd advanced ./init 输入"./init"后会出现以下内

  • Linux 下FTP的安装与配置教程详解

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=" disabled " ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否安装过vsftp # rpm -qa | grep vsftpd 则代表已经安装.可直接跳过步骤2 2 .安装 vsftp # yum install vsftp* Is this ok [y/N]: y 代表安装完成. 3. 对vsftp 进行配置 # /etc/vsftpd/vsftp

  • android studio 3.4配置Android -jni 开发基础的教程详解

    首先下载配置android studio ndk 1.打开sdkManager下载CMake和LLDB 2.配置ndk 项目新建 项目建立完毕后,工程目录如下,cpp文件夹是系统自动生成的 3.自定义 navite方法 接下来开始写自定义的一个native方法,新建一个Hello.java文件,里面写一个add求和的native方法,如下 生成c++头文件 然后在windows控制台Terminal进入hello.java所在的目录执行javac hello.java,如下 执行完毕后hello

  • vue基础ESLint Prettier配置教程详解

    目录 引言 前言 安装 VsCode 插件 配置 VsCode "Workspace.json" 配置 vue 的 "package.json" 配置 vue 的 ".eslintrc.js" 配置 vue 的 ".prettierrc" 配置 "eslint --fix" 一键修复 配置 ESlint 提交时检测 测试配置效果 问题排查 尾声 引言 VsCode + Vue + ESLint + Pret

  • vue-cli3中vue.config.js配置教程详解

    前言 vue-cli3推崇零配置,其图形化项目管理也很高大上. 但是vue-cli3推崇零配置的话,导致了跟之前vue-cli2的配置方式都不一样了. 别名设置,sourcemap控制,输入文件位置和输出文件位置和输出的方式,压缩js控制,打包webapck日志分析,externals忽略配置(外部引入),调试的端口配置,proxy接口配置等等的. 有时候还需要我们配置的,因为官方推荐的,并不适用于我们平时的开发所用的. 所以,我的vue.config.js配置是下面这样的.还有一个改hash的

  • Python 中的pygame安装与配置教程详解

    安装软件环境及版本说明 OS: Win10 x 64 专业版 Python: 2.7 IDE: PyCharm Community 2018 1. 安装python 1)下载并安装python python官网下载需要的版本,并安装(安装过程很简单,步骤略) https://www.python.org/downloads/windows/ 这里下载的是python2.7 2)配置环境变量 如果安装python时,没有勾选添加python到环境变量PATH,则需要手动添加 3)验证是否安装+配置

  • C/C++在VScode中的配置教程详解

    注意 这篇文章是在VScode中配置的,你想要的功能,它基本都有,你只要去安装插件就好了.在编辑器中如何添加C/C++的配置呢,下面我们来介绍一下: 1.安装C/C++ 工具在商量中直接搜就好,一般选择列表中的第一个. 2.配置环境 这一步就是需要你的电脑上需要有C/C++的语言环境.主要分为两个部分: 第一步是下载MinGW,第二部就是配置环境,这里可以参考 网上教程: C配置. 将bin目录的路径(最好不要有中文),复制到用户路径变量中(我的电脑->属性–>高级系统设置). 最后,需要验证

  • linux下安装solr的教程详解

    安装Solr 第一步:将solr的压缩包上传到Linux系统 第二步:解压tomcat tar -zvxf apache-tomcat-7.0.47.tar.gz [root@localhost ~]# tar -zxvf apache-tomcat-7.0.47.tar.gz 第三步:在/usr/local/新建目录solr 第四步:将tomcat拷贝在/usr/local/solr/目录下,并命名为tomcat 第五步 解压solr [root@localhost ~]# tar -zvxf

  • CentOS安装mysql5.7 及简单配置教程详解

    安装 保证你的用户有权限 安装 没有 切换 root su root (su的意思:swich user) # rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm 可能会遇到 warning: /var/tmp/rpm-tmp.6V5aFC: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 可以忽略(个人意见,百度了一下没找到合适的答案)

随机推荐