被权限搞了好久,决定好好的研究一下;

参考资料

http://blog.csdn.net/xieyan0811/article/details/6083019?reload

http://blog.csdn.net/simonjay2007/article/details/42103833

1. 修改文件系统权限

1. 查看每个系统的权限:特别是/system

root@sabresd_6dq:/ # mount
rootfs / rootfs ro,size=345444k,nr_inodes=
tmpfs /dev tmpfs rw,nosuid,relatime,mode= ...
pstore /sys/fs/pstore pstore rw,relatime
/dev/block/mmcblk3p5 /system ext4 ro,relatime,data=ordered 0 0
/dev/block/mmcblk3p4 /data ext4 rw,nosuid,nodev,noatime,nodiratime,noauto_da_alloc,errors=panic,data=ordered
/dev/block/mmcblk3p6 /cache ext4 rw,nosuid,nodev,relatime,data=ordered
/dev/block/mmcblk3p7 /device ext4 ro,nosuid,nodev,relatime,data=ordered
...

可以看出来为只读文件系统,如果想要改为rw,有两种方法:

1. 重新挂在文件系统(坏处:关机就没了,也没有放入镜像文件,就相当于一个临时变量,临时调试可以用这个方法)

2. 修改源码fstab文件(永久性的,编译进入镜像文件)

1. 重新挂在文件系统

root@sabresd_6dq:/ # mount -o remount /dev/block/mmcblk3p5 /system

再次mount查看发现为rw了

2. 修改源码改变文件系统属性

方法一:

直接查看out/target/product/sabresd_6dq/root/fstab.freescale

找到/system进行修改,然后make, 不过清除掉就没有了

方法二:

查看device/fsl/sabresd_6dq/BoardConfig.mk

BUILD_TARGET_FS ?= ext4
include device/fsl/imx6/imx6_target_fs.mk ifeq ($(BUILD_TARGET_DEVICE),sd)
ADDITIONAL_BUILD_PROPERTIES += \
ro.boot.storage_type=sd
ifneq ($(BUILD_TARGET_FS),f2fs)
TARGET_RECOVERY_FSTAB = device/fsl/sabresd_6dq/fstab_sd.freescale
# build for ext4
PRODUCT_COPY_FILES += \
device/fsl/sabresd_6dq/fstab_sd.freescale:root/fstab.freescale
else
TARGET_RECOVERY_FSTAB = device/fsl/sabresd_6dq/fstab_sd-f2fs.freescale
# build for f2fs
PRODUCT_COPY_FILES += \
device/fsl/sabresd_6dq/fstab_sd-f2fs.freescale:root/fstab.freescale
endif # BUILD_TARGET_FS
else
ADDITIONAL_BUILD_PROPERTIES += \
ro.boot.storage_type=emmc
ifneq ($(BUILD_TARGET_FS),f2fs)
TARGET_RECOVERY_FSTAB = device/fsl/sabresd_6dq/fstab.freescale
# build for ext4
PRODUCT_COPY_FILES += \
device/fsl/sabresd_6dq/fstab.freescale:root/fstab.freescale
else
TARGET_RECOVERY_FSTAB = device/fsl/sabresd_6dq/fstab-f2fs.freescale
# build for f2fs
PRODUCT_COPY_FILES += \
device/fsl/sabresd_6dq/fstab-f2fs.freescale:root/fstab.freescale
endif # BUILD_TARGET_FS
endif # BUILD_TARGET_DEVICE

可以看出,不同介质使用不同的文件系统

可以知道我们的fstab为:device/fsl/sabresd_6dq/fstab.freescale

打开device/fsl/sabresd_6dq/fstab.freescale

# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK /devices/soc0/soc/.aips-bus/.usdhc/mmc_host* auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata
/devices/soc0/soc/.aips-bus/.usb/ci_hdrc.* auto auto defaults voldmanaged=usb:auto,encryptable=userdata
/devices/soc0/soc/.aips-bus/.usb/ci_hdrc.* auto auto defaults voldmanaged=usb1:auto,encryptable=userdata
/dev/block/mmcblk3p5 /system ext4 ro,barrier=1 wait,verify
/dev/block/mmcblk3p4 /data ext4 nosuid,nodev,nodiratime,noatime,nomblk_io_submit,noauto_da_alloc,errors=panic wait,encryptable=/dev/block/mmcblk3p9
/dev/block/mmcblk3p6 /cache ext4 nosuid,nodev,nomblk_io_submit wait
/dev/block/mmcblk3p7 /device ext4 ro,nosuid,nodev wait
/dev/block/mmcblk3p1 /boot emmc defaults defaults
/dev/block/mmcblk3p2 /recovery emmc defaults defaults
/dev/block/mmcblk3p8 /misc emmc defaults defaults
/dev/block/mmcblk3boot0 /bootloader emmc defaults defaults
/dev/block/zram0 none swap defaults zramsize=

修改上面红色的ro为rw

修改后烧录,可以看见确实修改了

2. 修改系统层文件属性

在源码中的属性跟编译后在out目录中的属性有可能是不一样的,即使是通过脚本复制过去的。

比如在/system/bin下就可执行,但是在/out/xxx/system/etc下就不能直接通过chmod修改。想要修改必须去修改代码;

详细可见canopen的移植到Android6.0的第4.4节

3. 修改框架层文件属性(framework层)(未看,用到再写)

http://blog.csdn.net/xieyan0811/article/details/6083019?reload

4. 修改应用层文件属性

android系统权限的管理的更多相关文章

  1. Android系统权限及签名

    Android系统权限及签名   2015-03-23 19:13:33CSDN-chen52671-点击数:50     Android权限及签名 引子 现象:系统中的一个定制Service,服务是 ...

  2. 对Android系统权限的认识

    Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制 Android系统权限相关的内容 (一)linux文件系统上的权限 -rwxr-x--x ...

  3. Android系统权限和root权限

    Android系统权限和root权限http://www.verydemo.com/demo_c189_i277.html

  4. Android系统权限和root权限大全

    tyle="margin:20px 0px 0px; font-size:14.285714149475098px; line-height:26px; font-family:Arial; ...

  5. android系统权限SET_PREFERRED_APPLICATIONS怎么获取

    最近自己写个demo,需要用到SET_PREFERRED_APPLICATIONS权限 在网上找了半天,大概有两种方式: 1. 将手机root后,把apk强行push到system/app目录下,重启 ...

  6. Android——系统权限

    Android是一个特权分隔的操作系统,每一个应用程序运行在不同的系统身份中(Linux的user ID和group ID).系统部分和不同的身份被隔离开来.因此,Linux隔离了应用程序(与其它程序 ...

  7. [转]通过apk签名使应用程序有系统权限

    [转]通过apk签名使应用程序有系统权限 (2013-01-08 13:40:50) 转载▼ 标签: it 分类: Android 出处:http://blog.csdn.net/doom66151/ ...

  8. [Android Pro] android 4.4 Android原生权限管理:AppOps

    reference : http://m.blog.csdn.net/blog/langzxz/45308199 reference : http://blog.csdn.net/hyhyl1990/ ...

  9. Android应用权限管理总结

      访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permi ...

随机推荐

  1. kolla-ansible安装openstack(Ocata)

    基本功能部署 基础环境 角色 操作系统 硬件配置 Depoly CentOS 7 Server 磁盘:40GB 内存:8GB 网卡:ens3(内网) ens4(外网) Sched CentOS 7 S ...

  2. Sublime Text几款常用插件及用法(前端)

    一.Sublime3下载 百度搜索sublime text3,出现如图: 2.然后点击进去下载: 或者https://pc.qq.com/detail/0/detail_10140.html这里下载 ...

  3. kvm虚拟化存储池配置

    1.创建基于文件夹的存储池(目录) 2.定义存储池与其目录 # virsh pool-define-as vmdisk --type dir --target /data/vmfs 3.创建已定义的存 ...

  4. “全栈2019”Java多线程第六章:中断线程interrupt()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. DC010的精华分享【首发速看】

    世界黑客大会[DC010] 是全球安全圈最神秘.最前沿的黑客大派对 而作为中国首个受DEFCON授权支持成立的 地区性 信息 安全 技术交流平台 DEFCONGROUP 010(DC010) 在国内 ...

  6. scrapy 中用selector来提取数据的用法

      一. 基本概念 1. Selector是一个可独立使用的模块,我们可以用Selector类来构建一个选择器对象,然后调用它的相关方法如xpaht(), css()等来提取数据,如下 from sc ...

  7. linux安装scala环境

    (安装scala的前提是已经安装好了jdk) 1.下载scala的安装包 wget https://scala-lang.org/files/archive/scala-2.11.0-M2.tgz 2 ...

  8. Java_多线程

    线程(Thread) 1.线程是CPU进行资源调度的最小单位 2.线程是进程实际运行的单位,处理进程中无数的小任务 3.线程共享代码和数据空间 4.一个进程可以并发多个线程,线程之间切换系统开销很小 ...

  9. Maven 依赖管理问题小计

    刚学Maven,遇到点小问题,记录一下.https://maven.apache.org/ 问题的起因是项目中使用了 Hibernate Validator ,但是运行起来后总是不能按照设置的注解校验 ...

  10. C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展

    LinQ-语言集成查询(Language Integrated Query) 高集成化的数据库访问技术 LINQ 2 SQL 实际是将数据库的表映射成程序中的类 会把数据库的表名原封不动的变成类名 数 ...