函式簡介
函式功能
改變檔案所有者
函式原型
int chown(const char * path, uid_t owner, gid_t group);
相關函式
fchown, lchown, chmod
所需庫
#include <sys/types.h> #include <unistd.h>
返回值
成功則返回0, 失敗返回-1, 錯誤原因存於errno.
函式說明
chown()會將參數path 指定檔案的所有者變更為參數owner 代表的用戶,而將該檔案的組變更為參數group 組。如果參數owner 或group 為-1,對應的所有者或組不會有所改變。root 與檔案所有者皆可改變檔案組,但所有者必須是參數group 組的成員。當root 用chown()改變檔案所有者或組時,該檔案若具有S_ISUID或S_ISGID 許可權,則會清除此許可權位,此外如果具有S_ISGID 許可權但不具S_IXGRP 位,則該檔案會被強制鎖定,檔案模式會保留。
程式示例
/* 將/etc/passwd 的所有者和組都設為root */
#include <sys/types.h>
#include <unistd.h>
main()
{
chown("/etc/passwd", 0, 0);
}