C語言chown()函式:改變檔案所有者

2puT發表於2016-07-12
相關函式:fchown, lchown, chmod

標頭檔案:#include <sys/types.h>   #include <unistd.h>

定義函式:int chown(const char * path, uid_t owner, gid_t group);

函式說明:chown()會將引數path 指定檔案的所有者變更為引數owner 代表的使用者,而將該檔案的組變更為引數group 組。如果引數owner 或group 為-1,對應的所有者或組不會有所改變。root 與檔案所有者皆可改變檔案組,但所有者必須是引數group 組的成員。當root 用chown()改變檔案所有者或組時,該檔案若具有S_ISUID或S_ISGID 許可權,則會清除此許可權位,此外如果具有S_ISGID 許可權但不具S_IXGRP 位,則該檔案會被強制鎖定,檔案模式會保留。

返回值:成功則返回0, 失敗返回-1, 錯誤原因存於errno.

錯誤程式碼:參考 chmod()。

範例
/* 將/etc/passwd 的所有者和組都設為root */
#include <sys/types.h>
#include <unistd.h>
main()
{
    chown("/etc/passwd", 0, 0);
}

相關文章