|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍在开源鸿蒙OpenHARMony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566芯片,类树莓派设计,Laval官方社区主荐,已适配全新OpenHarmony5.0 Release系统!
{( W W) ~5 H3 c+ U0 z7 W; ^% N4 _8 l% F J* E
SELinux权限状态
4 _8 ~+ r' ]- D4 Y1 u' A+ dSELinux一共有3种状态,分别是Enforcing,Permissive和Disabled状态。/ t& A! x& }8 U4 c# z
Enforcing:强制模式,违反SELinux规则的行为将被阻止并记录到日志中。. ]2 I" O3 }- w- F
Permissive:宽容模式,违反SELinux规则的行为只会记录到日志中,一般为调试用。2 D' F4 x: J9 Y {( Y2 T0 T
Disabled:关闭SELinux权限状态。. L* W9 C# C1 B' Z' }, x. q
查看SELinux权限命令如下:
5 h5 w" d! {. G' E7 x. y! AC:\Users\industio>hdc shell//查看SELinux权限状态# getenforce//此状态下SELinux权限为开启状态Enforcing% X' P% E( l! D) z
![]()
$ T& W) I; y8 R: h9 {5 N
2 z" \4 i5 ~+ q; M临时修改SElinux权限% p! l3 i: j5 M( [" J# i& C
临时关闭SELinux权限命令如下:: M' c, h( P7 A) J- Y$ a, c
//临时关闭SElinux权限# setenforce 0# getenforcePermissive
/ b0 q5 ]+ @/ T( _; T/ X![]()
8 o) L* L' `5 r
" B: Q9 o; v5 _5 M0 j/ x# [2 |4 C1 `( e# n1 Z. V
注意:这样SELinux权限就会被临时关闭,但是系统重启此方法就会失效,以下展示永久修改SELinux权限的方法。1 d, C( i4 |0 v' C0 i3 N$ j
9 V, p: i# a. f; |& m! `: ?8 [
永久打开与关闭SELinux权限1 A6 ?# j* m" [& p7 h
方法一# U7 \! y( I; x- _8 N% K
在OpenHarmony系统中SELinux的config配置文件的路径
" T! N" p+ k2 W, ~2 |+ dsystem/etc/selinux/config,如下图所示:
- B' w' p; A3 A1 t5 p![]()
( H) u5 R* }; I' v
( H: I3 [' F0 }/ w# D' w K. ]3 Z4 a通过hdc命令将文件拖到本地中,命令如下:
$ R Y: b5 i8 Z k# [8 q/ S7 N+ ]C:\Users\industio>hdc shell mount -o remount,rw /C:\Users\industio>hdc file recv system/etc/selinux/config "本地路径"
/ s$ ^7 V5 h+ k) f* D6 }* M0 t在本地对config文件中对SELinux权限状态进行修改后,将文件推送回系统8 i( s6 H& {# d+ T$ O9 d5 K
C:\Users\industio>hdc file send "本地路径" system/etc/selinux/FileTransfer finish, Size:624 File count = 1, time:30ms rate:20.80KB/s
. @& h: k9 [' c W& M( |! x注意:这样SELinux权限就会被永久的修改,重启后SELinux权限也不会因重启而改变权限状态,但是重新烧录固件此次方法依旧失效。
7 S2 b! d4 k* a# O
9 k3 n: B0 k* @3 O2 q方法二) Z; W' O( p& v% \/ P& t
在SDK中修改SELinux权限路径:. @& g4 Q) z6 R2 v
/base/security/selinux_adapter/selinux.gni ,如下图所示:+ }$ B- P3 w, G1 A( y( E7 @
![]()
- c) t4 ]; O p& N g6 C, |
1 v2 N, B6 h" r4 H7 h命令如下:: f8 d d- s- y' c5 T8 c+ e
declare_args() {//权限根据自己所需进行修改,当前为开启状态.关闭将true改为false即可 selinux_enforce = true }% N" r0 s4 N2 R1 l
修改后保存退出,将SDK全部重新编译即可。
i' Q" M4 @- P% Z+ x" s
" o6 I+ {( v2 |8 p- J: J
2 Y/ i0 }0 H' e+ N2 `! X
/ Y0 I! k v# j) u+ q |
|