Fichier commenté
This commit is contained in:
parent
a5451875f9
commit
a312a6a773
34
Sio1/SISR1/40-BashEtShell/crsambaFini
Executable file
34
Sio1/SISR1/40-BashEtShell/crsambaFini
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#set -e
|
||||||
|
#set -u
|
||||||
|
|
||||||
|
if [[ $# -ne 1 ]] ; then
|
||||||
|
echo "usage : $0 <fichier>" #nombre de paramètre != 1 on sort du programme.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -r "$1" ]] ; then
|
||||||
|
echo "$0 : erreur ouverture ${fich}" # erreur ouverture du fichier on sort du programme.
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
fich=$1
|
||||||
|
while read ligne #lecture par ligne du fichier
|
||||||
|
do
|
||||||
|
echo "$ligne" | grep "^#" >> /dev/null && continue #ignore les ligne commentes dans le fichier
|
||||||
|
[[ -z "$ligne" ]] && continue #ignore les lignes vides
|
||||||
|
login=$(echo "${ligne}"|cut -d: -f1) #recuperation login
|
||||||
|
nom=$(echo "${ligne}"|cut -d: -f2) #recuperation nom long
|
||||||
|
#echo "${login} ${nom}"
|
||||||
|
getent passwd "${login}" >> /dev/null
|
||||||
|
if [[ $? -ne 0 ]] ; then # si utilisateur inexistant on peut creer
|
||||||
|
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}" # creation utilisateur
|
||||||
|
mdp=$(pwgen 6 1) # creation mot de passe
|
||||||
|
#echo "${mdp}"
|
||||||
|
echo "${login}:${mdp}"|chpasswd #affectation mot de passe utilisateur
|
||||||
|
echo "${login}:${mdp}" >> "${fich}.pwd" #stocke mot de passe dans fichier
|
||||||
|
else
|
||||||
|
echo "$0 : utilisateur ${login} existe deja"
|
||||||
|
fi
|
||||||
|
done < $fich
|
Loading…
x
Reference in New Issue
Block a user