Vous pouvez utiliser directement la notation octale :
os.Mkdir("dirname", 0700)
Bits d'autorisation
+-----+---+--------------------------+
| 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 |
+------------+------+-------+
Une introduction aux autorisations Unix
Utilisations courantes des autorisations
0755 Couramment utilisé sur les serveurs Web. Le propriétaire peut lire, écrire, exécuter. Tout le monde peut lire et exécuter mais pas modifier le fichier.
0777 Tout le monde peut lire, écrire et exécuter. Sur un serveur Web, il n'est pas conseillé d'utiliser l'autorisation "777" pour vos fichiers et dossiers, car cela permet à quiconque d'ajouter du code malveillant sur votre serveur.
0644 Seul le propriétaire sait lire et écrire. Tous les autres ne savent que lire. Personne ne peut exécuter le fichier.
0655 Seul le propriétaire peut lire et écrire, mais pas exécuter le fichier. Tout le monde peut lire et exécuter, mais ne peut pas modifier le fichier.
www.maketecheasier.com/file-permissions-what-does-chmod-777-means/
Autorisations de répertoire sous Linux
Lors de l'application d'autorisations à des répertoires sous Linux, les bits d'autorisation ont des significations différentes de celles des fichiers normaux. (source)
Lire le bit L'utilisateur peut lire les noms de fichiers contenus dans le répertoire.
Bit d'écriture L'utilisateur peut {ajouter, renommer, supprimer} des noms de fichiers SI le bit d'exécution est également défini.
Exécuter le bit L'utilisateur peut entrer dans le répertoire et accéder aux fichiers qu'il contient.
https://unix.stackexchange.com/a/21252
Calculateur d'autorisations
Un calculateur d'autorisations pratique.
La déclaration de @ Daniel dans sa réponse n'est pas vraiment correcte, et elle parle également d'un nombre décimal puis utilise un nombre octal, comme @SashaCrofter l'a correctement souligné dans son commentaire.
En réalité, peu importe la forme votre valeur d'autorisation est dans tant qu'elle représente des autorisations Unix sensibles.
Étant donné que les bits d'autorisation sur les systèmes de fichiers POSIX se présentent en triplets de bits - trois bits pour l'accès du propriétaire, du groupe et des autres, plus trois bits de modificateurs (tels que les bits collants), - il est habituel d'utiliser des nombres octaux pour représenter les autorisations comme chaque chiffre dans un nombre octal représente une valeur de trois bits.
Par conséquent, lorsque vous utilisez 0700 dans le code Go, le 0 initial est supprimé et n'est là que pour indiquer à l'analyseur qu'il voit un littéral numérique octal, et les trois lettres suivantes représentent le propriétaire, le groupe et les autres autorisations, dans cet ordre. Si, par exemple, vous souhaitez également définir le bit collant de groupe et rendre l'objet du système de fichiers lisible et exécutable par le groupe, vous devez spécifier 02750, etc.
Notez que les autorisations réelles que l'objet du système de fichiers acquiert sont encore modulées par le umask
actif du processus qui crée l'objet.
Pour mieux comprendre ces sujets, il est préférable de lire le chmod
pages de manuel et documentation générale sur les systèmes d'exploitation de type Unix.
Vous pouvez réinitialiser le umask à 0. J'appellerais cela comme la première chose dans mon fichier principal
syscall.Umask(0)
Exemple
_ = os.MkdirAll("/tmp/dirs/1", 0664)
syscall.Umask(0)
_ = os.MkdirAll("/tmp/dirs/2", 0664)
Résultat
/tmp/dirs$ stat -c '%A %a %n' *
drw-r--r-- 644 1
drw-rw-r-- 664 2