🛠️ToolsShed

Calcolatore Chmod

Calcola i permessi dei file Unix. Converti tra notazione ottale e simbolica rwx.

Lettura (r)Scrittura (w)Esecuzione (x)OttaleSimbolico
Proprietario6rw-
Gruppo4r--
Altri4r--

Ottale

644

Simbolico

rw-r--r--

Comando chmod

chmod 644 filename

La calcolatrice Chmod ti aiuta a comprendere e generare impostazioni di autorizzazione dei file Unix/Linux. Nei sistemi basati su Unix, ogni file e directory ha un insieme di bit di autorizzazione che controllano chi può leggerlo, scriverlo o eseguirlo — per il proprietario, il gruppo e tutti gli altri. Il comando `chmod` imposta queste autorizzazioni usando la notazione simbolica (rwx) o numeri ottali (ad esempio, 755).

Attiva le caselle di lettura, scrittura ed esecuzione per le colonne Proprietario, Gruppo e Altri, e lo strumento calcola automaticamente il valore ottale equivalente e la stringa simbolica. Al contrario, inserisci un valore ottale come 644 e lo strumento mostra quali autorizzazioni sono abilitate per ogni classe di utente.

I modelli di autorizzazione comuni includono 755 (directory ed eseguibili), 644 (file web) e 600 (chiavi SSH private).

Domande Frequenti

Implementazione del Codice

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.