[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cryptage password ds script shell



Le dim 21/07/2002 à 16:22, Eric Leclercq a écrit :
> Autant utiliser 'mkpasswd' (dans le package 'whois') qui est
> un «Overfeatured front end to crypt(3)»  :)

J'utilise ce script pour créer des utilisateurs :

8<-------------------------------------------------------------------

#! /bin/sh
#	2001-11 CHiPs
#	créer les utilisateurs à partir d'un  fichier
#	ne pouvait malheureusement pas mettre les mots de passe
#	car le passwd de la potato ne comprend pas l'option --stdin
#	(corrigé avec l'utilisation de chpasswd)
#	ne contient pas les groupes auxquels appartiennent les utilisateurs
#	le fichier d'entrée est sous la forme :
#	login	pass	alias	mail	gecos
#	toto	titi	tata	u@d.tld	Toto Larico
#	mettre - pour l'alias de mail (surnom) s'il n'y en a pas

# pour mettre dans /etc/aliases
echo "# alias utilisateurs" > alias.txt

# pour créer effectivement les comptes
echo "#! /bin/sh" > users.sh

# pour mettre en place les .forward
echo "#! /bin/sh" > forwards.sh

# pour affecter les mots de passe automatiquement
rm -f passwd.txt
touch passwd.txt
chmod 600 passwd.txt

while read login pass alias mail gecos
do
	echo "" >> users.sh
	echo $login,$pass,$alias,$mail,$name
	echo adduser --disabled-password --gecos \"$gecos\" $login >> users.sh
	# ne fonctionne pas, il faudrait pouvoir utiliser passwd --stdin
	#echo cat pass/$login | passwd $login
	echo $login:$pass >> passwd.txt
	echo su - $login -c \"echo $mail \> ~$login/.forward\" >> forwards.sh
	if expr $alias != '-' > /dev/null ;
	then
		echo il y a un alias pour $login qui est $alias.
		echo $alias:	$login >> alias.txt
	fi
done

echo "" >> users.sh
echo "chpasswd < passwd.txt" >> users.sh

8<-------------------------------------------------------------------

Ce qui est intéressant, c'est :

le « --disabled-password » pour créer le compte sans possibilité de
login au départ,

la commande chpasswd qui évite que le mot de passe se balade en clair en
tant qu'argument de ligne de commande et qui crypte la chose comme il
faut... Pour ne créer qu'un utilisateur à la fois, on doit pouvoir faire
un truc du style « echo 'login:passwd' | chpasswd ».

C'est fait sur une bonne vieille patate et « chpasswd » vient du paquet
« passwd » qui fait partie de la section « base », donc il n'est guère
facile de ne pas en disposer !

Autrement, avec Woody, peut-être que « passwd » comprend l'option qui va
bien : « --stdin » ?

Hop !

-- 
Christophe «CHiPs» PETIT <chips@chips.fr.eu.org> http://chips.free.fr/
Linux-Nantes: partagez votre savoir http://www.linux-nantes.fr.eu.org/
Debian: When Code Matters More Than Commercials http://www.debian.org/  
[E=mc2 Albert Enstein.]


--
To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: