ÈÌß
access - oïpeäeëÿeò âoçìoæíocòü äocòyïa ê ôaéëy
ÑÈÍÒÀÊÑÈÑ
int access (path, amode) char *path; int amode;
ÎÏÈÑÀÍÈÅ
path yêaçûâaeò èìÿ ôaéëa. access ïpoâepÿeò âoçìoæíocòü
äocòyïa ê ôaéëy â cooòâeòcòâèè c áèòoâûì øaáëoíoì, çaäaííûì
â amode, ècïoëüçyÿ peaëüíûé ïoëüçoâaòeëücêèé ID ïpoöecca
âìecòo ýôôeêòèâíoão ïoëüçoâaòeëücêoão ID è peaëüíûé
ãpyïïoâoé ID ïpoöecca âìecòo ýôôeêòèâíoão ãpyïïoâoão ID.
Áèòoâûé øaáëoí â amode còpoèòcÿ ïyòeì cëoæeíèÿ cëeäyþùèx
çía÷eíèé:
04 | Ïpoâepêa âoçìoæíocòè ÷òeíèÿ. |
---|---|
02 | Ïpoâepêa âoçìoæíocòè çaïècè. |
01 | Ïpoâepêa âoçìoæíocòè âûïoëíeíèÿ (ïoècêa). |
00 | Ïpoâepêa cyùecòâoâaíèÿ ôaéëa. |
Ècêoìûé äocòyï ê ôaéëy çaïpeùeí, ecëè âûïoëíÿeòcÿ xoòÿ áû oäío èç cëeäyþùèx ycëoâèé:
[ENOTDIR] | Koìïoíeíò ïpeôèêca èìeíè ôaéëa íe ÿâëÿeòcÿ êaòaëoãoì. |
---|---|
[ENOENT] | ×òeíèe, çaïècü èëè âûïoëíeíèe (ïoècê) çaïpoøeíû äëÿ ïycòoão èìeíè. |
[ENOENT] | Óêaçaííûé ôaéë íe cyùecòâyeò. |
[EACCES] | Heò paçpeøeíèÿ ía ïoècê â êaêoì-ëèáo êaòaëoãe èç ïpeôèêca èìeíè ôaéëa. |
[EROFS] | Ïpoâepêa âoçìoæíocòè çaïècè äëÿ ôaéëa èç ôaéëoâoé cècòeìû, ïpeäíaçía÷eííoé òoëüêo äëÿ ÷òeíèÿ. |
[ETXTBSY] | Ïpoâepêa âoçìoæíocòè çaïècè â ôaéë, êoòopûé ÿâëÿeòcÿ ÷ècòoé ïpoöeäypoé (c paçäeëÿeìûì ceãìeíòoì èícòpyêöèé) è â äaííûé ìoìeíò âûïoëíÿeòcÿ. |
[EACCES] | Áèòû paçpeøeíèÿ äocòyïa â êoäe çaùèòû ôaéëa çaïpeùaþò ècêoìûé äocòyï. |
[EFAULT] | Aäpec, çaäaííûé path âûxoäèò ça ïpeäeëû aäpecíoão ïpocòpaícòâa ïpoöecca. |
Ecëè ïpoöecc ÿâëÿeòcÿ âëaäeëüöeì ôaéëa, access ïpoâepÿeò áèòû ïpaâ âëaäeëüöa â êoäe çaùèòû ôaéëa. Äëÿ ÷ëeíoâ ãpyïïû ïpoâepÿþòcÿ áèòû ïpaâ ãpyïïû â êoäe çaùèòû. Äëÿ ocòaëüíûx ïpoâepÿþòcÿ áèòû ïpaâ ïpo÷èx ïpoöeccoâ â êoäe çaùèòû ôaéëa.
Boçâpaùaeìoe çía÷eíèe
Ecëè çaïpoøeííûé äocòyï paçpeøeí, âoçâpaùaeòcÿ çía÷eíèe 0.
Èía÷e âoçâpaùaeòcÿ çía÷eíèe -1 è â errno çaíocèòcÿ êoä
oøèáêè.
ÑÌ. ÒÀÊÆÅ
chmod(3), stat(3)
ÇÀÌÅ×ÀÍÈß
Ïpèâèëeãèpoâaííûé ïoëüçoâaòeëü (íaïpèìep c èìeíeì root)
ìoæeò èìeòü ëþáoé äocòyï ê ôaéëy íeçaâècèìo oò êoäa çaùèòû
ôaéëa.