Existe-t-il un convertisseur basé sur le Web entre rwx et la version octale?


27

Je ne me souviens jamais ce que la conversion est de quelque chose comme rw-r--r--à 644. Existe-t-il un simple convertisseur basé sur le Web entre les 2?


C'est juste un nombre octal avec les chiffres binaires mappés sur rwxrwxrwx (utilisateur, groupe, autre).
— Keith

cela peut facilement être calculé à la main. ou ils peuvent être affichés par stat -c...
— fromnaboo

Réponses:


26

Ce site fournit un moyen interactif de voir quels bits d'autorisations sont définis lorsque divers bits sont définis / non définis.

La "calculatrice" ressemble à ceci:

  SS # 1


5
Je l'ai obtenu par Googling pour "l'outil d'autorisation des fichiers octaux", soit dit en passant. Google est toujours un excellent premier endroit pour vérifier quand vous avez une question.
— J.Taylor

2
Pst, j'ai essayé de chercher, mais je n'ai pas trouvé le bon terme de recherche. Désolé de vous déranger tellement ... et de vous donner un représentant.
— Darryl Hein

3
Darryl - Tu ne m'as pas dérangé. J'essaie de vous aider à trouver plus facilement les réponses aux questions, afin que le moment venu où vous avez une question à laquelle personne ne veut répondre pour vous, vous puissiez y répondre vous-même.
— J. Taylor

3
Le lien est rompu maintenant, c'est pourquoi nous déconseillons généralement les réponses liées uniquement aux liens, mais il est difficile de critiquer quand la question demandait un lien
— Michael Mrozek

3
Le lien n'est plus rompu.

11

Pourquoi avez-vous besoin du nombre octal en premier lieu?

J'utilise toujours:

chmod o+x file   # all + eXecute permissions
chmod g-w file   # group - write perms
chmod u=r file   # user can just read
chmod ug=rw file # user,group = read and write
chmod a+w file   # user,group,others + write 

ugo (a) est facile à retenir. Cependant, vous pouvez confondre o: = propriétaire? o: = autre? mais que serait u, si o = propriétaire? u: = utilisateur, donc o = autre.

Certaines commandes comme les autorisations numériques uniquement. D'accord, ce n'est pas difficile à calculer, si vous vous souvenez des deux séquences: ugo + rwx.

    r   w   x  | Sum
u   4   2   1  | 7
g   4   -   1  |  5
o   4   2   -  |   6
---------------------
                 756

Oui, très artificiel.

En ce qui concerne s et SI, il faut consulter le manuel. Peut-être Google la prochaine fois. :)


8

Octal est utilisé pour les autorisations car c'est une conversion facile . Chaque groupe rwxforme un chiffre octal. Tout ce dont vous devez vous souvenir est les 3 premiers pouvoirs de 2: 4, 2, 1. r= 4, w= 2, x= 1.

rw-r--r--= 110 100 100= 4+2+0 4+0+0 4+0+0=644


5

J'aime ce calculateur d'autorisations:
http://file-permissions.ninja


Normalement, je signalerais cela comme étant une réponse uniquement liée à un lien, mais comme le PO demandait explicitement un site Web, je le laisserai passer. Sachez cependant que les réponses liées uniquement aux liens sont souvent déconseillées.
— HalosGhost

Ce site ne semble pas fonctionner actuellement. Je vois des erreurs "403" dans la console.
— Ryan

4

C'est de loin le plus pratique, et c'est d'ailleurs, je crois, exactement ce que vous aviez demandé à l'origine:

http://ss64.com/osx/chmod.html

Il est entièrement interactif, bien que vous ne puissiez pas éditer la chaîne "-rx -------" mais vous pouvez octal ou les cases à cocher. Faire l'un met à jour l'autre.

Mon outil préféré pour ça

De la même page:

Mode numérique (absolu):

De un à quatre chiffres octaux Tous les chiffres omis sont supposés être des zéros non significatifs.

Le premier chiffre = sélectionne les attributs pour l'ID utilisateur défini (4) et l'ID groupe défini (2) et enregistre l'image texte (1) Le deuxième chiffre = les autorisations pour l'utilisateur propriétaire du fichier: lecture (4), écriture (2) et exécutez (1) Le troisième chiffre = autorisations pour les autres utilisateurs du groupe du fichier: lecture (4), écriture (2) et exécution (1) Le quatrième chiffre = autorisations pour les autres utilisateurs NON dans le groupe du fichier: lecture ( 4), écrivez (2) et exécutez (1)

La valeur octale (0-7) est calculée en additionnant les valeurs pour chaque chiffre Utilisateur (rwx) = 4 + 2 + 1 = 7 Groupe (rx) = 4 + 1 = 5 Monde (rx) = 4 + 1 = 5 mode chmod = 0755


4

J'ai ce petit alias que vous pouvez mettre dans votre .bashrc (ou équivalent).

AVERTISSEMENT: Je ne suis pas l'auteur du script, et je ne sais pas qui l'a écrit ... mais des accessoires pour lui pour cela.

alias lsp="ls -l --color | 
      awk '{k=0; for(i=0;i<=8;i++) k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));
      if (k) printf(\" %0o \",k); print}'"

1
Merci beaucoup pour cela, @nico - voici le même code converti en perl one-liner, et utilisé dans bash: echo 'rwxrwxrw-' | perl -ne 'BEGIN{sub conv{ chomp(my $ins=shift); my $k=0; for(my $i=0;$i<=8;$i++) { my $tmps = ( substr($ins, $i, 1) =~ /[rwx]/ ); $k+= ( $tmps*(2**(8-$i)) ); }; if ($k) { sprintf(" %0o ", $k); } else { "??" ; }; }; } print(conv($_)."\n");'imprimerait " 776". À votre santé!
— sdaau
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.