|
éíñ
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.
|