GNU/Linux >> Linux Esercitazione >  >> Linux

Valore di autorizzazione os.MkDir e os.MkDirAll?

Puoi usare direttamente la notazione ottale:

os.Mkdir("dirname", 0700)


Bit di autorizzazione

+-----+---+--------------------------+
| rwx | 7 | Read, write and execute  |
| rw- | 6 | Read, write              |
| r-x | 5 | Read, and execute        |
| r-- | 4 | Read,                    |
| -wx | 3 | Write and execute        |
| -w- | 2 | Write                    |
| --x | 1 | Execute                  |
| --- | 0 | no permissions           |
+------------------------------------+

+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------  | 0700 | User  |
| ---rwx---  | 0070 | Group |
| ------rwx  | 0007 | Other |
+------------+------+-------+

Un manuale di autorizzazione Unix


Usi comuni delle autorizzazioni

0755 Comunemente utilizzato sui server web. Il proprietario può leggere, scrivere, eseguire. Tutti gli altri possono leggere ed eseguire ma non modificare il file.

0777 Tutti possono leggere scrivere ed eseguire. Su un server Web, non è consigliabile utilizzare l'autorizzazione "777" per file e cartelle, poiché consente a chiunque di aggiungere codice dannoso al server.

0644 Solo il proprietario può leggere e scrivere. Tutti gli altri sanno solo leggere. Nessuno può eseguire il file.

0655 Solo il proprietario può leggere e scrivere, ma non eseguire il file. Tutti gli altri possono leggere ed eseguire, ma non possono modificare il file.

www.maketecheasier.com/file-permissions-what-does-chmod-777-means/


Autorizzazioni directory su Linux

Quando si applicano le autorizzazioni alle directory su Linux, i bit di autorizzazione hanno significati diversi rispetto ai file normali. (fonte)

Leggi bit L'utente può leggere i nomi dei file contenuti nella directory.
Scrivi bit L'utente può {aggiungere, rinominare, eliminare} i nomi dei file SE è impostato anche il bit di esecuzione.
Esegui bit L'utente può entrare nella directory e accedere ai file all'interno.

https://unix.stackexchange.com/a/21252

Calcolatore di autorizzazioni

Un pratico calcolatore di permessi.


L'affermazione di @Daniel nella sua risposta non è propriamente corretta, inoltre parla di un numero decimale e poi ne usa uno ottale, come ha correttamente sottolineato @SashaCrofter nel suo commento.

In realtà, non importa quale forma il tuo valore di autorizzazione è in fintanto che rappresenta le autorizzazioni Unix sensibili.

Poiché i bit di autorizzazione sui file system POSIX sono disponibili in triple di bit — tre bit per l'accesso del proprietario, del gruppo e di altri, più tre bit di modificatori (come gli sticky bit), — è consuetudine utilizzare numeri ottali per rappresentare le autorizzazioni come ogni cifra in un numero ottale rappresenta un valore di tre bit.

Quindi, quando usi 0700 nel codice Go, lo 0 iniziale viene rimosso ed è lì solo per dire al parser che vede un numero ottale letterale, e le tre lettere seguenti rappresentano il proprietario, il gruppo e altri permessi, in questo ordine. Se, ad esempio, desideri impostare anche lo sticky bit di gruppo oltre a rendere l'oggetto del file system leggibile ed eseguibile dal gruppo, dovresti specificare 02750 e così via.

Si noti che i permessi effettivi acquisiti dall'oggetto file system sono ulteriormente modulati dal umask attivo del processo che crea l'oggetto.

Per avere più presa su questi argomenti, è meglio leggere il chmod pagine di manuale e letteratura generale sui sistemi operativi simili a Unix.


Puoi reimpostare l'umask su 0. Lo definirei come la prima cosa nel mio file principale

syscall.Umask(0)

Esempio

_ = os.MkdirAll("/tmp/dirs/1", 0664)
syscall.Umask(0)
_ = os.MkdirAll("/tmp/dirs/2", 0664)

Risultato

/tmp/dirs$ stat -c '%A %a %n' *
drw-r--r-- 644 1
drw-rw-r-- 664 2

Linux
  1. Introduzione al comando Linux chmod

  2. Tput:nessun valore per $term e nessun -t specificato?

  3. Che cos'è SUID, SGID e Sticky bit?

  4. Esempi di comandi mkdir e rmdir in Linux

  5. Come creare una directory e dare il permesso in un singolo comando

4 Suggerimenti utili sui comandi mkdir, tar e kill in Linux

Cosa significa null in Linux e nell'informatica

Clinews:leggi le notizie e gli ultimi titoli dalla riga di comando

Un ragazzo di Windows in un mondo Linux:utenti e autorizzazioni di file

Journalctl:come leggere e modificare i log di Systemd

Cosa fa il permesso di esecuzione?