linux中selinux

来源:互联网 发布:淘宝卖家主图视频教程 编辑:程序博客网 时间:2024/06/04 23:29

1.对于selinux的启动以及文件查看命令。

enforcing                         强制模式 permissive                       警告模式disabled                          关闭selinux getenforce          查看selinux模式setenforce 0|1               更改selinux模式                   0                   警告模式                   1                   强制模式  

打开配置文件vim /etc/sysconfig/selinux
这里写图片描述
这里写图片描述
正常状态下getenforce所看到的selinux的状态为Enforcing,当我们把配置文件里面的enforcing改为disable时,然后reboot,再次查看时selinux的状态为Disable
这里写图片描述

特别注意:每一次更改完配置文件之后都要reboot重起。

实验
当状态为enforcing时,看文件是否可以转移过来
这里写图片描述
这里写图片描述
当为强制模式enforcing时,不能看到转移过来的文件
当为警告模式permissive时,可以看到转移过来的文件

2.linux中安全上下文

lftp中只能查看pub下的文件,当把mnt下的文件转移到pub下。依旧不能查看,所以这时候就要更改文件的安全上下文,如下图所是,用chcon命令更改文件的安全上下文,然后再用lftp查看时候就可以看见文件了。

这里写图片描述

这里写图片描述

**ls -Z file|dir 查看文件安全上下文**chcon -t public_content_t  file **更改用户上下文  临时更改****在一个目录中,子文件的安全上下文和原目录一致时才能显示**semanage fcontext -l   **显示系统中所有安全上下文**semanage fcontext -l | grep /var/ftp/  **过滤安全上下文**semanage fcontext -l | grep /mntsemanage fcontext -a -t public_content_t "/mnt/(/.*)?"   **更改安全上下文"/zpy(/.*)?"表示匹配文件中所有字符,永久更**restorecon -RvvF /mnt/   **对此文件加载**

这里写图片描述

3.Selinux对服务的影响

(1).不符合安全上下文的文件访问不到
(2).默认情况下不安全的功能是关闭的

getsebool -a | grep ftp     **查看 ftp 服务功能状态** setsebool -P ftp_home_dir on    **开启本地上传**       -P:表示永久开启getsebool -a | grep ftp       查看selinux对ftp服务的限制setsebool -P ftpd_anon_write on  **更改ftpd_anon_write 开关  允许本地用户上传**

这里写图片描述
这里写图片描述
图中查看ftp服务功能状态时候ftp home dir 处于关闭状态,所以将服务状态用setsebool命令打开后可以上传/etc/passwd文件。图中出现的550报错如下解释:

553    本地文件不支持550   系统不支持此服务530   认证失败500    权限过大

4.查看日志解决selinux问题

当安全上下文等不匹配或者有问题时,我们可以查看日志,日志中有解决方法 前提是有setroubleshoot-3.2.17-2.el7.x86_64 软件
Selinux 日志存放位置:
cat /var/log/audit/audit.log 默认位置**
setroubleshoot-server.x86_64 可以将/var/log/audit/audit.log里面的日志经过处理存放到/var/log/messages**
这里写图片描述

这里写图片描述