国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

文件和目錄之chown、fchown和lchown函數(shù)

2024-06-28 13:28:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
文件和目錄之chown、fchown和lchown函數(shù)

下面幾個(gè)chown函數(shù)可用于更改文件的用戶ID和組ID。

#include <unistd.h>int chown( const char *pathname, uid_t owner, gid_t group );int fchown( int filedes, uid_t owner, gid_t group );int lchown( const char *pathname, uid_t owner, gid_t group );三個(gè)函數(shù)的返回值:若成功則返回0,若出錯(cuò)則返回-1

除了所引用的文件是符號(hào)鏈接以外,這三個(gè)函數(shù)的操作相似。在符號(hào)鏈接的情況下,lchown更改符號(hào)鏈接本身的所有者,而不是該符號(hào)鏈接所指向的文件。

如若兩個(gè)參數(shù)owner或group中的任意一個(gè)是-1,則對(duì)應(yīng)的ID不變。

基于BSD的系統(tǒng)一直規(guī)定只有超級(jí)用戶才能更改一個(gè)文件的所有者。這樣做的原因是防止用戶改變其文件的所有者從而擺脫磁盤(pán)空間限額對(duì)他們的限制。系統(tǒng)V則允許任一用戶更改他們所擁有的文件的所有者。按照_POSIX_CHOWN_RESTRICTED的值,POSIX.1在這兩種形式的操作中選用一種。對(duì)于Solaris 9,此功能是個(gè)配置選項(xiàng),其默認(rèn)值是施加限制。而FreeBSD 5.2.1、linux 2.4.22和Mac OS X 10.3則總對(duì)chown施加限制。

_POSIX_CHOWN_RESTRICTED常量可選地定義在頭文件<unistd.h>中,而且總是可以用pathconf或fpathconf函數(shù)查詢。此選項(xiàng)還與所引用的文件有關(guān)——可在每個(gè)文件系統(tǒng)基礎(chǔ)上,是該選項(xiàng)起作用或不起作用。

若_POSIX_CHOWN_RESTRICTED對(duì)指定的文件起作用,則

(1)只有超級(jí)用戶進(jìn)程能更改該文件的用戶ID。

(2)若滿足下列條件,一個(gè)非超級(jí)用戶進(jìn)程就可以更改該文件的組ID:

        (a)進(jìn)程擁有此文件(其有效用戶ID等于該文件的用戶ID)。

        (b)參數(shù)owner等于-1或文件的用戶ID,并且參數(shù)group等于進(jìn)程的有效組ID或進(jìn)程的附加組ID之一。

這意味著,當(dāng)_POSIX_CHOWN_RESTRICTED起作用時(shí),不能更改其他用戶文件的用戶ID。你可以更改你所擁有的文件的組ID,但只能改到你所屬的組。

如果這些函數(shù)由非超級(jí)用戶進(jìn)程調(diào)用,則在成功返回時(shí),該文件的設(shè)置用戶ID位和設(shè)置組ID位會(huì)被清除。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三河市| 毕节市| 石渠县| 家居| 高碑店市| 大冶市| 称多县| 紫金县| 阿尔山市| 宁城县| 丰顺县| 信宜市| 和平区| 丰城市| 上林县| 夹江县| 新丰县| 井陉县| 凤山县| 桦甸市| 叶城县| 和田县| 漯河市| 乡城县| 廊坊市| 师宗县| 阜城县| 阿拉善左旗| 河津市| 镶黄旗| 静宁县| 绩溪县| 昌都县| 富裕县| 岑溪市| 江门市| 突泉县| 崇左市| 家居| 乐清市| 镇平县|