【鸿蒙南向开发】OpenHarmony之SeLinux介绍

一、SeLinux介绍
SeLinux(Security-Enhanced Linux)是一种基于Linux的安全模块,它提供了一种强制访问控制(MAC)机制。与Linux传统的自主访问控制(Discretionary Access Control, DAC)相比,MAC能够更严格地控制用户和进程对资源的访问,从而增强系统的安全性。

image.png

●MAC(强制访问控制Mandatory Access Control)
通过实施一套预定义的安全规则来控制用户和进程对系统资源的访问。也就是说,即使你是 root 用户,当你访问文件资源时,如果使用了不正确的进程,那么也是不能访问这个文件资源的。
●DAC(自主访问控制系统 Discretionary Access Control)
Linux 的默认访问控制方式,它允许资源的所有者(通常是文件或对象的创建者)自主决定谁可以访问这些资源以及访问的权限级别,也就是依据用户的身份和该身份对文件及目录的 rwx 权限来判断是否可以访问。
●主体(Subject):访问者
●客体/目标(Object):被访问者
●客体类别:被访问者代表的类型。例如:客体是文件,目录或者套接字类型
●安全上下文:构成如下【身份字段:角色:类型:等级】。例如 【u:r:foundation:s0】
a.身份字段

在 Linux 中,权限是非常重要的概念,它控制着系统中各个文件和目录的访问权限。在使用 Linux 时,有时候会遇到一些权限问题,例如无法访问某些文件、无法执行某些命令等等。下面是一些常见的 selinux 权限问题以及解决方法: 1. SELinux 导致无法读写某些文件或目录 如果遇到无法读写某些文件或目录的问题,可以使用命令 ls -Z 查看文件或目录的 SELinux 安全上下文,例如: ``` $ ls -Z /var/www/html/index.html -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html ``` 如果文件或目录的安全上下文不是默认的值,可能会导致访问权限问题。可以使用命令 chcon 修改文件或目录的安全上下文,例如: ``` $ chcon -v --type=httpd_sys_content_t /var/www/html/index.html ``` 2. SELinux 导致无法执行某些命令 如果遇到无法执行某些命令的问题,可以使用命令 setenforce 0 临时关闭 SELinux,例如: ``` $ setenforce 0 ``` 这样可以暂时解决问题,但不建议长期禁用 SELinux,因为这会降低系统的安全性。如果确实需要执行某些命令,可以使用命令 semanage permissive -a <command> 将其设置为 SELinux 宽容模式,例如: ``` $ semanage permissive -a httpd_t ``` 这样可以让 SELinux 在执行该命令时不会阻止其运行,但仍会记录相应的安全事件。 总之,SELinux 是一种非常重要的安全机制,在使用 Linux 时要注意相关的权限问题,并且尽量不要禁用 SELinux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值