当我执行这段代码时,出现错误Couldn't create backup sub-directory: Permission denied
但我不明白为什么,因为我给出了完整的权限并且我使用的是管理员ubuntu 上的帐户。
umask(0777);
int folder_date_status = mkdir(filepath_W, 0777);
if(folder_date_status == -1){
perror("Couldn't create backup sub-directory");
return -1;
}
最佳答案
默认情况下,管理员帐户不会以完全权限运行。这样一来,您运行的程序就不会意外充当特权用户(即,您必须明确授予权限)。
要授予程序在需要特权访问的目录中创建子目录的权限,请尝试使用 sudo
。
如果程序名为myprogram
,尝试运行:
sudo ./myprogram
然后在需要时输入您的密码。
请注意,只有在尝试在写限制目录(例如,root 或其他用户拥有的受限目录)中创建子目录时,才需要 super 用户访问权限。还要确保父目录存在(否则也可能引发错误)。
关于c - Mkdir() permission denied C/linux 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114977/