Calcolatore umask
Con umask 022 i nuovi file ricevono 644 (rw-r--r--) e le nuove cartelle 755 (rwxr-xr-x): inserisca qualsiasi umask per vedere i permessi predefiniti che produce, in ottale e in lettere, prima di modificare un profilo della shell o un'immagine di container. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Umask
- 022
- Umask in ottale
- 022
- Umask numerico
- 18
- Umask simbolico
- ----w--w-
- Base del file in ottale
- 666
Ogni processo di tipo Unix porta un umask che definisce in silenzio i permessi di ogni nuovo file e directory che crea. Il kernel parte da una modalità base —di solito 0666 per i file ordinari e 0777 per le directory— e spegne ogni bit impostato nell'umask, così la maschera sottrae bit di permesso invece di aggiungerli. Sviluppatori, SRE e studenti spesso devono rispondere a una domanda semplice prima di modificare profili shell o immagini di container: se l'umask è 022, 002 o 077, quali modalità riceveranno davvero i file e le cartelle appena creati? Questo calcolatore da umask a permessi accetta quella maschera come da una a quattro cifre ottali, applica la formula classica modalità uguale a base AND bit a bit con il complemento dell'umask e restituisce le forme ottale, simbolica rwx e numerica sia per il percorso file sia per quello directory.
Come l'umask sottrae bit dalle modalità base di creazione
Quando un programma crea un file regolare, il sistema operativo propone la modalità base 0666, cioè lettura e scrittura per proprietario, gruppo e altri, senza bit di esecuzione. Quando crea una directory, la base è 0777 affinché di default si possa entrare e elencare. Prima di fissare quei bit, il kernel calcola base AND bit a bit con il complemento dell'umask del processo.
Ogni bit a uno nell'umask viene forzato a zero nel risultato; i bit a zero nell'umask restano esattamente come nella base. Per questo un umask 022 trasforma la base file 0666 in 0644 e la base directory 0777 in 0755: i bit di scrittura di gruppo e altri vengono azzerati, il proprietario mantiene pieni diritti e i bit di esecuzione sulle directory restano disponibili per tutti. Un umask più stretto 077 elimina del tutto gruppo e altri, producendo file 0600 e directory 0700.
Un umask rilassato 002 azzera solo la scrittura degli altri, producendo file 0664 e directory 0775 adatti ad alberi di progetto condivisi multiutente. Comprendere questo modello sottrattivo evita l'errore comune di trattare l'umask come una modalità target che Lei imposta direttamente; l'umask non concede mai bit extra oltre la base e non inventa mai bit di esecuzione sui file ordinari perché quei bit non erano presenti in 0666.
Dove un calcolatore di permessi umask crea valore
Autori di container e immagini fissano un umask in Dockerfile o script di entrypoint e hanno bisogno di un secondo parere che le modalità predefinite risultanti corrispondano alle note di revisione di sicurezza prima del rilascio. Workstation Linux condivise e agenti CI documentano un umask di casa affinché gli artefatti arrivino come 644/755 e non con scrittura mondiale; questo strumento trasforma quella cifra di policy in modalità esplicite per runbook e pagine di onboarding.
Laboratori didattici sui permessi POSIX abbinano la lezione sull'umask a una conversione dal vivo così gli studenti vedono perché 022 è il valore interattivo abituale e perché si preferisce 077 per gli alberi home privati. Checklist di sicurezza che vietano segreti scrivibili dal gruppo possono calcolare la maschera più stretta che consenta ancora la collaborazione prevista senza contare a mano le colonne rwx.
Mantenga la richiesta come stringa ottale breve, fissi nei test i campi ottale e simbolico e otterrà un oracolo stabile per documentazione, plugin LMS e generatori di infrastructure as code senza montare un suite completo di gestione dei permessi.
Casi d'uso
Note di hardening di container e immagini
Converta un umask di Dockerfile nelle modalità predefinite esatte di file e directory che i revisori si aspettano prima del merge.
Policy di workstation condivisa e CI
Documenti l'umask di casa 022 o 002 come valori predefiniti concreti 644/755 o 664/775 per i nuovi artefatti.
Aula POSIX e preparazione agli esami
Consenta agli studenti di inserire un umask e verificare i risultati file rispetto a directory secondo la regola base AND NOT della maschera.
Domande frequenti
Come converto un umask in permessi predefiniti?
Invii umask come cifre ottali, ad esempio 022.
Perché i nuovi file non sono 777 quando l'umask è 000?
I file regolari partono dalla base 0666, non 0777, quindi anche un umask zero produce 666 per i file e 777 per le directory. I bit di esecuzione non vengono mai inventati sui file ordinari.
Quali formati di umask sono accettati?
Una stringa di una a quattro cifre ottali (0–7), opzionalmente con prefisso 0o.
Quali permessi dà un umask 077?
Permessi privati. Toglie tutti i bit al gruppo e agli altri, quindi i nuovi file nascono come 0600 e le directory come 0700: solo il proprietario può leggerli, scriverli o entrarci.
Quale umask conviene per una cartella di progetto condivisa?
Un umask 002 toglie solo la scrittura agli altri, quindi i file nascono come 0664 e le directory come 0775. I membri del gruppo possono modificare il lavoro reciproco, mentre gli altri possono solo leggere.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/umask-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"umask":"022"}'const res = await fetch("https://api.kit.forhosting.com/dev/umask-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"umask": "022"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/umask-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"umask": "022"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/umask-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"umask":"022"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"umask":"022"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/umask-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"umask": "022"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.umask_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Contratto di input, campi di risposta e regole di validazione
I nove bit di permesso sono l'ambito di questa capacità: le maschere con bit speciali oltre 0777 vengono rifiutate anziché troncate in silenzio. Una stringa formula riafferma modalità uguale a base AND NOT umask con le due basi nominate così i client possono mostrare l'identità accanto ai numeri. Esempio: umask 022 produce modalità file 644 (rw-r--r--) e directory 755 (rwxr-xr-x). Invii un corpo JSON con un solo campo obbligatorio, umask, come stringa di una a quattro cifre ottali come 022, 0022, 77 o 0. In caso di successo la risposta restituisce umask_octal normalizzato a tre cifre, il valore decimale umask_numeric e umask_symbolic come stringa rwx di nove caratteri che mostra quali bit porta la maschera stessa. Campi paralleli descrivono il percorso file —file_base_octal fisso a 666, file_mode_octal, file_mode_symbolic e file_mode_numeric— e il percorso directory con dir_base_octal fisso a 777 più i campi di modalità corrispondenti. L'endpoint non chiama mai chmod, non legge lo stato del processo e non inventa semantica ACL o sticky bit; è aritmetica pura su una maschera breve, così ogni chiamata riuscita è riproducibile su Node, sul percorso gratuito del browser e su edge worker.
Dove un calcolatore di permessi umask crea valore
Poiché l'implementazione è parse puro di tier A, ogni chiamata API riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita, mentre l'input non valido non viene addebitato.
Domande tecniche
Questo modifica l'umask della mia shell o del server?
No. Calcola solo le modalità risultanti. Non chiama mai umask(2), chmod né alcuna API del filesystem.
Quanto costa il calcolatore umask?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.