NSFileOwnerAccountName
和NSFileGroupOwnerAccountName
的分配不起作用?创建的目录默认为我的帐户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];
答案 0 :(得分:2)
很有可能未经授权,您将无法创建root拥有的任何内容。但是,假设您做有授权......
文档未特别针对createDirectoryAtPath:withIntermediateDirectories:attributes:
提及此限制,但对于相关方法setAttributes:ofItemAtPath:error:
,您无法使用NSFileOwnerAccountName
或NSFileGroupOwnerAccountName
。您必须使用NSFileOwnerAccountID
和NSFileGroupOwnerAccountID
来使用帐户ID。如果您使用基于…Name
的密钥,则会忽略它们。
可能createDirectoryAtPath:withIntermediateDirectories:attributes:
也有此限制。我会尝试设置ID而不是名称,我怀疑它会起作用。