🛠️ToolsShed

Calculadora Chmod

Calcula permisos de archivos Unix. Convierte entre notación octal y simbólica rwx.

Lectura (r)Escritura (w)Ejecución (x)OctalSimbólico
Propietario6rw-
Grupo4r--
Otros4r--

Octal

644

Simbólico

rw-r--r--

Comando chmod

chmod 644 filename

La calculadora Chmod te ayuda a entender y generar configuraciones de permisos de archivos Unix/Linux. En sistemas basados en Unix, cada archivo y directorio tiene un conjunto de bits de permiso que controlan quién puede leer, escribir o ejecutarlo — para el propietario, el grupo y todos los demás. El comando `chmod` establece estos permisos usando notación simbólica (rwx) o números octales (por ejemplo, 755).

Activa las casillas de lectura, escritura y ejecución para las columnas Propietario, Grupo y Otros, y la herramienta calcula automáticamente el valor octal equivalente y la cadena simbólica. Por el contrario, introduce un valor octal como 644 y la herramienta muestra qué permisos están habilitados para cada clase de usuario.

Los patrones de permisos comunes incluyen 755, 644 y 600, útiles para directorios, archivos web y claves SSH privadas respectivamente.

Preguntas Frecuentes

Implementación de Código

import os
import stat

# Set permissions using octal notation
os.chmod('script.sh', 0o755)   # rwxr-xr-x (owner: rwx, group: r-x, others: r-x)
os.chmod('data.txt', 0o644)    # rw-r--r-- (owner: rw-, group: r--, others: r--)
os.chmod('private.key', 0o600) # rw------- (owner: rw-, no access for others)

# Read current permissions
file_stat = os.stat('script.sh')
mode = file_stat.st_mode
print(oct(stat.S_IMODE(mode)))  # e.g. '0o755'

# Check specific permissions using stat constants
is_owner_executable = bool(mode & stat.S_IXUSR)
is_group_readable   = bool(mode & stat.S_IRGRP)
is_others_writable  = bool(mode & stat.S_IWOTH)
print(f"Owner executable: {is_owner_executable}")

# Build permissions programmatically
perms = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH  # 644
os.chmod('config.ini', perms)

# Recursively set permissions on a directory tree
import pathlib
for path in pathlib.Path('/var/www/html').rglob('*'):
    if path.is_dir():
        os.chmod(path, 0o755)
    else:
        os.chmod(path, 0o644)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.