我想在C程序搭配chmod不能给所有权限
chmod("/tmp/toBoard", S_IRWXU | S_IRWXG | S_IRWXO);
但程序运行后,我检查权限使用chmod功能来更改文件权限并只获得
-rwxr-xr-x 1 root root
我运行这个程序在Linux嵌入式板上。 toBoard是来自/ var目录中其他文件的copied inside the program文件,源文件具有所有权限(从终端手动设置)。当我试图手动复制它,并设置它的工作权限,但是当我复制的文件,并尝试给它的所有权限 - 失败没有错误
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);
如何设置的所有权限绿灯?
您必须将其作为所有者运行,在本例中为root。但是除非你真的必须这样做,否则你不应该使用root,当然也不要这样做。 – Kevin
这工作正如我所见。必须'#include''得到S_IRWXU等常数 –
Vorsprung
以root身份运行。我需要这个能够从网页重写这个文件,但它没有权限。 Vorsprung,包含了所有需要的常量,你试过了你的建议,它也没有帮助 –
PaulPonomarev