永久改变SELINUX安全上下文

基本 SELINUX 安全性概念
• SELINUX ( 安全增强型 Linux ) 是可保护你系统安全性的额外机制
• 在某种程度上 , 它可以被看作是与标准权限系统并行的权限系统。在常规模式中 , 以用户身份运行进程 ,并且系统上的文件和其他资源都设置了权限 ( 控制哪些用户对哪些文件具有哪些访问权 SELINUX 的另一个不同之处在于 , 若要访问文件 , 你必须具有普通访问权限和 SELINUX 访问权限。因此 , 即使以超级用户份 root 运行进程 , 根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件或资源限 ) 标签selinux 安全上下文访问规则
• WEB 服务器的 HTTPD 进程设置了 SELINUX 上下文system_u:system_r:httpd_t 标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 : httpd_t
• 系统上的文件和资源也设置了 SELINUX 上下文标签 , 并且重要的部分是 SELINUX 类型。例如 , /var/www/html 中的文件具有类型 httpd_sys_content_t 。 /tmp 和/var/tmp 中的文件通常具有类型 tmp_t
• Seliux 策略具有允许以 httpd_t 身份运行的进程访问标记为 httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 , 因此将拒绝这些访问 , 即使常规文件权限指出应该允许这些访问

SELINUX模式
Enforcing
强制模式 : SELINUX 主动拒绝访问尝试读取类型上下文为 tmp_t的 web 服务器。在强制模式中 ,SELINXU 既记录冲突 , 也强制执行规则
Permissive
许可模式 : 通常用于对问题进行故障排除。在许可模式下 , 即使没有明确规则 , SELINUX 也允许所有交互 , 并且记录所有被拒绝的交互。 此模式可以用于确定你是否有 SELINUX问题。无需重新引导即可从强制模式转为许可模式 , 或再从许可模式转回强制模式

修改 selinux 安全上下文
• chcon -t
– 一次性定制安全上下文,执行 restorecon 刷新后还原
• semanage fcontext
– 永久更改文件的上下文

semanage 命令
• restorecon 是 policycoreutil 软件包的一部分
• semanage 是 policycoreutil-python 软件包的一部分
• semanage fcontext 可用与显示或修改 restorrecon 用来
设置默认文件上下文的规则
• semanage fcontext 使用扩展正则表达式来指定路径和文
件名。 fcontext 规则中最常用的扩展正则表达式是
(/.*)?, 表示随意地匹配 / 后跟任何数量的字符
• semanage fcontext 将递归地与在表达式前面列出的目录
以及该目录中的所有内容相匹配

接下来作永久更改文件的上下文练习:
首先安装好vsftpd服务,启动vsftpd
[root@localhost ~]# yum install vsftpd
[root@localhost ~]# systemctl start vsftpd
防火墙添加ftp,进行刷新
[root@localhost ~]# firewall-cmd –permanent –add-service=ftp
[root@localhost ~]# firewall-cmd –reload
然后就可以作练习了
在根目录新建一个目录westos mkdir /westos
在westos目录下建立两个文件 touch /westos/file{1..2}
查看目录westos安全上下文 semanage fcontext -l | grep westos ##目录westos是之后为了匿名用户进入lftp服务,更改默认家目录为westos
查看目录/var/ftp安全上下文 semanage fcontext -l | grep /var/ftp
目录/var/ftp为用户通过lftp进入的默认目录
这时候就会发现两个目录的
进入vsftpd服务的配置文件里添加anon_root=/westos,重启vsftpd服务,
我们在另一台主机上lftp进入,查看是否可以看到westos下的文件,发现并不会看到文件
于是我们可以修改westos的安全上下文,让另一台主机的本地用户可以通过lftp进入此主机,查看到文件
下边是具体的代码块:

20主机
[root@localhost ~]# mkdir /westos
[root@localhost ~]# ls /westos/
[root@localhost ~]# touch /westos/file{1..2}
[root@localhost ~]# ls -lZ /westos
-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值