• Lv0
    粉丝0

积分14 / 贡献0

提问1答案被采纳0文章0

作者动态

    native c++ 中这么获取/dev目录下的字符设备文件权限? 精华

    jyjy 显示全部楼层 发表于 2024-2-6 14:00:20
    【问题描述】
    问题现象和发生的背景
    使用open打开/dev/vendor_storage,报错permission denied,已经在profile文件中设置"apl":"system_core","app-feature":"hos_system_app"。
    还需要修改什么地方吗?还是系统下的文件路径需要映射?

    相关的代码,截图,日志信息
    int fd = open("/dev/vendor_storage", O_RDWR, 0);
    if(fd<0)
    {
        OH_LOG_ERROR(LOG_APP, "failed result:%{public}s \n", strerror(errno));
    }
    fakename.png

    我尝试过的解决方法和结果
    已经在profile文件中设置"apl":"system_core","app-feature":"hos_system_app"。
    使用mount把/dev/vendor_storage挂在到虚拟文件目录下  创建/storage目录返回promission denied
    还需要修改什么地方吗?还是系统下的文件路径需要映射?

    我想要达到的结果
    正常获取权限,open()函数打开/dev/vendor_storage字符设备文件成功。

    【运行环境】
    硬件:rk3568设备
    ROM版本:
    DevEvoStudio版本:3.1.1 release
    SDK版本:3.2.12.5

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    精彩评论1

    jyjy

    沙发 发表于 2024-2-7 10:15:09
    已经解决了,是selinux的Enforcing模式拒绝了访问,改成Permissive模式就可以了。
    临时修改模式命令:
    # setenforce 0

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部