Comando chmod (administrar permisos en Linux)

Foro sobre GNU Linux
gbeltran
Mensajes: 192
Registrado: 13 May 2023, 01:15
Ubicación: Valencia - España
Contactar:

Comando chmod (administrar permisos en Linux)

Mensaje por gbeltran »

NOTA: Apuntes para pasar al Wiki de Puntocomunica... El artículo que me parece más sencillo y explicativo es este: - Comando ‘chmod’ en Linux: Control de permisos en archivos y directorios: https://infolinux.es/comando-chmod-en-l ... rectorios/

Qué es chmod:
Imagina que eres el dueño de una casa (el sistema de archivos en Linux) y tienes varias habitaciones (archivos y directorios). Cada habitación tiene una cerradura con tres llaves diferentes: una para ti (el propietario), otra para los miembros de tu familia (el grupo) y la última para los invitados (otros).

El comando `chmod` en Linux es como cambiar las cerraduras de las puertas de estas habitaciones. Te permite controlar quién puede entrar (leer), quién puede hacer cambios (escribir) y quién puede pasar a otras habitaciones (ejecutar).

Un ejemplo de cómo se usa:

Código: Seleccionar todo

chmod 754 mi_archivo
En este caso, `7` (que se traduce en permisos de lectura, escritura y ejecución) es para el propietario, `5` (lectura y ejecución) es para el grupo y `4` (solo lectura) es para otros.

La ayuda de chmod:

Código: Seleccionar todo

usuario:~$ chmod --help
Modo de empleo: chmod [OPCIÓN]... MODO[,MODO]... FICHERO...
       o bien:  chmod [OPCIÓN]... MODO-OCTAL FICHERO...
       o bien:  chmod [OPCIÓN]... --reference=FICHERO-R FICHERO...
Cambia el modo de cada FICHERO a MODO.
Con --reference, cambia el modo de cada FICHERO al de FICHERO-R.
  -c, --changes          como `verbose' pero informa sólo de los cambios
  -f, --silent, --quiet  suprime la mayoría de los mensajes de error
  -v, --verbose          muestra un mensaje por cada fichero procesado
      --no-preserve-root  no trata '/' de forma especial (predeterminado)
      --preserve-root     no opera recursivamente sobre '/'
      --reference=FICH_R  utiliza el modo de FICH_R en lugar del valor MODO
  -R, --recursive        cambia ficheros y directorios recursivamente
      --help        display this help and exit
      --version     output version information and exit

Cada MODO es de la forma '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

ayuda en línea sobre GNU coreutils: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/chmod>
or available locally via: info '(coreutils) chmod invocation'
Operadores de chmod:

+ es el operador que usas para agregar un permiso a los que el archivo ya tiene
- remueve un permiso de la lista
El operador = reinicia los permisos, así puedes definirlos nuevamente

r: permiso de lectura
w:permiso de escritura

Ejemplos de uso:
Dar permisos de escritura al propietario:

Código: Seleccionar todo

chmod u+x TuArchivo
Dar permisos de escritura al usuario y al grupo:

Código: Seleccionar todo

chmod ug+x TuArchivo
Dar permisos de lectura, escritura y ejecución al propietario:

Código: Seleccionar todo

chmod u+rwx TuArchivo
Dar permisos de lectura y ejecución a todos los usuarios:

Código: Seleccionar todo

chmod a+rx TuArchivo
Quitar permisos de escritura al grupo:

Código: Seleccionar todo

chmod g-w TuArchivo
Establecer permisos específicos usando notación octal (lectura=4, escritura=2, ejecución=1). Por ejemplo, para dar permisos de lectura y escritura al propietario, lectura al grupo y ninguno a los demás:

Código: Seleccionar todo

chmod 640 TuArchivo
Enlaces útiles:
- Artículo sobre el comando chmod, para cambiar permisos en archivos y directorios deLinux: https://www.freecodecamp.org/espanol/ne ... -en-linux/
- También puedes acceder al artículo en inglés: https://www.freecodecamp.org/news/how-t ... -on-linux/
- Comando ‘chmod’ en Linux: Control de permisos en archivos y directorios: https://infolinux.es/comando-chmod-en-l ... rectorios/
Responder