0% encontró este documento útil (0 votos)
78 vistas5 páginas

Chmod

chmod es un comando de Unix que permite asignar permisos de acceso a carpetas y archivos. Existen dos modos para especificar los permisos: el modo octal usa números de tres dígitos del 000 al 777, y el modo carácter usa modificadores como +, - y =. Los permisos controlan el acceso de lectura, escritura y ejecución para el propietario, grupo y otros usuarios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
78 vistas5 páginas

Chmod

chmod es un comando de Unix que permite asignar permisos de acceso a carpetas y archivos. Existen dos modos para especificar los permisos: el modo octal usa números de tres dígitos del 000 al 777, y el modo carácter usa modificadores como +, - y =. Los permisos controlan el acceso de lectura, escritura y ejecución para el propietario, grupo y otros usuarios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

chmod

Ir a la navegaciónIr a la búsqueda
chmod, que significa "cambiar modo" (del inglés: "change mode"), es un comando
asociado con el sistema operativo UNIX (estandarizados en POSIX y otros estándares)
que permite la asignación de permisos de acceso a carpetas o directorios1.

Índice
1 Sintaxis
1.1 Comando
1.2 Llamada al sistema
2 Especificación de permisos
2.1 Permisos básicos
2.2 Clases de usuarios
3 Asignación de permisos en el comando chmod
3.1 Modo octal
3.2 Modo carácter
4 Permisos adicionales
5 Véase también
6 Enlaces externos
7 Referencias
Sintaxis
Comando
Las opciones del comando chmod se especifica del siguiente modo:

$ chmod [modificadores] permisos fichero/directorio


Donde:

modificadores es opcional, y puede tomar los valores:

-f: no visualiza los posibles mensajes de error que puedan ocurrir debido a
conflictos en la asignación de permisos.
-v: lista los ficheros y directorios a los que se les va aplicando el comando a
medida que el mismo se ejecuta
-h:
-R: aplica el comando chmod recursivamente a todos los ficheros y de los
subdirectorios.
-H:
-L:
-P:
-c: igual a -v con excepción que solo lista los ficheros modificados.
-E:
El orden y compatibilidad de los modificadores está dada por:

[-fhv] [-R [-H | -L | -P]] [-c | -E]


Esto significa que f, h y v pueden ser usados todos a la vez, e independientemente
de los valores de los demás modificadores; H, L y P son ignorados salvo que se
especifique explícitamente la opción R

permisos corresponde a uno de los modos que se describen a continuación, y enumera


los tipos de permisos que se brindan a las clases de usuarios.

fichero/directorio fichero o directorio al cual se otorga el permiso

Llamada al sistema
Ejemplo en lenguaje de programación C:

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


int fchmod(int fd, mode_t mode);
mode es un número entero que específica los permisos, como se detallará en el
siguiente ejemplo

Especificación de permisos
Permisos básicos
Existen tres permisos independientes, llamados permisos básicos, que pueden ser
permitidos (estado 1) o denegados (estado 0) a un fichero y/o directorio

r - lectura
w - escritura
x - ejecución
El significado de estos tres permisos se resume en la siguiente tabla:

Permiso Fichero Directorio


Lectura Ver el contenido del fichero. Ver el nombre de los ficheros dentro del
directorio (pero sin poder saber nada más sobre ellos como: el tipo de archivo,
tamaño, propietario, permisos, etc. )
Escritura Modificar o eliminar el fichero. Agregar, eliminar y renombrar
ficheros del directorio
Ejecución Ejecutar el fichero. Recorrer su árbol para acceder ficheros y
subdirectorios, pero no ver los ficheros dentro del directorio (excepto que se le
dé el permiso de lectura)
Clases de usuarios
Los permisos de sistemas UNIX se dividen en cuatro clases, conocidas como usuario,
grupo, otros y todos (con frecuencia abreviado UGOA por sus siglas en inglés).

Por lo tanto, las clases de usuarios a los cuales se les puede asignar los permisos
básicos anteriormente mencionados son:

u – usuario: dueño del fichero o directorio


g – grupo: grupo al que pertenece el fichero
o – otros: todos los demás usuarios que no son el dueño ni del grupo
a – todos: incluye al dueño, al grupo y a otros
Los permisos efectivos aplicados a un determinado usuario en relación con un
fichero se determinan en un orden lógico de precedencia. Por ejemplo, el usuario
propietario del fichero tendrá los permisos efectivos dados a la clase de usuario,
sin importar los asignados a la clase de grupo o a la clase de otros.

Asignación de permisos en el comando chmod


Existen 2 formas o modos de asignar los permisos a los usuarios:

Modo octal
Como resultado de la combinación de los tres tipos de permisos (lectura, escritura
y ejecución), con las tres clases de usuarios (dueño, grupo y otros), se obtiene {\
displaystyle 2^{3}=8}{\displaystyle 2^{3}=8} permisos en total que pueden ser
asignados o denegados de forma independiente.

La base 8 se utiliza habitualmente para que exista un dígito por cada combinación
de permisos (un bit a modo de bandera por cada permiso, con valor 1 o 0 según el
permiso esté concedido o denegado).

Así, las posibles combinaciones se resumen en números octales de tres dígitos del
000 al 777, cada uno de los cuales permite establecer un tipo de permiso distinto a
cada clase de usuario:

El primer dígito establece el tipo de permiso deseado al dueño; el segundo al


grupo; y el tercero al resto de los usuarios.
Número Binario Lectura (r) Escritura (w) Ejecución (x)
0 000
No-Symbol.svg
No-Symbol.svg
No-Symbol.svg
1 001
No-Symbol.svg
No-Symbol.svg
Symbol OK.svg
2 010
No-Symbol.svg
Symbol OK.svg
No-Symbol.svg
3 011
No-Symbol.svg
Symbol OK.svg
Symbol OK.svg
4 100
Symbol OK.svg
No-Symbol.svg
No-Symbol.svg
5 101
Symbol OK.svg
No-Symbol.svg
Symbol OK.svg
6 110
Symbol OK.svg
Symbol OK.svg
No-Symbol.svg
7 111
Symbol OK.svg
Symbol OK.svg
Symbol OK.svg
Por ejemplo:

chmod 766 file.txt # brinda acceso total al dueño


# y lectura y escritura a los demás
chmod 770 file.txt # brinda acceso total al dueño y al grupo
# y elimina todos los permisos a los demás usuarios
chmod 635 file.txt # Permite lectura y escritura al dueño,
# escritura y ejecución al grupo,
# y lectura y ejecución al resto
Modo carácter
Posee 3 modificadores que permiten realizar la tarea:

"+" – añade un modo


"–" – elimina un modo
"=" – específica un modo (sobrescribiendo el modo anterior)
Por ejemplo:

chmod +r arch.txt # agrega permisos de lectura a todos los


# usuarios(solo a algunos elegidos previamente)
chmod u+w arch.txt # agrega permisos de escritura al dueño
chmod –x arch.txt # elimina el permiso de ejecución a todos
# los usuarios
chmod u=rw,go= arch.txt # establece los permisos de lectura y escritura
# al dueño y elimina todos los permisos a
# los demás usuarios
Permisos adicionales
Los sistemas UNIX emplean típicamente tres permisos o modos adicionales. Estos
permisos especiales se asignan a ficheros o directorios en conjunto, no a cada
clase de forma separada (como sucedía con los permisos básicos).

Permiso set user ID, setuid o SUID: cuando un fichero que tiene este permiso
asignado se ejecuta, el proceso resultante asumirá el identificador de usuario
efectivo dado a la clase de usuario. El ejemplo típico es el cambio de una clave de
usuario: ningún usuario debería poder modificar /etc/passwd/ directamente. La única
forma de poder modificarlo debería ser a través del comando correspondiente, que
necesariamente tendrá que tener asignado el setuid. Es decir, el comando
/usr/bin/passwd ejecutado por un usuario se ejecutará como si lo hubiese invocado
el superusuario, para que pueda modificar /etc/passwd.
Permiso set group ID, setgid o SGID: cuando un fichero que tiene este permiso
asignado se ejecuta, el proceso resultante asumirá el identificador de grupo
efectivo dado a la clase de grupo. Cuando el setgid le es asignado a un directorio,
ficheros nuevos y directorios creados debajo de ese directorio heredarán el grupo
de ese directorio, a diferencia del comportamiento por defecto, que es usar el
grupo primario del usuario efectivo al asignar el grupo de ficheros nuevos y
directorios.
Permiso de sticky bit (o menos común, bit pegadizo): El comportamiento típico del
sticky bit en ficheros ejecutables fuerza al núcleo a retener la imagen del proceso
resultante luego de su terminación. Originalmente, esta era una característica para
ahorrar memoria, pero hoy en día, los precios de las memorias han disminuido y
existen mejores técnicas para manejarlo, así que no se lo suele utilizar más para
optimizaciones en ficheros. En un directorio, por el contrario, el sticky bit
(llamado también "Restricted Deletion Flag" o "Bandera de restricción de borrado")
previene que los usuarios renombren, muevan o borren los ficheros que allí se
encuentran, pertenecientes a usuarios otros que ellos mismos, incluso si tienen
permiso de escritura en el directorio. Solo el propietario del directorio y el
superusuario quedan exentos de esto.
Estos tres permisos (especificables de forma independiente), un bit por cada uno de
ellos, permiten 8 combinaciones posibles que se expresan con un dígito en base 8
(del 0 al 7, uno por cada combinación posible) que se antepone al modo de permisos.
Así, el modo se ampliaría ahora del 0000 al 7777.

Por ejemplo:

chmod +t /home # agrega permisos de sticky bit al directorio home


chmod g+s /home/grupo # agrega el setgid al grupo
chmod gu+s /home/grupo # agrega el setuid y el setgid al usuario y al grupo
respectivamente
Véase también
Permisos de acceso a ficheros
chown, el comando para cambiar el propietario de un fichero o directorio en
sistemas tipo Unix.
chgrp, el comando para cambiar el grupo de un fichero o directorio en sistemas tipo
Unix.
cacls, el comando utilizado en Windows NT y sus derivados para modificar la lista
de control de acceso asociada con un fichero o directorio.
attrib
Identificador de usuario
Identificador de grupo
Enlaces externos
chmod(1): cambio de permisos de ficheros y directorios – Comandos generales en el
Manual de Debian
chmod — manual de GNU coreutils (en inglés)
GNU "Setting Permissions" manual — manual de GNU coreutils (en inglés)
File permissions ninja — Calculadora de permisos de archivo en línea
Referencias
«¿Qué es chmod?». IONOS Digitalguide. Consultado el 27 de julio de 2022.
Control de autoridades
Proyectos WikimediaWd Datos: Q310986
Categorías: Programas del estándar UnixSoftware para LinuxSeguridad del sistema
operativoUtilidades Unix SUS2008

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy