Re: cryptage password ds script shell

2002-07-21 Par sujet Romain DEGEZ
Le dim 21/07/2002 à 14:12, Romain DEGEZ a écrit :
 Le dim 21/07/2002 à 13:56, BULLIER a écrit :
  La question à 10 cents du dimanche après-midi...
  
  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é!).
  
 
 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 :)

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.

-- 
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: [EMAIL PROTECTED] 
GPG Fingerprint :  FD0B AF56 EDC1 98ED 95B9 636F B5D2 4CAB 0B36 3FE2


signature.asc
Description: PGP signature


Re: cryptage password ds script shell

2002-07-21 Par sujet Samuel Pasquier
--- Original Message ---
On 21 Jul 2002 14:20:12 +0200
Romain DEGEZ [EMAIL PROTECTED] 
(Romain DEGEZ) wrote:
BEGIN
|  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 :)
| 
| 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.
| 
END

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

pgphikVZtBJDF.pgp
Description: PGP signature


Re: cryptage password ds script shell

2002-07-21 Par sujet Romain DEGEZ
Le dim 21/07/2002 à 14:18, Alain Tesio a écrit :
 On 21 Jul 2002 14:12:38 +0200
 Romain DEGEZ [EMAIL PROTECTED] wrote:
 
  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

Ci-joint la meme chose que je viens de faire en c (pas super elegant
mais ca marche) a partir du .pl.

a compiler avec : 
gcc crypt.c -lcrypt -o crypt_passwd

-- 
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: [EMAIL PROTECTED] 
GPG Fingerprint :  FD0B AF56 EDC1 98ED 95B9 636F B5D2 4CAB 0B36 3FE2
/*
** crypt.c for crypt_passwd
*/

#include stdio.h
#include stdlib.h
#include time.h
#define	_XOPEN_SOURCE_
#include unistd.h

int			majormin()
{
  int			randletter;

  srandom(random());
  randletter = random() % 26;
  srandom(random());
  if (random() % 2  0)
return (randletter+= 65);
  else
return (randletter+= 97);
}

int			main(int ac, char **av)
{
  char			salt[3];
  if (ac != 2)
{
  printf(usage : %s password\n, av[0]);
  exit (0);
}
  srandom(time(0));
  srandom(random());
  salt[0] = majormin();
  salt[1] = majormin();
  salt[2] = '\0';
  printf(%s\n, crypt(av[1], salt));
  return (0);
}





signature.asc
Description: PGP signature


Re: cryptage password ds script shell

2002-07-21 Par sujet BULLIER
Merci  à alain et à romain pour leur réponses précise et efficace (je ne suis 
pas le seul à travailler le dimanche après-midi)!
Après quelques tests, il semble que samuel ait raison et que crypt ne sorte 
jamais de chaine contenant :.
Aussi, je vais utiliser la fonction htpasswd, elle est plus simple à 
incorporer dans mon script.

Merci à tous!


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: cryptage password ds script shell

2002-07-21 Par sujet ch045-2
Je persiste et je signe:

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


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: cryptage password ds script shell

2002-07-21 Par sujet Christophe « CHiPs » PETIT
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   passalias   mailgecos
#   tototititata[EMAIL PROTECTED]   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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]