GNU/Linux >> Tutoriels Linux >  >> Linux

Valeur d'autorisation os.MkDir et os.MkDirAll ?

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

Linux
  1. Howto MySQL :Créer un utilisateur et accorder une autorisation à une base de données

  2. Tput :aucune valeur pour $term et aucun -t spécifié ?

  3. Pourquoi utiliser Install plutôt que Cp et Mkdir ?

  4. Modifier l'autorisation de lecture, d'écriture et d'exécution ?

  5. Exemples de commandes mkdir et rmdir sous Linux

4 conseils utiles sur les commandes mkdir, tar et kill sous Linux

Qu'est-ce que null signifie dans Linux et l'informatique

Clinews - Lisez les nouvelles et les derniers titres de la ligne de commande

Un gars Windows dans un monde Linux :utilisateurs et autorisations de fichiers

Qu'est-ce que SUID, SGID et Sticky bit ?

Journalctl :comment lire et modifier les journaux Systemd