[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/sbin/ -> gen_pwd.sh (source)

   1  #!/bin/bash
   2  
   3  # génère un mot de passe (semi-)aléatoire...
   4  # Christian Westphal - licence WTFPL
   5  
   6  
   7  # texte d'aide - 'vais quand même pas faire une page de man pour ce bidule !
   8  if [ "$1" == "--help" -o "$1" == "-h" ]
   9  then
  10      echo "script de génération de mot de passe (semi)aléatoire"
  11      echo "options : -a pour un mot de passe aléatoire"
  12          echo "          -s pour un mot de passe semi-aléatoire (valeur par défaut)"
  13      echo "          --help ou -h pour cette aide super-utile"
  14      
  15      exit 0
  16  fi
  17  
  18  case "$1" in 
  19      "-a")
  20          # mot de passe aleatoire 8 caractères
  21          # pas de vérification de complexité, faites confiance au hasard
  22  
  23          pass=""
  24          Car="0123456789azertyuiopqsdfghjklmwxcvbn"
  25  
  26          while [ "$n:=1}" -le "8" ]
  27          do    pass="$pass$Car:$(($RANDOM%${#Car})):1}"
  28                let n+=1
  29          done
  30  
  31          echo "$pass"
  32          ;;
  33  
  34      "-s" | "")
  35          # mot de passe semi aleatoire (par défaut)
  36  
  37          pass=""
  38          C="zrtpqsdfghjklmwxcvbn"
  39          V="aeyuio"
  40          N="0123456789"
  41  
  42          while [ "$pass" == "" ]
  43          do     pass="$pass$C:$(($RANDOM%${#C})):1}"
  44              pass="$pass$V:$(($RANDOM%${#V})):1}"
  45              pass="$pass$C:$(($RANDOM%${#C})):1}"
  46              pass="$pass$V:$(($RANDOM%${#V})):1}"
  47  
  48              # test politiquement correct
  49              case $pass in bite|nazi|zizi|pute|zobi|caca|pipi|pede )
  50                  pass="" ;;
  51              esac
  52          done
  53  
  54          pass="$pass$N:$(($RANDOM%${#N})):1}"
  55          pass="$pass$N:$(($RANDOM%${#N})):1}"
  56  
  57          echo "$pass"
  58          ;;
  59  
  60      *)
  61          # parametre incorrect
  62          echo "option incorrecte"
  63          echo "utilisez -a ou -s (-s par défaut)"
  64          echo "RTFM : --help ou -h"
  65  
  66          exit 10
  67  
  68  esac
  69  


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1