> Linux Reviews > man >

chmod

chmod

cambia los permisos de acceso de ficheros


  1. chmod.1.man
  2. chmod.2.man


1. chmod.1.man

Manpage of CHMOD

CHMOD

Section: User Commands (1)
Updated: Noviembre 1998
Index Return to Main Contents
 

NOMBRE

chmod - cambia los permisos de acceso de ficheros  

SINOPSIS

chmod [opciones] modo fichero...

Opciones de POSIX: [-R]

Opciones de GNU (en la forma más corta): [-cfvR] [--reference=rfile] [--help] [--version] [--]  

DESCRIPCIÓN

chmod cambia los permisos de cada fichero dado según modo, que puede ser o bien una representación simbolica de los cambios a realizar, o bien un número octal que representa el patrón de bits de los nuevos permisos.

El formato de un argumento de cambio de modo simbólico es
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.

Tal argumento es una lista de órdenes de cambio de modo simbólico, separadas por comas. Cada orden de cambio de modo simbólico empieza con cero o más letras del conjunto `ugoa': éstas controlan a qué usuarios se referirán los nuevos permisos del fichero cuyos permisos se van a cambiar: el usuario propietario (u), otros usuarios distintos del propietario pero del mismo grupo que el del fichero (g), otros usuarios que ni son el propietario ni pertenecen al grupo del fichero (o), o todos los usuarios (a). De forma que `a' equivale aquí a `ugo'. Si no se da ninguna de estas letras, el efecto es el mismo que si se hubiera puesto `a', salvo que los bits que están activos en la máscara umask no se ven afectados.

El operador `+' hace que los permisos seleccionados se añadan a los ya existentes en cada fichero; `-' hace que se quiten de los que ya había; y `=' hace que sean los únicos que el fichero va a tener.

Las letras `rwxXstugo' seleccionan los nuevos permisos para los usuarios afectados: lectura (r), escritura o modificación (w), ejecución (para un fichero ejecutable) o permiso de paso (para directorios) (x), ejecución solamente si el fichero es un directorio o ya tiene permiso de ejecución para algún usuario (X), activar el bit SUID o SGID para ejecución (s), activar el bit "pegajoso" o STI (t), los permisos que el usuario propietario del fichero ya tiene (u), los que otros usuarios del grupo del fichero, pero no el propietario, ya tienen (g) y los que otros usuarios distintos de los anteriores ya tienen (o). (Así, `chmod g-s fichero' quita el bit SGID (establecer el identificador de grupo), `chmod ug+s fichero' activa los bits SUID y SGID, pero en cambio `chmod o+s fichero' no hace nada.)

El `bit pegajoso' no está descrito por POSIX. El nombre deriva del significado original: mantener el texto del programa en el dispositivo de intercambio (swap). Esto es un juego de palabras entre `pegajoso', en inglés STIcky, y STI, por Save Text Image (N. del T.).

Hoy día, cuando se aplica a un directorio, significa que solamente el propietario del fichero y el propietario de ese directorio pueden borrar el fichero de dicho directorio. (Esto se emplea comúnmente en directorios como /tmp que tienen permiso de escritura general.)

Un modo numérico está compuesto de 1 a 4 dígitos octales (0-7), formados mediante adición de los bits de valores 4, 2 y 1. Los dígitos que falten se toman como ceros iniciales. El primer dígito selecciona los atributos SUID (4), SGID (2) y STI [`sticky'] (1). El segundo selecciona los permisos para el usuario propietario del fichero: lectura (4), escritura (2) y ejecución (1); el tercero, los permisos para otros usuarios del mismo grupo que el fichero, pero no el propietario, con los mismos valores que antes; y por último, el cuarto dígito selecciona los permisos para los otros usuarios que no son ni el propietario ni están en el mismo grupo que el fichero, con los mismos valores de nuevo.

chmod nunca cambia los permisos de enlaces simbólicos; la llamada al sistema chmod(2) no puede cambiar sus permisos. Esto no es un problema puesto que los permisos de los enlaces simbólicos nunca se usan. Sin embargo, para cada enlace simbólico puesto en la línea de órdenes, chmod cambia los permisos del fichero al cual apunta. En cambio, chmod hace caso omiso de los enlaces simbólicos que encuentre durante el recorrido recursivo de directorios.  

OPCIONES DE POSIX

-R
Cambia recursivamente los permisos de directorios y sus contenidos.
 

OPCIONES DE GNU

-c, --changes
Muestra un mensaje mencionando solamente aquellos ficheros cuyos permisos cambian realmente.
-f, --silent, --quiet
No muestra mensajes de error sobre ficheros cuyos permisos no se pueden cambiar.
-v, --verbose
Describe prolijamente la acción efectuada o no para cada fichero.
-R, --recursive
Cambia recursivamente los permisos de directorios y sus contenidos.
 

OPCIONES ESTÁNDARES DE GNU

--help
Muestra un mensaje en la salida estándar sobre el modo de empleo y acaba con código de éxito.
--version
Muestra en la salida estándar información sobre la versión y luego acaba con código de éxito.
--
Termina la lista de opciones.
--reference=rfile
(Nueva en fileutils 4.0.) Cambia el modo de file al del fichero rfile.
 

ENTORNO

Las variables LANG, LC_ALL, LC_CTYPE y LC_MESSAGES tienen los significados usuales.  

CONFORME A

POSIX 1003.2 sólo requiere la opción -R. El empleo de otras opciones puede no ser transportable. Este estándar no describe el bit de permiso `t'. Este estándar no especifica si chmod debe preservar la consistencia desactivando o rehusando activar los bits SUID y SGID, p. ej., cuando se ponen a cero todos los bits de ejecución, o si chmod debe hacer caso al bit `s' en absoluto.  

MODOS NO ESTÁNDARES

Arriba describimos el empleo del bit `t' en directorios. Varios sistemas adjudican significados especiales a combinaciones de bits de modo, que de otra forma no tendrían sentido. En particular, Linux, siguiendo las directrices de System V (consulte la Definición de Interfaz System V (SVID) versión 3), deja que el bit SGID para ficheros sin permiso de ejecución para el grupo marque el fichero para bloqueo ("candado") obligatorio. Para más detalles, vea el fichero /usr/src/linux/Documentation/mandatory.txt.  

OBSERVACIONES

Esta página describe chmod según se encuentra en el paquete fileutils-4.0; otras versiones pueden diferir un poco. Envíe por correo electrónico correcciones y adiciones a la dirección aeb@cwi.nl. Informe de fallos en el programa a fileutils-bugs@gnu.ai.mit.edu.


 

Index

NOMBRE
SINOPSIS
DESCRIPCIÓN
OPCIONES DE POSIX
OPCIONES DE GNU
OPCIONES ESTÁNDARES DE GNU
ENTORNO
CONFORME A
MODOS NO ESTÁNDARES
OBSERVACIONES

This document was created by man2html using the manual pages.
Time: 17:10:55 GMT, January 19, 2012

2. chmod.2.man

Manpage of CHMOD

CHMOD

Section: Manual del Programador de Linux (2)
Updated: 10 diciembre 1997
Index Return to Main Contents
 

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)


 

Index

NOMBRE
SINOPSIS
DESCRIPCIÓN
VALOR DEVUELTO
ERRORES
CONFORME A
VÉASE TAMBIÉN

This document was created by man2html using the manual pages.
Time: 17:10:55 GMT, January 19, 2012

SVENSKA - cs - da - SVENSKA - SVENSKA - ja - nl - pl - ro - SVENSKA