我遇到了调用mkdir(2)的程序的问题。该程序能够创建和删除目录没有任何问题,但当我尝试调用chdir时,我一直得到访问被拒绝的错误。 shell也只能在目录上调用rmdir(它的访问也被拒绝)。我对mkdir的调用如下:
mkdir(&message[sizeof(size_t) + commandType.size() + 1], S_IRWXO | S_IREAD | S_IWRITE)
标志可能有点过分,但我无法获得任何允许此进程访问其创建的目录的内容。在一天结束时,创建过程是唯一真正需要访问新目录的过程,但如果每个人都可以,那对我来说会更方便。
答案 0 :(得分:1)
S_IRWXU
的标记中缺少mkdir
(为了授予用户访问权限),您可能希望S_IRWXG
允许群组访问...
请记住,目录应该是可执行的,以便能够在其中进行搜索