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.