access

Autres langues

Langue: ru

Autres versions - même langue

Version: 2002-04-23 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

éíñ

access - ÐÒÏ×ÅÒÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÐÏÌØÚÏ×ÁÔÅÌÑ Ë ÆÁÊÌÕ

ïâúïò


#include <unistd.h>



int access(const char *pathname, int mode);

ïðéóáîéå

access ÐÒÏ×ÅÒÑÅÔ, ÉÍÅÅÔ ÌÉ ÐÒÏÃÅÓÓ ÐÒÁ×Á ÎÁ ÞÔÅÎÉÅ ÉÌÉ ÚÁÐÉÓØ, ÉÌÉ ÖÅ ÐÒÏÓÔÏ ÐÒÏ×ÅÒÑÅÔ, ÓÕÝÅÓÔ×ÕÅÔ ÌÉ ÆÁÊÌ (ÉÌÉ ÄÒÕÇÏÊ ÏÂßÅËÔ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ), Ó ÉÍÅÎÅÍ pathname. åÓÌÉ pathname Ñ×ÌÑÅÔÓÑ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÏÊ, ÔÏ ÐÒÏ×ÅÒÑÀÔÓÑ ÐÒÁ×Á ÄÏÓÔÕÐÁ Ë ÆÁÊÌÕ, ÎÁ ËÏÔÏÒÙÊ ÏÎÁ ÓÓÙÌÁÅÔÓÑ.

mode -- ÜÔÏ ÍÁÓËÁ, ÓÏÓÔÏÑÝÁÑ ÉÚ ÏÄÎÏÇÏ ÉÌÉ ÂÏÌÅÅ ÆÌÁÇÏ× R_OK, W_OK, X_OK É F_OK.

R_OK, W_OK É X_OK ÚÁÐÒÁÛÉ×ÁÀÔ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÐÒÏ×ÅÒËÕ ÓÕÝÅÓÔ×Ï×ÁÎÉÑ ÆÁÊÌÁ É ×ÏÚÍÏÖÎÏÓÔÉ ÅÇÏ ÞÔÅÎÉÑ, ÚÁÐÉÓÉ ÉÌÉ ×ÙÐÏÌÎÅÎÉÑ. F_OK ÐÒÏÓÔÏ ÐÒÏ×ÅÒÑÅÔ ÓÕÝÅÓÔ×Ï×ÁÎÉÅ ÆÁÊÌÁ.

òÅÚÕÌØÔÁÔÙ ÐÒÏ×ÅÒËÉ ÚÁ×ÉÓÑÔ ÏÔ ÐÒÁ× ÄÏÓÔÕÐÁ Ë ËÁÔÁÌÏÇÁÍ, ÎÁÈÏÄÑÝÉÍÓÑ ÐÏ ÐÕÔÉ Ë ÆÁÊÌÕ, ÚÁÄÁÎÎÏÍÕ ÐÁÒÁÍÅÔÒÏÍ pathname, É ÏÔ ÐÒÁ× ÄÏÓÔÕÐÁ Ë ËÁÔÁÌÏÇÁÍ É ÆÁÊÌÁÍ, ÎÁ ËÏÔÏÒÙÅ ÓÓÙÌÁÀÔÓÑ ÓÉÍ×ÏÌØÎÙÅ ÓÓÙÌËÉ, ×ÓÔÒÅÞÅÎÎÙÅ ÐÏ ÐÕÔÉ.

ðÒÏ×ÅÒËÁ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ, ÉÓÐÏÌØÚÕÑ ÒÅÁÌØÎÙÅ, Á ÎÅ ÜÆÆÅËÔÉ×ÎÙÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÇÒÕÐÐÙ. üÆÆÅËÔÉ×ÎÙÅ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÂÕÄÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÉ ÄÅÊÓÔ×ÉÔÅÌØÎÏÊ ÐÏÐÙÔËÅ ×ÙÐÏÌÎÅÎÉÑ ÔÏÊ ÉÌÉ ÉÎÏÊ ÏÐÅÒÁÃÉÉ. üÔÏ ÄÁÅÔ setuid-ÐÒÏÇÒÁÍÍÁÍ ÐÒÏÓÔÏÊ ÓÐÏÓÏ ÐÒÏ×ÅÒÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÎÁÓÔÏÑÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ.

ðÒÏ×ÅÒÑÀÔÓÑ ÔÏÌØËÏ ÂÉÔÙ ÐÒÁ× ÄÏÓÔÕÐÁ, Á ÎÅ ÔÉÐ ÆÁÊÌÁ ÉÌÉ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ ËÁÔÁÌÏÇ ÉÍÅÅÔ "×ÏÚÍÏÖÎÏÓÔØ ÚÁÐÉÓÉ", ÜÔÏ, ×ÅÒÏÑÔÎÏ, ÏÚÎÁÞÁÅÔ, ÞÔÏ × ÎÅÍ ÍÏÖÎÏ ÓÏÚÄÁ×ÁÔØ ÆÁÊÌÙ, Á ÎÅ ÞÔÏ × ÜÔÏÔ ËÁÔÁÌÏÇ ÍÏÖÎÏ ÐÉÓÁÔØ ÔÁË ÖÅ, ËÁË × ÏÂÙÞÎÙÊ ÆÁÊÌ. ðÏÄÏÂÎÏ ÜÔÏÍÕ ÆÁÊÌ ÉÚ DOS ÍÏÖÅÔ ÐÏËÁÚÁÔØÓÑ "×ÙÐÏÌÎÑÅÍÙÍ", ÎÏ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ× execve(2) ÚÁ×ÅÒÛÉÔÓÑ ÎÅÕÄÁÞÎÏ.

åÓÌÉ ÐÒÏÃÅÓÓ ÉÍÅÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÐÒÉ×ÅÌÅÇÉÉ, ÔÏ ÎÅËÏÔÏÒÙÅ ÒÅÁÌÉÚÁÃÉÉ ÍÏÇÕÔ ÐÏËÁÚÁÔØ ÕÓÐÅÈ ÄÌÑ X_OK ÄÁÖÅ ÅÓÌÉ ÐÒÁ×Á ÎÁ ÆÁÊÌ ÎÅ ÓÏÄÅÒÖÁÔ ÂÉÔ, ÒÁÚÒÅÛÁÀÝÉÊ ×ÙÐÏÌÎÅÎÉÅ.

÷ïú÷òáýáåíïå úîáþåîéå

÷ ÓÌÕÞÁÅ ÕÓÐÅÈÁ (ÅÓÔØ ×ÓÅ ÚÁÐÒÏÛÅÎÎÙÅ ÐÒÁ×Á) ×ÏÚ×ÒÁÝÁÅÔÓÑ ÎÕÌØ. ðÒÉ ÏÛÉÂËÅ (ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÏÄÉÎ ÚÁÐÒÏÓ ÐÒÁ× ÉÚ mode ÂÙÌ ÎÅÕÄÏ×ÌÅÔ×ÏÒÅÎ, ÉÌÉ ÓÌÕÞÉÌÁÓØ ÄÒÕÇÁÑ ÏÛÉÂËÁ), ×ÏÚ×ÒÁÝÁÅÔÓÑ -1, Á errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÄÏÌÖÎÙÍ ÏÂÒÁÚÏÍ.

ïûéâëé

access ÂÕÄÅÔ ÚÁ×ÅÒÛÁÔØÓÑ Ó ÏÛÉÂËÏÊ ÅÓÌÉ:
EACCES
úÁÐÒÏÛÅÎÎÙÊ ÔÉÐ ÄÏÓÔÕÐÁ ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÅÎ ÉÌÉ ÏÄÉÎ ÉÚ ËÁÔÁÌÏÇÏ× × pathname ÎÅ ÐÏÚ×ÏÌÑÅÔ ÐÏÉÓË.
ELOOP
÷Ï ×ÒÅÍÑ ÏÐÒÅÄÅÌÅÎÉÑ pathname ×ÓÔÒÅÔÉÌÏÓØ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌØÎÙÈ ÓÓÙÌÏË (ÚÁÃÉËÌÉ×ÁÎÉÅ ÐÏ ÓÉÍ×ÏÌØÎÙÍ ÓÓÌÙËÁÍ -- ÐÒÉÍ. ÐÅÒ.).
ENAMETOOLONG
pathname ÓÌÉÛËÏÍ ÄÌÉÎÎÏ.
ENOENT
ëÏÍÐÏÎÅÎÔ ÐÕÔÉ pathname ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÉÌÉ Ñ×ÌÑÅÔÓÑ "×ÉÓÑÞÅÊ" ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÏÊ.
ENOTDIR
ëÏÍÐÏÎÅÎÔ ÐÕÔÉ, ÉÓÐÏÌØÚÏ×ÁÎÎÙÊ ËÁË ËÁÔÁÌÏÇ × pathname, × ÄÅÊÓÔ×ÉÔÅÌØÎÏÓÔÉ ÔÁËÏ×ÙÍ ÎÅ Ñ×ÌÑÅÔÓÑ.
EROFS
æÁÊÌ ÎÁÈÏÄÉÔÓÑ ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ, ÓÍÏÎÔÉÒÏ×ÁÎÎÏÊ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ.
access ÍÏÖÅÔ ÚÁ×ÅÒÛÉÔØÓÑ Ó ÏÛÉÂËÏÊ, ÅÓÌÉ: EFAULT pathname ÕËÁÚÙ×ÁÅÔ ÚÁ ÐÒÅÄÅÌÙ ÄÏÓÔÕÐÎÏÇÏ ÁÄÒÅÓÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á.
EINVAL
mode ÂÙÌ ÚÁÄÁÎ ÎÅ×ÅÒÎÏ.
EIO
ðÒÏÉÚÏÛÌÁ ÏÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ.
ENOMEM
ñÄÒÕ ÎÅ È×ÁÔÉÌÏ ÐÁÍÑÔÉ.
ETXTBSY
ðÒÁ×Á ÎÁ ÚÁÐÉÓØ ÂÙÌÉ ÚÁÔÒÅÂÏ×ÁÎÙ ÄÌÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÕÖÅ ×ÙÐÏÌÎÑÅÔÓÑ.

ïçòáîéþåîéñ

access ×ÏÚ×ÒÁÝÁÅÔ ÏÛÉÂËÕ, ÅÓÌÉ ÏÄÉÎ ÉÚ ÚÁÐÒÏÛÅÎÎÙÈ ÔÉÐÏ× ÄÏÓÔÕÐÁ ÎÅ ÂÕÄÅÔ ÕÄÏ×ÌÅÔ×ÏÒ£Î, ÄÁÖÅ ÅÓÌÉ ÄÒÕÇÉÅ ÔÉÐÙ ÐÒÏÛÌÉ ÂÙ ÕÓÐÅÛÎÏ.

access ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÅ×ÅÒÎÏ ÎÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ NFS ÓÏ ×ËÌÀÞÅÎÎÙÍ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅÍ UID'Ï×, ÐÏÔÏÍÕ ÞÔÏ ÜÔÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÒÏÉÓÈÏÄÉÔ ÎÁ ÓÅÒ×ÅÒÅ É ÓÐÒÑÔÁÎÏ ÏÔ ËÌÉÅÎÔÁ, ËÏÔÏÒÙÊ ÐÙÔÁÅÔÓÑ ÐÒÏ×ÅÒÉÔØ ÐÒÁ×Á.

éÓÐÏÌØÚÏ×ÁÎÉÅ access ÄÌÑ ÐÒÏ×ÅÒËÉ, ÍÏÖÎÏ ÌÉ ÐÏÌØÚÏ×ÁÔÅÌÀ, ÎÁÐÒÉÍÅÒ, ÏÔËÒÙÔØ ÆÁÊÌ ÐÅÒÅÄ ÔÅÍ, ËÁË ÄÅÊÓÔ×ÉÔÅÌØÎÏ ×ÙÐÏÌÎÉÔØ open(2), ÓÏÚÄÁÅÔ ÄÙÒÕ × ÚÁÝÉÔÅ, ÐÏÔÏÍÕ ÞÔÏ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ × ËÏÒÏÔËÉÊ ÐÒÏÍÅÖÕÔÏË ÍÅÖÄÕ ÐÒÏ×ÅÒËÏÊ É ÏÔËÒÙÔÉÅÍ ÆÁÊÌÁ ËÁË-ÔÏ ÅÇÏ ÉÚÍÅÎÉÔØ.

óïïô÷åôóô÷éå óôáîäáòôáí

SVID, AT&T, POSIX, X/OPEN, BSD 4.3

óíïôòé ôáëöå

stat(2), open(2), chmod(2), chown(2), setuid(2), setgid(2).

ðåòå÷ïä

Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999, ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× <corochoone@perm.ru> 2003