Convertir un masque de droits en entier

Résolu
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'aimerai savoir si une commande existe pour convertir une chaine -rw-r--r-- représentant des droits unix en un numérique du type. 555, 575..

Si c'est impossible, comment récupérer via un ls le format numérique des attributions de droits ( 555, 575..)

Cela pour dupliquer à l'identique une recopie sur un autre serveur de l'arborescence d'un dossier.

Merci pour vos réponses et bonne journée.
A voir également:

15 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Avec la commande "stat" :
[tmpfs]$ ls -lh
total 0
-rw-rw-r--  1 jp jp 0 jui 15 10:19 fichier

[tmpfs]$ stat -c "%A %a" fichier
-rw-rw-r-- 664

[tmpfs]$ 
;-))
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Cette commande ne fonctionne pas : stat

Quel script de commande utilise tu (bash, ksh ...) ?

Merci =D
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
J'ai un shell bash, mais je pense que c'est plus un problème de système ;-\

Sur quel système es-tu ?
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
comment puis-je savoir cela de manière exacte ?

Existe il une commande ?

Merci pour ta disponibilité.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Essaie :
cat /etc/{version,issue,release}
dmesg | head -1
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Solaris 8 2/04 s28s_hw4wos_05a SPARC
Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
Assembled 08 January 2004

J'ai trouvé cela dans /etc/release
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Que te renvoie la commande :
whereis stat
???
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
~>whereis stat
ksh: whereis: not found

~>stat
ksh: stat: not found

Désolé.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Regarde dans "/usr/local/bin/" si elle n'y est pas ...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
la commande stat n'existe pas sur Solaris, utiliser perl
$ ls -ln aa cla
-rwxr--r-- 1 1000 1000 228 2009-05-25 13:22 aa
-rwxr-xr-x 1 1000 1000 27 2009-07-02 12:09 cla
$ perl -e ' printf "%o\n" ,(stat($ARGV[0]))[2] & 07777' aa
744
$ perl -e ' printf "%o\n" ,(stat($ARGV[0]))[2] & 07777' cla
755
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
voici le resultat d'un ls :


addr2name.awk gzexe sparcv7
c++ gzip sparcv9
captoinfo hostname sudo
cc iconv tack
clear infocmp tar
cnvhtml.awk infotocap tic
coraenv jar tip
cpp jcf-dump toe
dbhome jv-convert top
etatgclcvs.awk jv-scan tput
etatgclcvs.sh oraenv tset
etatgclcvs.tar perl zcat
g++ reset zcmp
g77 rmic zdiff
gcc rmiregistry zegrep
gccbug sparc-sun-solaris2.8-c++ zfgrep
gcj sparc-sun-solaris2.8-g++ zforce
gcjh sparc-sun-solaris2.8-gcc zgrep
gcov sparc-sun-solaris2.8-gcc-3.4.0 zless
gij sparc-sun-solaris2.8-gcc-3.4.6 zmore
grepjar sparc-sun-solaris2.8-gcj znew
gunzip sparc-sun-solaris2.8-gcjh
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
perl -e ' printf "%o\n" ,(stat($ARGV[0]))[2] & 07777' RightsMaker.sh

Fonctionne a merveille.

-rwxrwxr-x est convertie en 775

Merci à vous 2 pour l'utilisation de stat.

Bonne continuation =D
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Dans le même genre, je cherche comment retrouver le possesseur d'une ressource (fichier ou dossier)

j'ai fait un ls -rtl d'un dossier, avec un cut -d " " -f5 j'ai retrouvé la position mais c'est pas super
car des fois avec le ls des espaces sont ajoutés et ca fait planter la commande.

SI vous pouviez m'aider encore un petit peu.

Encore merci
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
le nombre d'espaces peut varier en fonction de la taille, longueur des noms, etc, essayer
ls -rtl | awk '{print $3}'
0
bossoax Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Impeccable. Merci
0