我想在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