添加te文件还要file_contexts
时间: 2024-02-09 19:10:32 浏览: 159
追加文件内容
5星 · 资源好评率100%
是的,你需要同时修改 `/vendor/etc/selinux/plat_file_contexts` 和 `/vendor/etc/selinux/plat_sepolicy.cil` 文件,以允许 `/vendor/bin/switch_screen.sh` 脚本在系统启动时自动运行。
在 `/vendor/etc/selinux/plat_file_contexts` 文件中添加以下内容,以指定 `/vendor/bin/switch_screen.sh` 脚本的 SELinux 上下文:
```
/vendor/bin/switch_screen.sh u:object_r:vendor_exec_file:s0
```
这条规则表示 `/vendor/bin/switch_screen.sh` 文件的 SELinux 上下文为 `u:object_r:vendor_exec_file:s0`,即一个 vendor_exec_file 类型的对象,安全上下文为 s0。
接下来,在 `/vendor/etc/selinux/plat_sepolicy.cil` 文件中添加以下内容,以允许 `/vendor/bin/switch_screen.sh` 脚本在系统启动时自动运行:
```
(type vendor_exec_file (file_type)
(executable
(user root)
(group root)
(allow any)) ;允许任何进程执行
)
(type switch_screen_exec (domain)
(process (execmem (file (allow vendor_exec_file)))) ;允许执行 vendor_exec_file
)
(domain (switch_screen_exec)
(type switch_screen_exec)
(allow switch_screen_exec vendor_exec_file (file (read open getattr execute))) ;允许 switch_screen_exec 进程执行 vendor_exec_file
)
```
这段代码定义了一个 vendor_exec_file 类型的文件,该文件可被任何进程执行。同时,它还定义了一个名为 switch_screen_exec 的域,该域可以执行 vendor_exec_file 类型的文件。最后,它允许 switch_screen_exec 域执行 `/vendor/bin/switch_screen.sh` 文件。
需要注意的是,修改 `/vendor/etc/selinux/plat_file_contexts` 和 `/vendor/etc/selinux/plat_sepolicy.cil` 文件都可能会影响系统的安全性和稳定性,因此在修改前请备份这两个文件,并谨慎操作。同时,你需要确保你的设备支持 SELinux,否则这些修改可能不起作用。
希望这个补充对你有所帮助。
阅读全文