• android 系统rc添加 shell运行脚本


    4.1 编写对应的rc文件和脚本文件

    start_vendor_sniffer.sh

    skyui_diag_mdlog.rc

    4.2 拷贝文件到编译的vendor 分区

    2.修改 .mk 配置文件,将创建的 test.sh 编译到系统分区

    # copy start_vendor_sniffer.sh to vendor/bin/start_vendor_sniffer.sh

    # copy skyui_diag_mdlog.rc to vendor/etc/init/skyui_diag_mdlog.rc

    PRODUCT_COPY_FILES += ***/start_vendor_sniffer.sh:vendor/bin/start_vendor_sniffer.sh \

    ***/skyui_diag_mdlogsh:vendor/etc/init/skyui_diag_mdlog.rc 

    //skyui vendor 目前不会编译,先使用push 方式推送文件到目标目录

    4.3 在file_context 定义对应的标签

    在vendor\skyui\sepolicy\private目录下的file_contexts文件中增加如下文件:

    /vendor/bin/start_vendor_sniffer.sh u:object_r:vendor_sniffer_exec:s0

    /vendor/bin/stop_vendor_sniffer.sh u:object_r:vendor_sniffer_exec:s0

    4.4 创建脚本文件启动进程时对应的selinux的te文件

    在vendor\skyui\sepolicy\private目录下, 添加vendor_sniffer.te 文件, 内容如下:

    # add by shengqing.liu@nio.com skyui_diag_mdlog 2022/11/8 for_snifferlog start

    type vendor_sniffer, domain;

    type vendor_sniffer_exec, exec_type, vendor_file_type, file_type;

    init_daemon_domain(vendor_sniffer)

    allow vendor_sniffer vendor_shell_exec:file { execute_no_trans };

    allow vendor_sniffer vendor_file:file { execute getattr setattr open read write create};

    allow vendor_sniffer device:chr_file { ioctl };

    allow vendor_sniffer system_file:file { execute };

    allow vendor_sniffer sysfs:file { getattr setattr };

    allow vendor_sniffer storage_file:dir { search open read };

    allow vendor_sniffer storage_file:lnk_file { read };

    allow vendor_sniffer mnt_user_file:lnk_file { read };

    allow vendor_sniffer mnt_user_file:dir { search };

    allow vendor_sniffer sdcardfs:dir { search write add_name create };

    allow vendor_sniffer media_rw_data_file:dir { read open search write };

    allow vendor_sniffer system_data_file:file { getattr };

  • 相关阅读:
    spring6使用启用Log4j2日志框架
    C现代方法(第5、6章)笔记
    Git系列:rev-parse 使用技巧
    Leetcode-每日一题1106. 解析布尔表达式(DFS模拟栈)
    VUE基础知识一:生命周期函数和常用指令
    C语言 每日一题 PTA 10.27 day5
    蓝桥杯C/C++省赛:排它平方数
    二十六、设置时序电路初始状态的方法(初始值设置)(时序电路置数)2
    数学建模(四):分类
    宜家IKEA EDI IFTMBF运输预定请求详解
  • 原文地址:https://blog.csdn.net/jx232515/article/details/72629928