Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1389 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script de creation d'utilisateur et de password

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script de creation d'utilisateur et de password

n°787904
Fork Bomb
Obsédé textuel
Posté le 01-03-2006 à 14:31:30  profilanswer
 

[J'ai cherche et j'ai pas trouve de topic avec un probleme similaire]
 
Voila, depuis quelques jours, je crees un script d'auto-onstallation pour une Gentoo. Le script est presque termine mais je butes a la creation de l'utilisateur et de son mot de passe.
La creation de l'utilisateur se deroule sans message d'erreur alors que la creation du mot de passe avec passwd me renvoie un erreur du type "l'Utilisateur machin n'existe pas" :/
 
Le script que j'ai ecris donne ca:

Citation :


#Adding user
echo "Adding user now, please type your username, then hit [Enter] to continue"
read user_name
$user_name
useradd -m -G users,wheel,audio,cdrom,floppy,games,usb,video -s /bin/bash $user_name
echo "$user_name account had been successfully added !!"
 
#Creating user password
echo "Creating user password. Type it two times"
passwd $user_name


Je sais que la variable $user_name est correctement utilisee car useradd et echo la recoivent.
La ou ca bloque, c'est pour passwd (voir plus haut).
En cherchant des solutions a mon probleme, je suis tombe sur des reponses type "Tu devrais utiliser expect" :/
J'ai pas trouve de script utilisant cette commande, donc, j'ai laisse tomber (mais j'ai a peu pres compris a quoi elle servait  :sweat: )
Et puis je suis tombe sur ca:

Citation :


#! /bin/bash
 
echo "Super User Add !!"
echo -n "Nom de l'utilisateur : "
read login
echo -n "Son passwd : "
read pass
echo -n "Son groupe : "
read groupe
 
groupadd ${groupe}
useradd  -g ${groupe}  -m -s /bin/bash -p `openssl passwd -salt RanDom -1 ${pass}` ${login}


Et ce script marche parfaitement  :cry:  :sweat:  :pfff:  
Ca m'embete car quand j'essaye d'integrer ce script au mien, ca ne marche pas  :pt1cable:  
Voila le resultat:

Citation :


#!/bin/sh
 
#Adding user
 
echo "Adding user now, please type your username : "
read user_name
 
#Creating user password
echo "Creating user password, please type your password : "
read pass
 
useradd  -m -G users,wheel,audio,cdrom,floppy,games,usb,video -s /bin/bash -p `openssl passwd -salt RanDom -1 ${pass}` ${user_name}
 
echo "$user_name account had been successfully added !!"


 
Vous pouvez me dire ou je suis lamentablement plante ?  :lol:


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
mood
Publicité
Posté le 01-03-2006 à 14:31:30  profilanswer
 

n°787932
Klaimant
?
Posté le 01-03-2006 à 15:45:12  profilanswer
 

tu as des messages d'erreurs dans la console?


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
n°787951
Fork Bomb
Obsédé textuel
Posté le 01-03-2006 à 16:27:49  profilanswer
 

Ben euh...  

Citation :


Adding user now, please type your username :
test
Creating user password, please type your password :
test
useradd : groupe wheel inconnu
useradd : groupe usb inconnu
test account had been successfully added !!


 
Pas de messages d'erreurs.... et pas de compte "test" cree non plus !! :cry: (oui, je me suis logge en root, quand meme)


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°787956
0liv
Posté le 01-03-2006 à 16:44:42  profilanswer
 

ton useradd plante donc c'est normal que passwd plante... tu devrais vérifier les valeurs de retour avec $?

n°787961
Fork Bomb
Obsédé textuel
Posté le 01-03-2006 à 16:57:31  profilanswer
 

Je fais ca comment ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°788120
0liv
Posté le 02-03-2006 à 09:25:44  profilanswer
 

ben:

useradd ton_bousin
if [ $? == 0 ]
then
echo "tout va bien"
passwd $toto
else
echo "c'est la m..."
fi

n°788182
Fork Bomb
Obsédé textuel
Posté le 02-03-2006 à 11:21:03  profilanswer
 

Merci, ca marche bien !!
Pour ceux que ca interesserait:

Citation :


#!/bin/sh
 
#Adding user
echo "Adding user now, please type your user name."
read user_name
 
useradd -m -G users,wheel,audio,cdrom,floppy,games,usb,video -s /bin/bash $user_name
if [ $? == 0 ]
then
echo "$user_name account had been successfully added !!"
#echo "Now, you'll be asked to create your password"
passwd $user_name
else
echo "Do it again..."
fi


 
Un autre souci:
Si les 2 passwords different, comment faire pour faire repartir la commande passwd ? (je me doutes qu'il s'agit d'une boucle)
Je cherche actuellement.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°788189
Klaimant
?
Posté le 02-03-2006 à 11:39:48  profilanswer
 

Il faudrait trouver le signal que renvoie passwd en cas de password faux et faire une boucle while ou for qui test si le signal renvoyé est juste ou faux.


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
n°788250
0liv
Posté le 02-03-2006 à 14:44:36  profilanswer
 

une boucle avec la même technique:

while [ $? != 0 ]
do
   passwd $user_name
done

n°788275
Le_Tolier
Hello IT ?
Posté le 02-03-2006 à 15:15:46  profilanswer
 

euh je dis peut etre une connerie mais tu as essayer avec l option --stdin ?
moi je fais comme ca :
echo "$mdp" | passwd --stdin $login


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
mood
Publicité
Posté le 02-03-2006 à 15:15:46  profilanswer
 

n°788293
Fork Bomb
Obsédé textuel
Posté le 02-03-2006 à 15:29:29  profilanswer
 

Oliv >> Je vais tester ta solution.
 
Le_Tolier >> Il ne reconnait pas cette option (il croit que c'est un user  :pt1cable: )
 
Sinon, oui je l'avais deja teste... :/


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°788312
Le_Tolier
Hello IT ?
Posté le 02-03-2006 à 16:04:48  profilanswer
 

C est bizarre elle est mentionné ici.
Tu est sur quel system ?


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°788363
Fork Bomb
Obsédé textuel
Posté le 02-03-2006 à 18:41:19  profilanswer
 

Le_Tolier a écrit :

Tu est sur quel system ?


 
Debian 3.1


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°790697
Fork Bomb
Obsédé textuel
Posté le 08-03-2006 à 23:28:09  profilanswer
 

Je m'y suis remis a ce script dans l'apres midi et je viens de trouver la bonne solution.
Donc, pour ceux que ca pourrait eventuellement interesser, voila la chose:


#!/bin/sh
 
#Adding user
echo "Adding user now, please type your user name."
read user_name
 
useradd -m -G users,wheel,audio,cdrom,floppy,games,usb,video -s /bin/bash $user_name
while [ $? != 0 ]
do
if [ $? == 0 ]
 
then
echo "$user_name account had been successfully added !!"
echo "Now, you'll be asked to create your password"
   passwd $user_name
else
echo "Do it again..."
fi
done


 
J'avoues que c'est assez moche, mais bon, ca fonctionne, donc, ca me va...
 
Je vous remercie de votre aide et de votre patience... =)
 
Dites,  j'ai un probleme un peu etrange avec une autre partie du script.
Je cree un autre topic ou je postes ici ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°790746
Le_Tolier
Hello IT ?
Posté le 09-03-2006 à 09:23:28  profilanswer
 

arf tu peux peut etre le poster la  ;)


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°790778
Fork Bomb
Obsédé textuel
Posté le 09-03-2006 à 10:28:52  profilanswer
 

Je vais me pendre... :/
Le script que j'ai poste hier ne fonctionne pas...
 
Je vais peut-etre pas vous embeter avec un autre probleme...  :pfff:


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°790779
Le_Tolier
Hello IT ?
Posté le 09-03-2006 à 10:30:38  profilanswer
 

pourquoi il ne fonctionne pas ?


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°790787
Fork Bomb
Obsédé textuel
Posté le 09-03-2006 à 10:45:38  profilanswer
 

L'utilisateur est cree et... c'est tout [pas de password, rien, que dalle...]
Mais qu'est-ce que j'ai ecrit comme c*nnerie, moi ? -_-


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°790794
Le_Tolier
Hello IT ?
Posté le 09-03-2006 à 10:56:08  profilanswer
 

Fork Bomb a écrit :

L'utilisateur est cree et... c'est tout [pas de password, rien, que dalle...]
Mais qu'est-ce que j'ai ecrit comme c*nnerie, moi ? -_-


 
 
tu fais un while [ $? != 0 ] or la création de ton user a marché donc le $? vaut 0 donc tu rentre pas le while CQFD  ;)
 
Edit: ça ça fonctionne :  

Code :
  1. #!/bin/sh
  2. #Adding user
  3. echo "Adding user now, please type your user name."
  4. read user_name
  5. echo $user_name
  6.   useradd -m  -s /bin/bash $user_name
  7.    echo "$user_name account had been successfully added !!"
  8.    echo "Now, you'll be asked to create your password"
  9.       passwd $user_name
  10.    while [ $? != 0 ]
  11.    do
  12.         echo "Do it again..."
  13.         passwd $user_name
  14.    done
  15.    echo "pwd ok"


Message édité par Le_Tolier le 09-03-2006 à 11:02:23

---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°790826
_kal_
Posté le 09-03-2006 à 12:33:29  profilanswer
 

A mon avis, tu lui donne des groupes qui n'existe pas encore donc la commande useradd plante.  [:xice007]

n°790948
Fork Bomb
Obsédé textuel
Posté le 09-03-2006 à 18:05:18  profilanswer
 

Ca marche d'enfer....
Merci ^^
---
Si ca vous derange pas trop (j'espere), je vosu expose un probleme pour le moins bizarre...
 
Il s'agit d'un enchainement de commande qui ne fonctionne qu'a moitie (toujours sur le meme script).
 
Si je cree mes partitions a la main (fdisk + mkfs sans le script), mkfs me dit rien (pas de message d'erreur, que dalle).
En revanche, en utilisant mon script, mkfs gueule comme quoi les partitions que je lui demandes de formatter n'existent pas !!!.
Cela vient donc de mon script et de la facon dont j'enchaine ces 2 commandes.
 
Voici la partie de mon script que je pense incriminee:


fdisk /dev/hda
 
#Formatting partitions
echo ""
echo ""
echo "Formating partitions..."
sleep 2
mke2fs /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2
swapon /dev/hda2


 
Que ce soit a la main ou en utilisant le script, je me sers exactement du meme plan de partitionnment... :/
 
Si vous avez une idee, je suis preneur...


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°791012
Le_Tolier
Hello IT ?
Posté le 09-03-2006 à 22:11:58  profilanswer
 

C est quoi le message d erreur ?

n°791013
Fork Bomb
Obsédé textuel
Posté le 09-03-2006 à 22:15:16  profilanswer
 

mkfs dir qu'i trouve pas les partitions que je viens de creer... :/ [le message precis, desole je l'ai pas]


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°791049
Zaib3k
Posté le 10-03-2006 à 08:34:47  profilanswer
 

mets des && entre chaque commande, tu verras si ca bloque au mileiu du script.


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°791061
Le_Tolier
Hello IT ?
Posté le 10-03-2006 à 09:12:46  profilanswer
 

Ou dans la même optique set -x pour voir quels commande bloque


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
n°791140
Fork Bomb
Obsédé textuel
Posté le 10-03-2006 à 13:46:45  profilanswer
 

Je sais comment me servir de la comande && (mais je dis pas que j'y avais pense, hein).
Je l'avais deja vu en exemple.
Je me demandais si je pouvais taper les commandes sous cette forme :
 


commande1 &&
commande2 &&
commande3 &&
...


 
A votre avis ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°791151
franceso
Posté le 10-03-2006 à 14:09:23  profilanswer
 

Fork Bomb a écrit :

Je me demandais si je pouvais taper les commandes sous cette forme :

commande1 &&
commande2 &&
commande3 &&
...



Oui, à condition d'échapper les caractères de fin de ligne :

commande1 && \
commande2 && \
commande3


Message édité par franceso le 10-03-2006 à 14:10:33

---------------
TriScale innov
n°791152
Fork Bomb
Obsédé textuel
Posté le 10-03-2006 à 14:11:28  profilanswer
 

Francesco > Ok, je vais faire comme ca.
Merci.


Message édité par Fork Bomb le 10-03-2006 à 14:11:44

---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°791400
Fork Bomb
Obsédé textuel
Posté le 11-03-2006 à 13:44:05  profilanswer
 

Ca marche pas -.-
Je vais essayer en intercalant une commande entre les 2 [genre un "echo"...]


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°791411
0liv
Posté le 11-03-2006 à 14:14:20  profilanswer
 

Petite question:
-quand tu fais ton fdisk, tu n'aurais pas ce message

Appel de ioctl() pour relire la table de partitions.
 
AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.


si c'est le cas, c'est donc normal que tu te fasses jeter lors du mke2fs ;)

n°791473
Fork Bomb
Obsédé textuel
Posté le 11-03-2006 à 17:47:26  profilanswer
 

Nan, pas ce message.
Les messages d'erreurs viennent de mke2fs
A partir de maintenant, je vais faire mes manips sur hdb, je pourrais C/C les messages d'erreurs.


Message édité par Fork Bomb le 11-03-2006 à 17:49:00

---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°794902
Fork Bomb
Obsédé textuel
Posté le 22-03-2006 à 12:01:49  profilanswer
 

Je deterre mon topic car j'ai encore besoin d'aide (desole de vous solliciter autant...)
 
Bon, ben je m'y suis remis il y a peu...
 
Voila le plan de partitionnment utilise:

Code :
  1. #############################
  2. # --Values to enter--
  3. #
  4. # -1st partition-
  5. #
  6. # n,p,1,[Enter],+32M
  7. #
  8. # -Creating Swap-
  9. #
  10. # n,p,2,[Enter],+512,t,2,82
  11. #
  12. # -Main partition-
  13. #
  14. # n,p,3,[Enter],[Enter]
  15. #
  16. # -Saving settings-
  17. #
  18. # w
  19. #############################
  20. fdisk /dev/hdb
  21. #exit
  22. continue
  23. mkfs -t ext2 /dev/hdb1
  24. mkfs -t ext3 /dev/hdb3
  25. mkswap /dev/hdb2
  26. swapon /dev/hdb2


 
Le exit est commente car ca fait pas ce que je veux (ca sort pas de la commande, ca sort du script :/)
 
Quant aux messages de mkfs, ils disent qu'ils trouvent pas mes part'.
Je retestes et je vous C/C les messages exacts.
 
Attention, c'est long
 


La table de partitions a été altérée!
 
Appel de ioctl() pour relire la table de partitions.
 
AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.
Synchronisation des disques.
mke2fs 1.38 (30-Jun-2005)
/dev/hdb1 est monté; ne fera pas un système de fichiers ici!
mke2fs 1.38 (30-Jun-2005)
Étiquette de système de fichiers=
Type de système d'exploitation: Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
458752 inodes, 916650 blocs
45832 blocs (5.00%) réservé pour le super usager
Premier bloc de données=0
28 bloc de groupes
32768 blocs par groupe, 32768 fragments par groupe
16384 inodes par groupe
Archive du superbloc stockée sur les blocs:
        32768, 98304, 163840, 229376, 294912, 819200, 884736
 
Écriture des tables d'inodes: complété
Création du journal (16384 blocs): complété
Écriture des superblocs et de l'information de comptabilité du système de fichiers: complété
 
Le système de fichiers sera automatiquement vérifié tous les 23 montages ou après
180 jours, selon la première éventualité.  Utiliser tune2fs -c ou -i pour écraser la valeur.
Initialisation de la version de l'espace de swap 1, taille = 512479 kB
no label, UUID=55ddc86c-a718-4a77-b740-7d536b7977a8
Mounting partitions...
mount: le point de montage /mnt/gentoo n'existe pas
mkdir: Ne peut créer le répertoire `/mnt/gentoo/boot': Aucun fichier ou répertoire de ce type
mount: le point de montage /mnt/gentoo/boot n'existe pas


 
Normalement, j'ai pas tous ces messages, j'en ai moins.
Mais comme je l'expliquais plus haut, mkfs me hurle dessus qu'il ne trouve pas les partitions que je viens de creer...
 
Franchement, si vous avez une idee, je suis preneur...


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°794910
0liv
Posté le 22-03-2006 à 12:33:37  profilanswer
 

0liv a écrit :

Petite question:
-quand tu fais ton fdisk, tu n'aurais pas ce message

Appel de ioctl() pour relire la table de partitions.
 
AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.


si c'est le cas, c'est donc normal que tu te fasses jeter lors du mke2fs ;)


:gratgrat: bizarre ton message d'erreur ressemble à celui que je t'avais indiqué il y a 10 jours de cela...
voilà l'endroit important du message:

Citation :

Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage


donc ton noyau n'a pas du tout conscience des nouveaux devices créés... donc il ne peut pas les formater vu que pour lui ils n'existent pas

n°794911
Fork Bomb
Obsédé textuel
Posté le 22-03-2006 à 12:36:54  profilanswer
 

J'ai pas ces messages lors de l'install de la Gentoo (la, c'etait en "local" [sur HDB])


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°794936
0liv
Posté le 22-03-2006 à 13:40:52  profilanswer
 

Lors de l'install de la gentoo ton disque n'est pas monté, alors que là il doit être monté donc en cours d'utilisation (par le système du moins).

n°794940
Fork Bomb
Obsédé textuel
Posté le 22-03-2006 à 13:50:06  profilanswer
 

Donc, pour les tests en local, un coup de umount
Mais pour enchainer les 2 commandes en script, t'as une idee ?


Message édité par Fork Bomb le 22-03-2006 à 13:56:06

---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script de creation d'utilisateur et de password

 

Sujets relatifs
Problème de password rootLancer un script python au démarrage ?
recherche de script pour page web[MySQL][LDAP] creation de bdd dynamique
Script shell : traitements parallelles.script avec find et mv
[VBS] connaître l'OU d'un utilisateur d'Active directoryCréation d'un configure.in et Makefile.am ...
Création users sur MAC OS X Server 
Plus de sujets relatifs à : Script de creation d'utilisateur et de password


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR