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.
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.