Permisos
Permisos en Linux
Section titled “Permisos en Linux”Temario
Section titled “Temario”1. Concepto básico de permisos
Section titled “1. Concepto básico de permisos”Cada archivo o carpeta tiene 3 tipos de permisos y 3 categorías de usuarios:
Tipos de permisos
Section titled “Tipos de permisos”Categorías
Section titled “Categorías”2. Ver permisos
Section titled “2. Ver permisos”ls -lEjemplo:
-rwxr-xr-- 1 francisco users 1234 oct 21 script.shSignificado:
- rwx → usuario
- r-x → grupo
- r— → otros
- francisco → dueño
- users → grupo
3. Cambiar permisos (chmod)
Section titled “3. Cambiar permisos (chmod)”a) Modo simbólico
Section titled “a) Modo simbólico”chmod u+x script.sh # añadir ejecución al usuariochmod g-w script.sh # quitar escritura al grupochmod o=r file.txt # solo lectura para otroschmod a+r file.txt # todos pueden leerb) Modo numérico
Section titled “b) Modo numérico”chmod 755 script.sh4. Cambiar dueño o grupo (chown, chgrp)
Section titled “4. Cambiar dueño o grupo (chown, chgrp)”chown usuario archivochgrp grupo archivochown usuario:grupo archivoEjemplo:
sudo chown francisco:users script.sh5. Permisos especiales
Section titled “5. Permisos especiales”Existen tres permisos especiales en Linux:
Sticky Bit
Section titled “Sticky Bit”El sticky bit se usa en directorios para evitar que otros borren archivos ajenos.
chmod +t /tmp/publico# o modo numéricochmod 1777 /tmp/publicoVer resultado:
ls -ld /tmp/publicodrwxrwxrwt 9 root root 4096 oct 21 09:00 /tmp/publicodrwxrwxrwt → el “t” final indica el sticky bit activo.
Ejemplo típico: El directorio /tmp siempre lo tiene activado.
SUID y SGID
Section titled “SUID y SGID”SUID
Ejemplo: ```bash ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 54256 oct 21 /usr/bin/passwd ```- La s en lugar de la x del usuario indica SUID activo.
- Permite ejecutar con permisos del dueño del archivo (en este caso, root).
Activar o desactivar manualmente:
chmod u+s archivo # activarchmod u-s archivo # desactivarSGID
En ejecutables: ```bash chmod g+s archivo ```En directorios:
chmod g+s carpeta/Efecto:
Los nuevos archivos heredan el grupo del directorio, útil para carpetas compartidas.---
6. Atributos de archivos (chattr, lsattr)
Section titled “6. Atributos de archivos (chattr, lsattr)”Los atributos controlan cómo se comporta un archivo, más allá de los permisos.
Ver atributos
Section titled “Ver atributos”lsattr archivoEjemplo:
----i--------e----- documento.txtCambiar atributos (chattr)
Section titled “Cambiar atributos (chattr)”Hacer un archivo inmutable:
sudo chattr +i archivo.txtSolo root puede revertirlo:
sudo chattr -i archivo.txtModo append-only (solo añadir contenido):
sudo chattr +a log.txtAtributos comunes
Section titled “Atributos comunes”Ejemplo práctico en script Bash
Section titled “Ejemplo práctico en script Bash”#!/bin/bash# Proteger archivos del sistemaARCHIVOS=("/etc/passwd" "/etc/shadow" "/etc/fstab")
for f in "$(ARCHIVOS[@])"; doif [ -f "$f" ]; thensudo chattr +i "$f"echo "Protegido: $f"fidone
lsattr "$(ARCHIVOS[@])"