打开配置文件vim /etc/sysconfig/selinux 正常状态下getenforce所看到的selinux的状态为Enforcing,当我们把配置文件里面的enforcing改为disable时,然后reboot,再次查看时selinux的状态为Disable
实验 当状态为enforcing时,看文件是否可以转移过来 当为强制模式enforcing时,不能看到转移过来的文件 当为警告模式permissive时,可以看到转移过来的文件
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 /mnt semanage fcontext -a -t public_content_t "/mnt/(/.*)?" **更改安全上下文"/zpy(/.*)?"表示匹配文件中所有字符,永久更** restorecon -RvvF /mnt/ **对此文件加载**(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 权限过大当安全上下文等不匹配或者有问题时,我们可以查看日志,日志中有解决方法 前提是有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**
