12.selinux

一、selinux功能
1.1
在selinux关闭状态中:
(1)在/mnt/中建立文件,文件安全上下文为空,文件被移动到ftp默认发布目录中可以被访问
在这里插入图片描述
在这里插入图片描述
(2)ftp程序安全上下文为空
在这里插入图片描述
(3)用户可以上传文件
在这里插入图片描述
当selinux开启以上功能操作均失败:
(1)
在这里插入图片描述
特定程序的安全上下文只能访问匹配的安全上下文文件,否则程序在访问文件时会被拒绝:
在这里插入图片描述
在这里插入图片描述
(2)
在这里插入图片描述

1.2
selinux:内核级加强防火墙
selinux功能:当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件。
当selinux开启会对服务本身相对不安全的功能加载开关sebool,并且设定开关为关闭状态以保证服务安全性,当需要此功能时,需要超级用户手动调节。
在这里插入图片描述
二、selinux状态
getenforce #查看selinux状态
状态类型: Disabled #关闭
enforcing #强制
permissive #警告
setenforce 0|1 #0表示警告模式,1表示强制模式
在这里插入图片描述
selinux开关:
在这里插入图片描述
在这里插入图片描述
reboot(转换状态都需要重启系统)
三、安全上下文
3.1 安全上下文的临时更改
chcon -t 安全上下文 文件
chcon -R 安全上下文 目录
lftp访问服务器会发现此文件可以被访问成功
3.2 永久更改目录或文件的安全上下文
(1)
在这里插入图片描述
(2)设定westos用户登录ftp服务时默认家目录为/ftpdir
在这里插入图片描述
在这里插入图片描述
重启服务
(3)当用westos用户登录ftp时,/ftpdir中的内容无法访问,因为selinux安全上下文不匹配
(4)查看系统内核安全上下文列表内容,显示列表中无信息
在这里插入图片描述
(4)此命令只添加信息,当前不生效,’(/.*)?'表示目录中将要出现的内容
在这里插入图片描述
(5)刷新文件安全上下文
在这里插入图片描述
四、sebool
sebool:selinux对服务功能添加的开关
查看ftp功能的开关:
在这里插入图片描述
表示开启此匿名用户写的功能:
在这里插入图片描述
结果:
在这里插入图片描述
五、setrouble
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分析日志并提供解决方案:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 12 中,如果你的应用需要使用守护程序来保持后台运行,你可能需要更新你的 SELinux 策略,以便 Android 系统不会在运行你的应用时阻止它运行。 具体地,你需要为你的守护程序配置一个 SELinux 策略,该策略允许它在后台运行。你可以执行以下步骤来实现: 1. 在 AndroidManifest.xml 文件中声明你的服务,并添加如下属性: ``` <service android:name=".YourService" android:foregroundServiceType="yourForegroundServiceType" android:stopWithTask="false" android:exported="false" /> ``` 2. 创建一个名为 "your_service.te" 的文件,其中包含以下内容: ``` type your_service, domain; type your_service_exec, exec_type, file_type; init_daemon_domain(your_service) # Allow your service to run in the background # 在后台中允许你的服务运行 allow your_service your_service_exec:file noatime; ``` 3. 将 "your_service.te" 文件编译为二进制格式,你可以执行以下命令: ``` checkmodule -M -m -o your_service.mod your_service.te ``` 4. 将 "your_service.mod" 文件打包为一个名为 "your_service.pp" 的 SELinux 策略模块,你可以执行以下命令: ``` semodule_package -o your_service.pp -m your_service.mod ``` 5. 将 "your_service.pp" 文件加载到你的设备中,你可以通过以下命令将其推送到 /data/local/tmp 目录中: ``` adb push your_service.pp /data/local/tmp/ ``` 6. 将 "your_service.pp" 文件安装到 SELinux 中,你可以执行以下命令: ``` adb shell su cd /data/local/tmp semodule -i your_service.pp ``` 7. 最后,重启你的设备以使配置生效。 需要注意的是,上述步骤中的 "your_service" 部分需要替换为你的服务的名称。此外,你需要确保你的设备已启用 SELinux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值