gpt4 book ai didi

chmod 无法授予所有权限

转载 作者:太空狗 更新时间:2023-10-29 16:01:51 25 4
gpt4 key购买 nike

我正在尝试在 C 程序中使用 chmod 函数更改文件权限

chmod("/tmp/toBoard", S_IRWXU | S_IRWXG | S_IRWXO);

但在程序运行后我检查权限并只获得

-rwxr-xr-x 1 root root

我在 Linux 嵌入式板上运行这个程序。 toBoard 是一个文件 copied inside the program来自/var 目录中的其他文件,源文件具有所有权限(从终端手动设置)。当我尝试手动复制它并设置权限时它起作用了,但是当我复制文件并尝试授予它所有权限时 - 它失败且没有错误

copy("/var/www/defaults.dat", "/tmp/toBoard");
int err;
if(err = chmod("/tmp/toBoard", S_IRWXU | S_IRWXG | S_IRWXO)){
perror("chmod");
}
struct stat buffer;
int status = stat("/tmp/toBoard", &buffer);

如何将所有权限设置为绿灯?

最佳答案

就目前而言,您的调用是正确的,但它可能失败了,并且您没有检查返回的代码。你可以试试:

if (chmod("/tmp/toBoard", S_IRWXU | S_IRWXG | S_IRWXO)) {
perror("chmod");
/* more error handling. */
}

在这种情况下,很可能是“权限被拒绝”的情况。

关于chmod 无法授予所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140519/

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