美文网首页
Mac开发下的文件权限的读写

Mac开发下的文件权限的读写

作者: 0无敌小宋0 | 来源:发表于2019-07-25 17:23 被阅读0次

最近开发文件相关操作的应用,对文件相关权限做了一番了解,这里总结一下。

//NSFileManager下包含了获取文件读、写、执行、删除权限的接口
- (BOOL)isReadableFileAtPath:(NSString *)path;
- (BOOL)isWritableFileAtPath:(NSString *)path;
- (BOOL)isExecutableFileAtPath:(NSString *)path;
- (BOOL)isDeletableFileAtPath:(NSString *)path;

关于文件的权限的修改直接的相关接口目前没有发现,直接使用chmod来修改了。文件系统下的文件权限按照读r、写w、执行x来设定的。
其中用数字来表示,则r:4,w:2,x:1,而文件的用户分为3种:文件所有者、用户群组、其他用户,

  chmod 777 filepath          //用这个来具体解释下,
  • 3个7分别代表3种用户的权限,第一位代表的是文件所有者的权限,第二位代表的是用户群组的权限,第三位代表的是其他用户的权限。


    WeChat16d29df0c1dff7953dc4f62fd1364fad.png
  • 用户的读写执行权限都具有则为rwz,只具有读权限则r--,上面提到每项权限分别用数字代替,则rwz为4+2+1,r--为4+0+0,

  • 所以上面的 chmod 777 filepath的含义为所有人均具有所有权限rwz。

解释了chmod的权限的相关设置规则,我们看下代码具体的实现:

+ (void)changeFileAllowWrited:(BOOL)isAllow filePath:(NSString *)filePath
{
    //777:rwx, r=4,w=2,x=1 所有人具有所有权限
    //555:3个管理者都具有5权限
    NSPipe *pipe = [NSPipe pipe];
    NSArray *args = @[@"-R", @"555", filePath];
    if (isAllow)
    {
        args = @[@"-R", @"777", filePath];
    }
    NSTask *task = [[NSTask alloc]init];
    task.launchPath = @"/bin/chmod";
    task.arguments = args;
    task.standardInput = pipe;
    [task launch];
    [task waitUntilExit];
}

相关文章

  • Mac开发下的文件权限的读写

    最近开发文件相关操作的应用,对文件相关权限做了一番了解,这里总结一下。 关于文件的权限的修改直接的相关接口目前没有...

  • Mac相关知识及开发软件安装

    1.Mac给某个文件赋予读写权限:chmod a+x ./文件名 2.Mac命令行新建文件 touch 文件名.文...

  • RetroHttp使用记录

    一. 安装和文件读写权限 在manifast.xml配置文件中,添加以下权限: 其中,联网权限和文件读写权限要在 ...

  • Mac 修改文件读写权限

    在开发过程中使用到系统中Framework,已经正确添加了,无论如何都报错,尝试了各种方法,还是报错。 猜想可能是...

  • MacOS 文件权限

    需求 MacOS下,文件分为只读/只写/读写权限,用户在修改系统管理的文件,需要获取文件的读写权限 权限问题提示:...

  • 终端 遇到的坑~~

    文件没有写的权限:更改文件读写权限的所有者

  • andorid创建文件时的默认读写权限详解-umask

    一 文件读写权限简介: 文件读写权限就不再详解,数字示例简介如下: r =4 w =2 x =1 (r:读 w:写...

  • 使用Android 系统 DownloadManager下载AP

    下载APK文件需要读写文件的权限,首先要进行权限申请. 创建DownloadManager 进行下载. //...

  • 3. linux中的文件 IO

    open函数的flag详解 读写权限:O_RDONLY O_WRONLY O_RDWR linux中文件有读写权限...

  • MAC小技巧--sudo免密

    Mac/Ubuntu/Linux 配置sudo免密码只需要如下两部: 1.修改文件权限,可读写 2.配置修改账户免...

网友评论

      本文标题:Mac开发下的文件权限的读写

      本文链接:https://www.haomeiwen.com/subject/inohrctx.html