Rechercher une page de manuel
fchmod
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> 2003sert.
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre