Je souhaite, dans un script shell créer un compte user avec la cmd "adduser".
Pour créer le le mot de passe il faut utiliser l'option -p suivi du mdp deja
crypté.
Or je ne parviens pas à le faire fonctionner...
Ex: "# adduser -g mail -p password -s /bin/false -e 2002-12-01 -m user1"
comment remplacer "password" par sa valeur cryptée (j'ai essayé "-p
crypt(password, aZ)", mais ça n'a rien donné!).
Merci de votre aide et bonne fin de journée.
Eric.B
--
To UNSUBSCRIBE, email to debian-user-f...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Essaye un truc comme ca :
adduser -g mail -p `htpasswd -nb user passwd_en_clair | cut -d: -f2`
-s /bin/false blablabla....
htpasswd kesako ?
"htpasswd is used to create and update the flat-files used to store
usernames and password for basic authenticationof HTTP users."
Et par defaut ca utilise crpyt(3), ca tombe bien puisque c'est ce qui
t'interesses :)
--
DEGEZ Romain -- EPITECH Promo 2006
Administrateur Systemes & Reseaux pour SmartJog (Video broadcasting)
President de Cycom l'assocation de jeux en reseau de l'EPITA/EPITECH
Debian GNU/Linux user -- UIN: 10806422 -- mail: rde...@ouhyeah.com
GPG Fingerprint : FD0B AF56 EDC1 98ED 95B9 636F B5D2 4CAB 0B36 3FE2
> htpasswd kesako ?
>
> "htpasswd is used to create and update the flat-files used to store
> usernames and password for basic authenticationof HTTP users."
Ci-joint un script perl qui gère aussi un salt comme demandé par
le post initial.
Alain
Correctif, (honte sur moi), l'utilisation de cut dans ce cas est plutot
risqué puisque si le password généré contient ":" on risque d'avoir une
surprise :)
Il faut donc utiliser une autre methode pour parser le resultat de
htpasswd.
il me semble bien que crypt ne te sort jamais de password crypte contenant
de caractere ':', donc a mon avis ta technique de cut est ok.
--
Samuel Pasquier
"Mieux vaut viser la perfection et ne pas l'atteindre
que viser l'imperfection et l'atteindre"
GPG FP = D2CB EA63 8E00 F8A9 E6B5 522C 4630 2318 16EA C969
Merci à tous!
--
Eric Leclercq
"Un ouapiti, c'est vert, ça a des piquants ronds
et ça fait glop quand on le jette à l'eau."
Boris Vian - L'herbe rouge
Bien vu :)
Il s'etait caché dans le package whois le fourbe :)
C'est effectivement le moyen le plus propre pour le script d'Eric.
Encore merci et bonne soirée à tous.
Hum c'est etrange ce que tu nous dis la...
NAME
mkpasswd - Overfeatured front end to crypt(3)
SYNOPSIS
mkpasswd PASSWORD SALT
DESCRIPTION
mkpasswd encrypts the given password with the crypt(3)
libc function using the given salt.
~> mkpasswd passwd_en_clair
j3YSc52PxkXz2
Ce qui a l'air tout a fait correct pour faire ce que tu recherches ?!
Ne confonds tu pas avec makepasswd qui lui ne prend pas d'argument
et genere un mot de passe totalement aleatoire ?
sur ma station à la maison:
$man passwd
NAME
mkpasswd - generate new password, optionally apply
it to a user
SYNOPSIS
mkpasswd [ args ] [ user ]
INTRODUCTION
mkpasswd generates passwords and can apply them
automatically to users. mkpasswd is based on the
code from Chapter 23 of the O'Reilly book "Explor
ing Expect".
$ mkpasswd
m0rw4YTfu
$mkpasswd mypass
passwd: Only root can specify a username
CQFD...
Mon serveur ne renvoi rien (j'ai installé au plus juste):
$ man mkpasswd
Aucune entrée de manuel pour mkpasswd
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 <ch...@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.]