|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍在开源鸿蒙OpenHARMony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566芯片,类树莓派设计,Laval官方社区主荐,已适配全新OpenHarmony5.0 Release系统!
0 h" @, C: _2 F2 k7 u2 n) n3 d7 Z
* H3 i; A8 x( b& s- \SELinux权限状态
% a; J7 m! k% \, h" L# l. ]$ }* SSELinux一共有3种状态,分别是Enforcing,Permissive和Disabled状态。$ V t0 E' o1 K' \) X6 {" V
Enforcing:强制模式,违反SELinux规则的行为将被阻止并记录到日志中。
' y/ m* Q+ m7 p+ l9 g( iPermissive:宽容模式,违反SELinux规则的行为只会记录到日志中,一般为调试用。
: ^" g+ F9 N6 i( pDisabled:关闭SELinux权限状态。
6 E5 ^2 ]# I( p/ r( M查看SELinux权限命令如下:
: v' X2 y3 _+ |# W, HC:\Users\industio>hdc shell//查看SELinux权限状态# getenforce//此状态下SELinux权限为开启状态Enforcing7 s T J' s5 S
![]()
' e( ^8 A1 |' L/ S+ u4 k& X5 k/ @' `4 {( M
临时修改SElinux权限+ v9 f: M" u) A% F# i t
临时关闭SELinux权限命令如下:( w! y& P# Z$ l0 j. D, q
//临时关闭SElinux权限# setenforce 0# getenforcePermissive
- d" ~0 [3 ] N3 p, z. K V + B$ s# @- `& p/ }' M
* s2 {* z' o0 z, J, Y* [& i
& z' d' L, M) e' x8 { Z注意:这样SELinux权限就会被临时关闭,但是系统重启此方法就会失效,以下展示永久修改SELinux权限的方法。2 h- u: @, ?; n% U2 w# x
L! {7 A: M' s0 T永久打开与关闭SELinux权限* f8 u1 p& v4 b1 E N! S
方法一
, l! Y( ~- B' D3 k) C1 z8 I4 L" o在OpenHarmony系统中SELinux的config配置文件的路径; E5 K0 J8 @& s1 ~" }
system/etc/selinux/config,如下图所示:
! z. ?, n9 t3 Y! Y, [$ ` g7 F( T, C9 ^* I/ x5 c4 k3 R$ r
4 a! I* V k! f通过hdc命令将文件拖到本地中,命令如下:% M/ \; S* {) q, v: K1 z$ D9 T
C:\Users\industio>hdc shell mount -o remount,rw /C:\Users\industio>hdc file recv system/etc/selinux/config "本地路径", K& z- J& H) w* c' Q# u
在本地对config文件中对SELinux权限状态进行修改后,将文件推送回系统9 u# X2 K& T7 O/ V5 Z; {# [1 Y
C:\Users\industio>hdc file send "本地路径" system/etc/selinux/FileTransfer finish, Size:624 File count = 1, time:30ms rate:20.80KB/s
3 u# C1 d( I' G9 T注意:这样SELinux权限就会被永久的修改,重启后SELinux权限也不会因重启而改变权限状态,但是重新烧录固件此次方法依旧失效。7 b G0 @5 X% d+ Q7 R A4 }
M Y7 c" \2 c" ^6 d4 ]* b方法二
2 d% s# F D. C/ D. Y) q在SDK中修改SELinux权限路径:
2 C: |& ~" Y- r& B& l# X/base/security/selinux_adapter/selinux.gni ,如下图所示:
0 i$ h8 w4 C! S( L$ p4 D1 e# ^![]()
: T1 w; T- I6 K; C w
# ~7 n& {' b( A命令如下:! C; e. M: K$ c: p- h' q! L
declare_args() {//权限根据自己所需进行修改,当前为开启状态.关闭将true改为false即可 selinux_enforce = true }: Y; [- k6 w, u) L r' A! ?
修改后保存退出,将SDK全部重新编译即可。% h& `& A q! U. v
( {; Z# [8 a; l! O' H
; ]; G. l# D: V' ^+ |% ^
. S$ Y3 V# X9 h% o% B; H3 G |
|