gpt4 book ai didi

objective-c - 无法使用 NSFileManager 创建新目录,所有者为 `root`

转载 作者:行者123 更新时间:2023-12-03 17:42:16 24 4
gpt4 key购买 nike

NSFileOwnerAccountNameNSFileGroupOwnerAccountName 的分配不起作用?创建的目录默认为我的帐户 coderama 和群组 staff

NSFileManager *fileManager = [NSFileManager defaultManager];
NSMutableDictionary *attr = [NSMutableDictionary dictionary];
[attr setObject:@"root" forKey:NSFileOwnerAccountName];
[attr setObject:@"wheel" forKey:NSFileGroupOwnerAccountName];
[attr setObject:[NSNumber numberWithInt:0755] forKey:NSFilePosixPermissions];

[fileManager createDirectoryAtPath:dir withIntermediateDirectories:TRUE attributes:attr error:&error];

最佳答案

未经授权,您很可能无法创建 root 拥有的任何内容。但是,假设您确实拥有授权……

文档没有专门针对 createDirectoryAtPath:withIntermediateDirectories:attributes: 提及此限制,但对于相关方法 setAttributes:ofItemAtPath:error:,您不能使用 NSFileOwnerAccountName 或 NSFileGroupOwnerAccountName 。您必须改用帐户 ID,即 NSFileOwnerAccountIDNSFileGroupOwnerAccountID。如果您使用基于 …Name 的键,它们将被忽略。

可能createDirectoryAtPath:withIntermediateDirectories:attributes:也有这个限制。我会尝试设置 ID 而不是名称,我怀疑这会起作用。

关于objective-c - 无法使用 NSFileManager 创建新目录,所有者为 `root`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com