Android 怎样在java/native层改动一个文件的权限(mode)与用户(owner)?
2017-06-08 21:53
501 查看
前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载。但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
[Description]
怎样在java/native层改动一个文件的权限(mode),用户(owner),组(group)。以满足安全须要?
[Keyword]
文件权限 文件用户 mode owner chomd chown permission
[Solution]
在native 层:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h> //chmod/fchmod 用来更新訪问权限
int chmod(const char *path, mode_t mode);
int fchmod(int fildes, mode_t mode); //chown/fchown/lchown 用来更新文件owner 和 group
int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group); //用来读取文件元数据
int stat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *path, struct stat *buf); 很多其它的资讯能够在linux 中 man chmod ; man chown ; man stat 在java 层:
java default 并不提供这种功能。android 为满足内部须要,在android.os.FileUtils 类中提供了setPermissions 方法,结合了chmod 与chown. 參数中mode 即chmod 參数中的mode,当不须要设置file 的uid 和 group 时,可将uid 和 gid 都设置成-1;
android.os.FileUtils
public static native int setPermissions(String file, int mode, int uid, int gid);
相关文章推荐
- Android 如何在java/native层修改一个文件的权限(mode)与用户(owner)?
- [Android]如何在编译阶段设置文件夹文件的权限属性(mode ,group, owner)
- 一个java文件内只能有一个public类 其他非内部类的权限声明如下
- 用户IDs与文件访问|权限|Android
- 怎样用Java.net.URL表示一个本地目录下的文件?
- Android基础知识之Manifest文件中的用户权限元素
- 在Android中通过Java修改文件权限
- 怎样用MyEclipse运行一个.java文件
- linux 下如何给一个普通用户有在指定目录下有创建文件的权限
- java拷贝文件夹和android设置文件权限
- 在Android java代码中如何改变文件的权限
- 怎样用Java复制一个文件到指定目录?
- java拷贝文件夹和android设置文件权限
- 教你怎样用unity3d发布一个Android的apk文件
- 破解android的root权限的本质是:在系统中加入一个任何用户都可能用于登陆的su命令。或者说替换掉系统中的su程序,因为系统中的默认su程序需要验证实际用户权限,只有root和 shell用户才
- java中怎样用IO流把一个文件全部读取出来
- java拷贝文件夹和android设置文件权限
- 怎样把一个普通用户权限提升为跟root一样?
- 一个java文件内只能有一个public类 其他非内部类的权限声明如下
- Android基础知识之Manifest文件中的用户权限元素