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

Re: /usr/bin/passrd



edouard.boucher@free.fr wrote:
> 
> bonjour,
> 
> je cherche a creer pas mal de user en utilisant un script.
> Pour cela je dois leur attribuer un password,
> malheureusement la commande passwd de la debian n'accepte pas de prendre le
> password sur l'entre standard ou en parametre.
> ce qui m'etonne c'est qu'avec une mandrake ca marche (je n'ai pas essaye avec
> d'autres distrib).
Plusieurs petits scripts qui valent ce qu'ils valent:

(Attention, il y a un appel à Make sous /var/yp car je dois mettre à
jour NIS)

1) mkusers
#!/usr/bin/perl
# Synatxe: mkusers liste groupe commentaire mot_de_passe
# le mot de passe est par défaut
$Fichier = $ARGV[0];
$pwd = crypt($ARGV[3], "FB");
open(USERS,$Fichier);
while($user=<USERS>) {
chop($user);
$command= "adduser --ingroup ".$ARGV[1]."  --disabled-password --quiet
--gecos \
"".$ARGV[2]."\" ".$user;
print $command,"\n";
system($command);
}
# open(DEB,"/etc/shadow");
open(DEB,"/etc/passwd");
# open(FIN,">/etc/shadow1") || die("M'enfin ! Y a un bug !");
open(FIN,">/etc/passwd1") || die("M'enfin ! Y a un bug !");
while(<DEB>) {
    s/:!:/:$pwd:/g;
    print FIN;
             }
close(FIN);
close(DEB);
# unlink ("/etc/shadow.old");
unlink ("/etc/passwd.old");
# rename "etc/shadow" , "/etc/shadow.old";
rename "etc/passwd" , "/etc/passwd.old";
# rename "etc/shadow1" , "/etc/shadow";
rename "etc/passwd1" , "/etc/passwd";
# chown 0,0,"/etc/shadow";
chown 0,0,"/etc/passwd";
# chmod 0600,"/etc/shadow";
chmod 0644,"/etc/passwd";
# mis à jour de NIS
chdir "/var/yp";
system ("make > /dev/null");

Voilà
t être utile

F. Boisson
En espéran


2) Détruit une liste d'utlisateurs (ça c'est simple)
$ cat delliste
#!/usr/bin/perl
# delliste liste
$Fichier = $ARGV[0];
open(USERS,$Fichier);
while($user=<USERS>) {
chop($user);
$command= "userdel -r ".$user;
print $command,"\n";
system($command);
}



Reply to: