Pour les scripts : c'est ici

[quote=“MisterFreez”][quote=“eol”]Sinon, vous ne pensez pas qu’être dans le group netdev devrait être suffisant pour manipuler /sbin/ifup /sbin/ifdown et /sbin/wpa_supplicant?
J’aimerais vraiment pouvoir éviter d’utiliser sudo et root dans un script de gestionnaire de connexion wifi que j’écris.[/quote]
À toi de configurer ta Debian en conséquence :slightly_smiling:
Il suffit de changer le groupe de ses binaires.[/quote]J’ai déjà essayé ça tout à l’heure mais il m’a semblé que ce n’était pas suffisant,
peut-être que je suis passé à coté d’un truc …

[color=#BF0000]Ce fil est pour poster des scripts pas pour les commenter les commentaires seront purement et simplement supprimés à partir de ce message je laisse les messages précédents tels quels.

Si vous voulez conseiller débattre ou améliorer un script merci d’ouvrir un nouveau fil dans programmation ou pause café si c’est juste un débat :wink:[/color]

Salut,

sur Arte+7 on peut visionner certaines des émissions qui sont passés sur Arte
dans la semaine. Un homme de goût a fait un script très pratique qui permet
de les télécharger très simplement. C’est ici.

Il fonctionne parfaitement je viens de le tester.

@ +

Mon premier script utile et pas fait à l’arrache (et en même temps, mon premier post dans T&A qui a sa place dans cette section, et pas dans le support :p)

Pour générer des mots de passe.

#!/bin/bash echo "nombre de mots de passe" read nb echo "longueur des mots de passe" read long M="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&é#'-è_à)°=+$£$ê*µù%!§:/;.,?<>" for i in `seq 1 $nb`; do pass="" for n in `seq 1 $long`; do pass="$pass${M:$(($RANDOM%${#M})):1}" done echo "$pass" done

Moi pour les mots de passe je fais un

Et j’ai un joli mot de passe aléatoire, solide et sans caractère bizarre.

Salut,

[quote=“BBT1”]Moi pour les mots de passe je fais un

Et j’ai un joli mot de passe aléatoire, solide et sans caractère bizarre.[/quote]

C’est même ce que l’on peut lui reprocher si l’on est puriste :slightly_smiling:

[quote=“BBT1”]Moi pour les mots de passe je fais un

Et j’ai un joli mot de passe aléatoire, solide et sans caractère bizarre.[/quote]
très bonne idée mais tu sais que les caractère bizarre c’est très bien pour un mot de passe

de mon point de vue personnel, je met beaucoup plus de temps à chercher un caractère bizarre sur le clavier
que de mettre quelques lettres en plus.

Et un mot de passe de 8 caractères aléatoires est déjà très solide,
donc à 10 caractères le risque est virtuellement nul.

Par contre pour les mots de passe plus courts inventés par l’utilisateur, pourquoi pas :wink:

Re,

C’est pourquoi j’ai bien spécifié : “pour les puristes”. :smiley:

Fait la même :wink:

Fait la même :wink:

Ah ouais pas mal, je connaissais pas

[quote=“zelogik”]Bonjour,

Voila un petit script qui a evolué au fil des temps, au début il affichait juste le nombre de pc connecté sur le réseau et les ip correspondantes. (un peu comme les scripts déjà existant sur le forum)

Puis je voulais repérer facilement tout mes pc par rapport aux adresses MAC sans fichiers de configuration supplémentaire.
Puis il est devenu rapide! (enfin c’est relatif), 20sec pour une plage complète (1-254)

Fonctionne très simplement:

  • sans aucuns paramètres, il donne la liste complète des pc connectés sur le réseau.(ip + nom_correspondant)
  • avec le nom du pc, il va juste afficher l’ip du pc correspondant.

Parametre à modifier:

  • PING_DEVICE (le périphérique a utiliser: wlan0, eth0 etc… (ifconfig))
  • une liste de vos pc connecté sur votre réseau à modifier directement dans le script
  • normalement c’est tout …

Donc voila le résultat:
-lancer le une première fois en modifiant juste le $PING_DEVICE, et vous aurez une liste avec l’ip et l’adresse MAC correspondante pour chaque pc connecté.
-modifier la liste suivant l’exemple déjà ecrit.

#!/bin/bash                                                                       
# version 0.5                                                                     

#Ping options
PING="/bin/ping"
PING_NUMBER=1   
PING_TIMEOUT=1 #pour gagner un peu en vitesse
PING_DEVICE=eth-station #Device              
# get the prefix of the network broadcast address ie: 192.168.1
IP_PREFIX=`ifconfig |awk '/Bcast:/ { sub("Bcast*:","") ; sub(".255","") ; print $3 }'`                                                                                

#Locale stuff ... récupère l'ip du pc
IP_LOCAL=`ifconfig -a $PING_DEVICE | awk '/inet adr/ { sub("adr:","") ; print $2 }'`                                                                                  

#Variables importante.
PROCESS_MAX=40  #Process simultanné maximum (Après 50 process j'obtiens des erreurs)
PROCESS_FINALE=254 #Nombre Maximum de process a executer (entre 1 et 254)(boucle total)
PROCESS_NUMBER=1 #Nombre de process en cours (Valeur a ne pas modifier)             
PROCESS_CURRENT=0 #Nombre de process lancé au total (Valeur a ne pas modifier)           

#Modifier/ajouter autant de pc que vous voulez!
case $@ in
        1-box )                       MAC="aa:bb:cc:dd:ee:ff" ;;
        2-box )                       MAC="aa:bb:cc:dd:ee:ff" ;;
        3-box )                       MAC="aa:bb:cc:dd:ee:ff" ;;
        whatyouwant-box )             MAC="aa:bb:cc:dd:ee:ff" ;;
        * )                           ALL=true ;;               
esac                                                              

function get_ip(){
if [ "$PROCESS_CURRENT" -lt "$PROCESS_FINALE" ]; then
  PING=`"$PING" -c$PING_NUMBER -w$PING_TIMEOUT $IP_PREFIX.$PROCESS_CURRENT`
fi                                                                         
}                                                                          

function get_process(){
PROCESS_NUMBER=`ps ux|grep -v grep|grep "$PING"|wc -l`
}                                                     

function get_mac() {
MAC_ADDRESS=`arp -i$PING_DEVICE -a $IP_PREFIX.$IP | awk '{ print $4 }'`
if [ "$MAC_ADDRESS" == "<incomplete>" ]; then                          
 NAME_MAC="null"                                                       
elif [ "$MAC_ADDRESS" == "trouvée" ]; then #Bad trick ...              
   if [ "$IP_LOCAL" == "$IP_PREFIX.$IP" ]; then                        
     NAME_MAC=`hostname`                                               
   else                                                                
     NAME_MAC="null"                                                   
   fi                                                                  
else                                                                   
  NAME_MAC=`awk '/'"$MAC_ADDRESS"'/ { print $1 }' $0` #Donne le nom par rapport au programme lancé                                                                    
  if [ "$NAME_MAC" == "" ]; then                                                   
    NAME_MAC="$MAC_ADDRESS"                                                        
  fi                                                                               
fi                                                                                 
}                                                                                  


#Histoire de remplir la liste arp de facon plus rapide qu'une simple boucle for
while [ "$PROCESS_NUMBER" -ne 5 ] || [ "$PROCESS_CURRENT" -lt 10 ] || [ "$PROCESS_CURRENT" -lt "$PROCESS_FINALE" ]; do                                                
  PROCESS_CURRENT=$(( $PROCESS_CURRENT + 1 ))                                      
    if [ "$PROCESS_NUMBER" -lt "$PROCESS_MAX" ]; then                              
      get_ip &                                                                     
    else                                                                           
      sleep 0.1s                                                                   
    fi                                                                             
  get_process
#echo $PROCESS_NUMBER $PROCESS_CURRENT
done

#Finale Arp
for IP in `seq 1 $PROCESS_FINALE`;do
 get_mac
 if [ "$ALL" == "true" ]; then
   if [ "$NAME_MAC" != "null" ]; then
     echo $IP_PREFIX.$IP $NAME_MAC
   fi
 elif [ "$NAME_MAC" == "$1" ]; then
  echo $IP_PREFIX.$IP
  exit 0
 fi
done

Voila le resultat obtenu sur mon pc (testé avec une debian et une fedora)

[code]
time ip_network [~]
192.168.1.1 livebox
192.168.1.2 photosmart
192.168.1.14 LogikPC
192.168.1.15 lenovo_y310_3945
192.168.1.16 DS409
192.168.1.40 alix_wan

ip_network 3,05s user 7,42s system 48% cpu 21,508 total
[/code][/quote]

Un peu strange ton script… es-tu sûr que c’est toi qui l’a créé? répond à ma question et je te dirai pourquoi.

@artex: Ca faisait longtemps que je n’étais pas passé par ici! et que vois-je, quelqu’un qui doute de mon script …

Pour être franc, OUI c’est bien moi même qui ait créé ce script de a-z, donc je ne vois pas ce qu’il y a de “strange”…

Donc j’espère que tu ne va pas la faire a la SCO :smiley:

Je ne veux pas t’accuser mais j’ai trouvé ce script sur le net, dès que je retrouve le site alors je te donnerai le lien. :stuck_out_tongue:

Alors si ce n’est que ca :-D, cela me fait plaisir que quelqu’un me l’ai “volé” et poster sur son site vu qu’il est copyleft … et donc cela veut dire qu’il est utile à au moins 2 personnes (moi compris).

Salut,
Au cas ou ça serve à quelqu’un…

Sauvegarde différentielle par rsync sur un répertoire NFS. Le script vérifie si le serveur NFS est en ligne, et si le montage NFS est bien présent.
Le répertoire de destination est déterminé par le jour de la semaine.
Le script est lancé par une tâche cron. A vous de déterminer la fréquence.

[code]#!/bin/sh

sauvegarde différentielle journalière

. /etc/default/locale
export LANG
rm rsync_$(date +%A)-result.log
LOGFILE="/root/rsync_$(date +%A)-result.log"

if [ “$(ping -c 3 192.168.0.2 | grep ‘0 received’)” ]
then
exit 1
else

if ! df | grep -q 'sidlol.isalo.org:/media/sdb5/soslol’
then
mount -t nfs sidlol.isalo.org:/media/sdb5/soslol /mnt/sidlol/sos
fi

fi

if [ -f /mnt/sidlol/sos/.test ]; then
rsync -rltgoDvh --ignore-errors --force --stats --progress /mnt/sos/ --exclude-from=/root/ExclusionRsync /mnt/sidlol/sos/$(date +%A)/ 2>&1 >> ${LOGFILE}
mailx vmail < $LOGFILE ;
umount sidlol.isalo.org:/media/sdb5/soslol
exit

else
echo "No, not mounted!"
fi
[/code]

Il manque encore l’envoie d’un mail au cas ou la sauvegarde n’a pas eu lieu. Ce sera pour plus tard…

Oops j’ai pas regardé ton script encore, pourquoi tu ne le mais pas en /bin/sh. Je pense qu’il passe tel quel (à vu de nez j’ai pas regardé en détail).

Salut,

Rectifié! J’avoue être tellement ignorant dans ce domaine que je ne fais pas la différence. Ça fonctionne pareil pour moi… C’est pourquoi je n’avais pas mis mon script (enfin si on peu appeler ça comme ça…) sur ce fil.

[quote=“lol”]Salut,
Rectifié! J’avoue être tellement ignorant dans ce domaine que je ne fais pas la différence. Ça fonctionne pareil pour moi… C’est pourquoi je n’avais pas mis mon script (enfin si on peu appeler ça comme ça…) sur ce fil.[/quote]

Pourquoi te dévaloriser (exagérèment :open_mouth: ) de la sorte??

Je suis à des lieux de réaliser des choses du même accabit :12

sh est préférable car il répond aux normes POSIX?? (corrigez moi si le sens de cette phrase n’est pas correcte)

C’est à peut près ça. En fait sh fait parti de la norme POSIX donc tu es sur de le trouver sur tout les systèmes POSIX (tout GNU/Linux, BSD, Aix, Solaris,…).