在调试Android 应用程序时,app需要读取系统文件,例如/proc/tty/driver/usbserial文件,打开这个文件时,打开失败,错误号是13,表示没有权限打开,经过调试发现driver目录没有x权限。详细解释如下:
由于该文件是系统文件,对于app来说,是属于其他者身份,所以应该给其他者加权限。但是又因为usbserial所在的目录driver没有给其他者加x权限,所以用户不可以进入该目录,也就无法访问usbserial文件。
Linux中权限(r、w、x)对于目录与文件的意义
Linux中权限(r、w、x)对于目录与文件的意义
一、权限对于目录的意义
1、首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方。
2、r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。
3、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
1)在该目录下新建新的文件或子目录。
2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。
3)将该目录下已经存在的文件或子目录进行重命名。
4)转移该目录内的文件或子目录的位置。
4、x权限:拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。
二、权限对于文件的意义
1、也应该明白的是文件是实际含有数据的地方,所以r、w、x权限对文件来说是与其内容有关的。
2、r权限:用于此权限表示可以读取此文件的实际内容。
3、w权限:拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。
4、x权限:表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。
本文探讨了Android应用程序在尝试访问Linux系统文件时遇到的权限问题,特别是针对/proc/tty/driver/usbserial文件的访问限制。文章深入解析了Linux权限(r、w、x)对目录与文件的具体意义,并提供了调试解决方案。
4398

被折叠的 条评论
为什么被折叠?



