gpt4 book ai didi

c - linux 文件创建和 umask()

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:02 26 4
gpt4 key购买 nike

我有一个写入日志文件的程序。当然必须创建这个日志文件和文件夹,我的程序必须以 root 身份运行,所以它总是创建具有 rw-------- 权限的文件夹,并且不能以普通用户身份读取和写入。我不希望这样,所有用户都应该能够拥有读写权限。

我的在线搜索让我找到了 umask(000);但是它只适用于文件而不适用于文件夹。创建的文件夹只有 root 的 rw 权限,所有其他人都没有,而文件具有我设置的 umask 权限。

有人知道这是为什么吗?

最佳答案

我会尝试使用 chmod()来自 <sys/stat.h> [...] 使用指定的权限位并忽略文件创建掩码的库。”,参见 here获取更多信息。

#include <sys/stat.h> 
#include <stdio.h>

int main(void) {
if(chmod("test", 0777) != 0)
printf("Error while setting permissions on directory.");

return 1;
}

关于c - linux 文件创建和 umask(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239951/

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