-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Ashley M. Kirchner a écrit :
Anyone have pointers (or examples) of a script that can be used to create new users and set their password at the same time? I need something I can call like so:
script USERNAME PASSWORD
not exactly, here a script I have done to had user from a list, you can adapt it to fit your needs. This script create users with temporary crypted password, add them to the mail server and crate an elementary web page... Choose what you want (sorry for comments in French!):
#!/bin/bash
cat < list-of-users | while true do read ligne if [ "$ligne" = "" ]; then break; fi echo "lecture de la ligne --->" $ligne set -- $ligne PRENOM=$1 PRENOM2=$2 NOM=$3 LOGIN=$4 COURRIER=$5 LIEU=$6 GROUP=$7 PASSWD=`echo $PRENOM | cut -c1``echo $NOM | cut -c1`2005 # echo prenom=$PRENOM, prenom2=$PRENOM2 nom=$NOM login=$LOGIN passwd=$PASSWD courrier=$COURRIER lieu=$LIEU # #creation des utilisateurs CRYPTPASSWORD=`/usr/sbin/slappasswd -h {MD5} -c '$1$%.8s' -s $PASSWD | cut -d "}" -f2` /usr/sbin/adduser -s /usr/bin/rssh -p $CRYPTPASSWORD -g $GROUP $LOGIN echo "$COURRIER, \$LOGIN" > /home/$LOGIN/.forward # #courrier mkdir /home/$LOGIN/mail/ cp /root/.subscriptions /home/$LOGIN/mail/ echo "$PRENOM2.$LOGIN: $LOGIN" >> /etc/mail/aliases echo "$LOGIN: $PRENOM2.$LOGIN" >> /etc/mail/revaliases # #page web mkdir /home/$LOGIN/public_html cat << xxFINxx > /home/$LOGIN/public_html/index.html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>$PRENOM $NOM</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="MSSmartTagsPreventParsing" content="TRUE">
<!-- <link rel="stylesheet" href="styles/style.css" type="text/css"> -->
<style type="text/css"> body {font-family: verdana, arial, sans-serif ; margin-left : 1em ; margin-right : 1em ; margin-top : 1em ; margin-bottom : 1em ; } a:link, a:visited { font: 12px verdana, arial, sans-serif; font-weight: bold; text-decoration: none; color:#555555; } a:hover { font-weight: bold; text-decoration: none; color: #000; background: #6C0202; }
</style>
</head>
<body> <table border="0" rules="none"> <tr bgcolor="#6C0202" width="100%"> <th> <img src="mylogo.png" alt="logo mylogo"> </th> <th width="100%"> </th> </tr> </table>
<h1>$PRENOM $NOM</h1>
<h4>$LIEU</h4>
<h4>Courriel : <a href="mailto:$PRENOM2.$LOGIN@yourmailserver.net">$PRENOM2.$LOGIN@yourmailserver.net</a></h4>
<hr>
<p></p>
</body> </html> xxFINxx # cp /root/mylogo.png /home/$LOGIN/public_html/ chown -R $LOGIN.$GROUP /home/$LOGIN chmod 711 /home/$LOGIN chmod 600 /home/$LOGIN/.forward chmod 644 /home/$LOGIN/public_html/* chmod 711 /home/$LOGIN/public_html/ chmod 700 /home/$LOGIN/mail/ chmod 600 /home/$LOGIN/mail/.subscriptions done
cd /etc/mail/
/usr/bin/newaliases /usr/sbin/sendmail -bi -oA/etc/mail/revaliases
echo $?
<-----------------end script
The list is a simple text file with one line per user like this:
John john Doe doe jd@hismail.com lieu name-of-group
- -- François Patte UFR de mathématiques et informatique Université René Descartes http://www.math-info.univ-paris5.fr/~patte