Rechercher une page de manuel

Chercher une autre page de manuel:

fchmod

Autres langues

Langue: ru

Version: 1997-12-10 (ubuntu - 01/11/07)

Section: 2 (Appels système)

îáú÷áîéå

chmod, fchmod - ÉÚÍÅÎÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ Ë ÆÁÊÌÕ

ïâúïò

#include <sys/types.h>
#include <sys/stat.h>

int chmod(const char *path, mode_t mode);
int fchmod(int fildes, mode_t mode);

ïðéóáîéå

éÚÍÅÎÑÅÔ ÐÒÁ×Á ÄÏÓÔÕÐÁ Ë ÆÁÊÌÕ, ÚÁÄÁÎÎÏÍÕ ÐÁÒÁÍÅÔÒÏÍ path ÉÌÉ ÆÁÊÌÏ×ÙÍ ÄÅÓËÒÉÐÔÏÒÏÍ fildes.

ðÒÁ×Á ÚÁÄÁÀÔÓÑ ÐÒÉÍÅÎÅÎÉÅÍ ÌÏÇÉÞÅÓËÏÊ ÏÐÅÒÁÃÉÉ OR (ÂÉÔÏ×ÏÅ ÓÌÏÖÅÎÉÅ -- ÐÒÉÍ. ÐÅÒ.) Ë ÓÌÅÄÕÀÝÉÍ ËÏÎÓÔÁÎÔÁÍ:


S_ISUID
04000 ÕÓÔÁÎÏ×ÉÔØ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ (suid ÂÉÔ -- ÐÒÉÍ.ÐÅÒ.)
S_ISGID
02000 ÕÓÔÁÎÏ×ÉÔØ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ (sgid ÂÉÔ -- ÐÒÉÍ.ÐÅÒ.)
S_ISVTX
01000 sticky ÂÉÔ
S_IRUSR (S_IREAD)
00400 ×ÌÁÄÅÌÅà ÍÏÖÅÔ ÞÉÔÁÔØ
S_IWUSR (S_IWRITE)
00200 ×ÌÁÄÅÌÅà ÍÏÖÅÔ ÐÉÓÁÔØ
S_IXUSR (S_IEXEC)
00100 ×ÌÁÄÅÌÅà ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ ÆÁÊÌ ÉÌÉ ÉÓËÁÔØ × ËÁÔÁÌÏÇÅ
S_IRGRP
00040 ÇÒÕÐÐÁ-×ÌÁÄÅÌÅà ÍÏÖÅÔ ÞÉÔÁÔØ
S_IWGRP
00020 ÇÒÕÐÐÁ-×ÌÁÄÅÌÅà ÍÏÖÅÔ ÐÉÓÁÔØ
S_IXGRP
00010 ÇÒÕÐÐÁ-×ÌÁÄÅÌÅà ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ ÆÁÊÌ ÉÌÉ ÉÓËÁÔØ × ËÁÔÁÌÏÇÅ
S_IROTH
00004 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÍÏÇÕÔ ÞÉÔÁÔØ
S_IWOTH
00002 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÍÏÇÕÔ ÐÉÓÁÔØ
S_IXOTH
00001 ×ÓÅ ÏÓÔÁÌØÎÙÅ ÍÏÇÕÔ ×ÙÐÏÌÎÑÔØ ÆÁÊÌ ÉÌÉ ÉÓËÁÔØ × ËÁÔÁÌÏÇÅ

üÆÆÅËÔÉ×ÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ (UID) ÄÌÑ ×ÙÚÙ×ÁÀÝÅÇÏ ÐÒÏÃÅÓÓÁ ÄÏÌÖÅÎ ÂÙÔØ ÎÕÌÅÍ ÉÌÉ ÓÏ×ÐÁÄÁÔØ Ó UID ×ÌÁÄÅÌØÃÁ ÆÁÊÌÁ.

åÓÌÉ ÜÆÆÅËÔÉ×ÎÙÊ UID ÐÒÏÃÅÓÓÁ ÎÅ ÒÁ×ÅÎ ÎÕÌÀ, Á ÇÒÕÐÐÁ-×ÌÁÄÅÌÅà ÆÁÊÌÁ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÆÁËÔÉÞÅÓËÉÍ GID ÐÒÏÃÅÓÓÁ ÉÌÉ ÏÄÎÉÍ ÉÚ ÅÇÏ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ GID'Ï×, ÔÏ ÂÉÔ S_ISGID ÂÕÄÅÔ ÓÂÒÏÛÅÎ, ÎÏ ÏÛÉÂËÉ ÐÒÉ ÜÔÏÍ ÎÅ ×ÏÚÎÉËÎÅÔ.

÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ, suid É sgid ÂÉÔÙ ÍÏÇÕÔ ÂÙÔØ ÓÂÒÏÛÅÎÙ, ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ ÚÁÐÉÓØ × ÆÁÊÌ. îÁ ÎÅËÏÔÏÒÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ ÔÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ sticky ÂÉÔ, ËÏÔÏÒÙÊ ÍÏÖÅÔ ÉÍÅÔØ ÓÐÅÃÉÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. ï ÚÎÁÞÅÎÉÉ sticky ÂÉÔÁ, Á ÔÁËÖÅ suid É sgid ÂÉÔÏ× ÎÁ ËÁÔÁÌÏÇÉ, ÓÍ. stat(2). îÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ NFS ÏÔÍÅÎÁ ÎÅËÏÔÏÒÙÈ ÐÒÁ× ÄÏÓÔÕÐÁ ÎÅÍÅÄÌÅÎÎÏ ÐÏ×ÌÉÑÅÔ ÎÁ ÏÔËÒÙÔÙÅ ÆÁÊÌÙ, ÐÏÔÏÍÕ ÞÔÏ ËÏÎÔÒÏÌØ ÄÏÓÔÕÐÁ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÓÅÒ×ÅÒÏÍ, Á ÏÔËÒÙÔÙÅ ÆÁÊÌÙ ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ ËÌÉÅÎÔÏÍ. äÏÂÁ×ÌÅÎÉÅ ÎÏ×ÙÈ ÐÒÁ× ÄÏÓÔÕÐÁ ÍÏÖÅÔ ÐÒÏÉÚÏÊÔÉ ÎÅ ÓÒÁÚÕ, ÅÓÌÉ ÎÁ ËÌÉÅÎÔÅ ×ËÌÀÞÅÎÏ ËÜÛÉÒÏ×ÁÎÉÅ ÁÔÒÉÂÕÔÏ×.

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

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

ïûéâëé

÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÍÏÇÕÔ ÔÁËÖÅ ÐÏÑ×ÉÔØÓÑ ÄÒÕÇÉÅ ÏÛÉÂËÉ. ïÂÝÉÊ ÎÁÂÏÒ ÏÛÉÂÏË ÄÌÑ chmod ÔÁËÏ×:

EPERM
æÁËÔÉÞÅÓËÉÊ UID ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ×ÌÁÄÅÌØÃÅÍ ÆÁÊÌÁ É ÎÅ ÒÁ×ÅÎ ÎÕÌÀ.
EROFS
æÁÊÌ ÎÁÈÏÄÉÔÓÑ ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ, ÓÍÏÎÔÉÒÏ×ÁÎÎÏÊ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ.
EFAULT
path ÕËÁÚÙ×ÁÅÔ ÚÁ ÐÒÅÄÅÌÙ ÄÏÓÔÕÐÎÏÇÏ ÁÄÒÅÓÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á.
ENAMETOOLONG
path ÓÌÉÛËÏÍ ÄÌÉÎÎÏ.
ENOENT
æÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.
ENOMEM
ñÄÒÕ ÎÅ È×ÁÔÉÌÏ ÐÁÍÑÔÉ.
ENOTDIR
ëÏÍÐÏÎÅÎÔ ÐÕÔÉ, ÉÓÐÏÌØÚÏ×ÁÎÎÙÊ ËÁË ËÁÔÁÌÏÇ × path, × ÄÅÊÓÔ×ÉÔÅÌØÎÏÓÔÉ ÔÁËÏ×ÙÍ ÎÅ Ñ×ÌÑÅÔÓÑ.
EACCES
úÁÐÒÅÝÅÎ ÐÏÉÓË × ÏÄÎÏÍ ÉÚ ËÁÔÁÌÏÇÏ×, ÎÁÈÏÄÑÝÉÈÓÑ ÎÁ ÐÕÔÉ Ë ÆÁÊÌÕ.
ELOOP
ðÒÉ ÏÂÒÁÂÏÔËÅ path ×ÓÔÒÅÞÅÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÉÞÅÓËÉÈ ÓÓÙÌÏË.
EIO
ðÒÏÉÚÏÛÌÁ ÏÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ.

ïÂÝÉÊ ÎÁÂÏÒ ÏÛÉÂÏË ÄÌÑ fchmod ÔÁËÏ×:

EBADF
îÅ×ÅÒÎÙÊ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ fildes.
EROFS
óÍ. ×ÙÛÅ.
EPERM
óÍ. ×ÙÛÅ.
EIO
óÍ. ×ÙÛÅ.

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

óÉÓÔÅÍÎÙÊ ×ÙÚÏ× chmod ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÓÔÁÎÄÁÒÔÁÍ SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 ÄÏËÕÍÅÎÔÉÒÕÅÔ EINTR, ENOLINK É EMULTIHOP, ÎÏ ÎÅ ÄÏËÕÍÅÎÔÉÒÕÅÔ ENOMEM. POSIX.1 ÎÅ ÄÏËÕÍÅÎÔÉÒÕÅÔ ÎÉ ËÏÄÙ ÏÛÉÂÏË EFAULT, ENOMEM, ELOOP É EIO, ÎÉ ÍÁËÒÏÓÙ S_IREAD, S_IWRITE É S_IEXEC.

óÉÓÔÅÍÎÙÊ ×ÙÚÏ× fchmod ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ 4.4BSD É SVr4. SVr4 ÄÏËÕÍÅÎÔÉÒÕÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ËÏÄÙ ÏÛÉÂÏË EINTR É ENOLINK. POSIX ÔÒÅÂÕÅÔ ÐÒÉÓÕÔÓÔ×ÉÑ ÆÕÎËÃÉÉ fchmod, ÅÓÌÉ ÏÐÒÅÄÅÌÅÎÙ ÓÉÍ×ÏÌÙ _POSIX_MAPPED_FILES ÉÌÉ _POSIX_SHARED_MEMORY_OBJECTS, É ÄÏËÕÍÅÎÔÉÒÕÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ËÏÄÙ ÏÛÉÂÏË ENOSYS É EINVAL, ÎÏ ÎÅ ÄÏËÕÍÅÎÔÉÒÕÅÔ EIO.

POSIX É X/OPEN ÎÅ ÄÏËÕÍÅÎÔÉÒÕÀÔ sticky ÂÉÔ.

óíïôòé ôáëöå

open(2), chown(2), stat(2)

ðåòå÷ïä

Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999, ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× <corochoone@perm.ru> 2003
La hiérarchie, c'est comme les étagères : plus c'est haut, moins ça
sert.