Mise à jour de 'sisr1/40-bash/crsamba8.sh'
This commit is contained in:
parent
370887a83e
commit
4af134abdf
@ -1,33 +1,32 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#crsamba2
|
|
||||||
|
|
||||||
#set -e
|
#set -e
|
||||||
#set -u
|
#set -u
|
||||||
|
|
||||||
fich=$1
|
|
||||||
|
|
||||||
if [[ $# -ne 1 ]] ; then
|
if [[ $# -ne 1 ]] ; then
|
||||||
echo "usage : $0 <fichier>"
|
echo "usage : $0 <fichier>" # si différent de 1 alors on sortira
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -r "${fich}" ]] ; then
|
if [[ ! -r $1 ]] ; then
|
||||||
echo "$0 : erreur d'ouverture du fichier ${fich}"
|
echo "$0 : erreur ouverture fichier $1" # ce n'est pas le bon fichier donc on sortira du script
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
fich=$1
|
||||||
|
while read ligne #lecture du fichier de lignes en lignes
|
||||||
|
do
|
||||||
|
|
||||||
while read ligne
|
echo "$ligne" | grep "^#" >> /dev/null && continue #ceci va ignorer les lignes commentés
|
||||||
do
|
[[ -z "$ligne" ]] && continue #ceci va ignorer les lignes vides
|
||||||
login=$(echo "${ligne}"|cut -f1 -d':' )
|
login=$(echo "${ligne}" |cut -d ':' -f 1) # récupèration du login
|
||||||
long=$(echo "${ligne}"|cut -f2 -d':')
|
nom=$(echo "${ligne}" |cut -d ':' -f 2) # récupèration du nom
|
||||||
echo "${login} ${long}"
|
|
||||||
|
getent passwd "${login}" >> /dev/null #génération du mot de passe
|
||||||
getent passwd "${login}" >> /dev/null
|
if [[ $? -ne 0 ]] ; the # si aucun compte est trouvé alors on le crée
|
||||||
if [[ $? -ne 0 ]] ; then
|
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}" #création de l'utilisateur
|
||||||
useradd -m -d /home/"${login}" -s /bin/bash -c "${nom}" "${login}"
|
mdp=$(pwgen 6 1) # création du mot de passe possédant au moins 6 caracteres
|
||||||
|
echo "${login}:${mdp}" | chpasswd #le mot de passe a été ajouté à un utilisateur
|
||||||
else
|
echo "${login}:${mdp}" >> "${fich}.pwd" #les mots de passes sont stockés dans le fichier users.txt.pwd
|
||||||
echo "$0 : utilisateur ${login} existant"
|
else
|
||||||
fi
|
echo "$0 : user ${login} existant"
|
||||||
|
fi
|
||||||
done < ${fich}
|
done < $fich
|
Loading…
x
Reference in New Issue
Block a user