c - Mkdir() permission denied C/linux 编程

标签 c linux permissions mkdir

当我执行这段代码时,出现错误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/

相关文章:

c - malloc不同方式的区别

c - GDB: "warning: Range for type <error type> has invalid bounds"

c - 一个程序,给定一个字符串、一个宽度和一个用于输出的空字符串,该程序将字符串置于输出区域的中心。

linux - 如何在 Windows 和 Linux 的 Perl 中组合 header

服务器之间的 IIS AppPool 权限

将字符与C中的多个字符进行比较

Java - IO 绑定(bind)线程 - 1 :1 threading model

c - Linux - 如何在 C 中更改 fork 进程的信息

laravel - 如何在 Laravel 中为列表或数组定义策略?

Android - 应用程序未安装