fin tp crsamba
This commit is contained in:
parent
3c01bdd83d
commit
fdd34a847e
35
sio1/sisr1/40-Shell/crsamba8.sh
Executable file
35
sio1/sisr1/40-Shell/crsamba8.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
#set -e
|
||||
#set -u
|
||||
|
||||
|
||||
if [[ $# -ne 1 ]] ; then
|
||||
echo "usage : $0 <fichier>" # nombre de parametres != 1, sortie
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -r "$1" ]] ; then
|
||||
echo "$0 : erreur ouverture fichier ${fich}" # erreur ouverture fichier, sortie
|
||||
exit 2
|
||||
fi
|
||||
|
||||
fich=$1
|
||||
while read ligne # lecture ligne a ligne
|
||||
do
|
||||
echo "$ligne" | grep "^#" >> /dev/null && continue # ignore commentaires
|
||||
[[ -z "$ligne" ]] && continue # ignore lignes vides
|
||||
login=$(echo "${ligne}"|cut -d: -f1) # recuperation login
|
||||
long=$(echo "${ligne}"|cut -d: -f2) # recuperation nom complet
|
||||
#echo "${login} ${long}"
|
||||
getent passwd "${login}" >> /dev/null
|
||||
if [[ $? -ne 0 ]] ; then # pas trouve, on peut le creer
|
||||
useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${long}" "${login}" # creation utilisateur
|
||||
passwd=$(pwgen 6 1)
|
||||
echo "${login}:${passwd}"|chpasswd # affectation mot de passe utilisateur
|
||||
echo "${login}:${passwd}" >> "${fich}.pwd" # enregistrement dans fichier
|
||||
else
|
||||
echo "$0 : utilisateur ${login} existant"
|
||||
fi
|
||||
|
||||
done < "${fich}"
|
Loading…
x
Reference in New Issue
Block a user