Provided by: manpages-es_1.55-8_all bug

NOMBRE

       chmod, fchmod - cambia los permisos de un fichero

SINOPSIS

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

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

DESCRIPCIÓN

       Cambia el modo del fichero dado mediante path o referido por fildes

       Los  modos  se  especifican  mediante  un  O  lógico  de los siguientes
       valores:

              S_ISUID   04000 asignar ID de usuario al ejecutar

              S_ISGID   02000 asignar ID de group al ejecutar

              S_ISVTX   01000 bit pegajoso (sticky bit)

              S_IRUSR (S_IREAD)
                        00400 lectura para el propietario

              S_IWUSR (S_IWRITE)
                        00200 escritura para el propietario

              S_IXUSR (S_IEXEC)
                        00100 ejecución/busqueda para el propietario

              S_IRGRP   00040 lectura para el grupo

              S_IWGRP   00020 escritura para el grupo

              S_IXGRP   00010 ejecución/busqueda para el grupo

              S_IROTH   00004 lectura para otros

              S_IWOTH   00002 escritura para otros

              S_IXOTH   00001 ejecución/busqueda para otros

       El UID efectivo del proceso debe ser  cero  o  debe  coincidir  con  el
       propietario del fichero.

       Si  el  UID  efectivo  del proceso no es cero y el grupo del fichero no
       coincide con el ID de grupo efectivo del proceso o con uno de  sus  IDs
       de grupo sumplementarios, el bit S_ISGID se desactivará, aunque esto no
       provocará que se devuelva un error.

       Dependiendo del sistema de ficheros, los bits S_ISUID y S_ISGID podrían
       desactivarse  si  el  fichero  es  escrito.   En  algunos  sistemas  de
       ficheros, solo el superusuario puede asignar el bit pegajoso,  lo  cual
       puede  tener un significado especial.  Para el bit pegajoso, y para los
       bits SUID y SGID sobre directorios, véase stat(2).

       En sistemas de  ficheros  NFS,  la  restricción  de  permisos  influirá
       inmediatamente en los ficheros ya abiertos, ya que el control de acceso
       se hacen en el servidor, pero los ficheros abiertos son mantenidos  por
       el  cliente. La ampliación de permisos puede verse retrasada para otros
       clientes si  en  ellos  está  habilitada  la  ocultación  (caching)  de
       atributos.

VALOR DEVUELTO

       En  caso  de  éxito,  devuelve 0. En caso de error, -1 y se asigna a la
       variable errno un valor adecuado.

ERRORES

       Dependiendo del sistema de ficheros, se pueden devolver otros  errores.
       Los más generales para chmod están listados a continuación:

       EPERM  El UID efectivo no coincide con el propietario del fichero, o no
              es cero.

       EROFS  El fichero nombrado reside en un sistema  de  ficheros  de  sólo
              lectura.

       EFAULT path apunta fuera del espacio de direcciones accesible.

       ENAMETOOLONG
              path es demasiado largo.

       ENOENT El fichero no existe.

       ENOMEM No hubo suficiente memoria en el núcleo.

       ENOTDIR
              Un componente del camino path no es un directorio.

       EACCES Se   ha  denegado  el  permiso  de  búsqueda  para  uno  de  los
              componentes del camino.

       ELOOP  Se han encontrado  demasiados  enlaces  simbólicos  al  resolver
              path.

       EIO    Ha ocurrido un error de E/S.

       Los errores comunes para fchmod son:

       EBADF  El descriptor de fichero fildes no es válido.

       EROFS  Lea nota anterior.

       EPERM  Lea nota anterior.

       EIO    Lea nota anterior.

CONFORME A

       La  llamada chmod conforma con SVr4, SVID, POSIX, X/OPEN, 4.4BSD.  SVr4
       documenta además las condiciones de error EINTR, ENOLINK  y  EMULTIHOP,
       pero  no ENOMEM.  POSIX.1 no documenta las condiciones de error EFAULT,
       ENOMEM, ELOOP y EIO, ni las macros S_IREAD, S_IWRITE y S_IEXEC.

       La llamada fchmod conforma con 4.4BSD y SVr4.   SVr4  documenta  además
       las condiciones de error EINTR y ENOLINK.  Si se define al menos una de
       la variables _POSIX_MAPPED_FILES o _POSIX_SHARED_MEMORY_OBJECTS,  POSIX
       exige   la   función  fchmod  y  documenta  las  condiciones  de  error
       adicionales ENOSYS y EINVAL, pero no documenta EIO.

VÉASE TAMBIÉN

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