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?

Darryl Hein
la source
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

J. Taylor
la source
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. :)

Utilisateur inconnu
la source
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

cjm
la source
5

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

bob
la source
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

Jasty
la source
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}'"
Nico
la source
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