文件开放权限
转载:https://www.jianshu.com/p/058970ae46fd
SEAndroid 为Sys设备节点开放访问(读或写)权限方法(如:sys/class/leds/red_aux/brightness)
1.APP层写节点之前,必须确保当前应用程序能够有权限去读写
否则是无法正常写入的,如果应用没有权限写设备节点,首先进入源码目录中system/core/rootdir/init.rc;
修改内容如下:
//开放节点让系统进程可以访问
chown system:system /sys/class/leds/red_aux/brightness
//修改设备节点可读可写
chmod 0666 /sys/class/leds/red_aux/brightness
2.修改file.te
进入/device/XXX/sepolicy/common
找到file.te文件,加入以下的类型声明:
定义selinux type
# leds file
type sysfs_ledred_leds, fs_type, sysfs_type;
3.修改file_contexts
进入/device/XXX/sepolicy/common
找到修改file_contexts文件
绑定sysfs_ledred_leds到对应的实际节点,加入以下声明:
/sys/devices/soc/75b5000.i2c/i2c-7/7-0045/leds/red_aux/brightness u:object_r:sysfs_ledred_leds:s0
4.修改sysetem_app.te文件
找到修改sysetem_app.te文件
加入以下权限声明:
allow system_app sysfs_ledred_leds:file rw_file_perms;
//rw_file_perms代表读写权限,该话的意思事允许system_app进程能够拥有对sysfs_ledred_leds的这个字符设备的读写权限;如果system_server 则表示是system_server进程
allow system_app sysfs_ledred_leds:file { create open read setattr write };
注意:以上的sysfs_ledred_leds必须与file.te文件中声明的文件类型、名称必须一致。
5.APP
APP 配置为系统APP
在AndroidMainefest.xml中配置
android:sharedUserId=”android.uid.system”;
write_init("/sys/class/leds/red_aux/brightness", 255);
6.kernel 中sysfs 读写权限
S_IWUGO 全部用户读写
S_IWUSR 用户读写
posted on 2020-07-16 20:59 Hello-World3 阅读(576) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!