Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2007, 13h31   #1
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
Par défaut [Bash]créer un utilisateur

Bonjour,

J'apprend à utiliser unix depuis quelques jours. Je cherche un créer un script pour être capable de déclarer un utilisateur et son mot de passe avec la création de son environnement de travail : répertoire de base, interpréteur de commande,...

J'ai réaliser ceci pour le moment :

Code :
1
2
3
4
5
6
7
8
9
 
#!/bin/bash
#  add user
 
read - p "Entrer un nom d'utilisateur " user
read -p "Entrer un mot de passe" password
 
adduser $user
passwd $user $password
Mon code est incomplet, comment je peux faire pour déterminer le répertoire de base de l'utilisateur (bien qu'ilse créer par défaut automatiquement dans /home), déclarer son interpréteur de commande (-s SHELL ?)

Au niveau du mot de passe, celui entré dans la commande passwd doit il être en claire ou cripté, dans ce cas comment le cripter ?

Merci d'avance pour ce début de question... (car j'en aurai d'autres par la suite)
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 14h23   #2
Expert Confirmé
 
Avatar de Katyucha
 
Inscription : mars 2004
Messages : 3 109
Détails du profil
Informations personnelles :
Âge : 31
Localisation : Allemagne

Informations forums :
Inscription : mars 2004
Messages : 3 109
Points : 3 313
Points : 3 313
Tape : man adduser

pour avoir l'ensemble des fonctionnalités de ta commande

Et puis généralement, comme tu es débutant, tu tapes : man + le nom de la commande et tu as tout l'aide que tu veux

Voir même mieux.
http://man.developpez.com

Et tu lis :
http://man.developpez.com/man8/adduser.8.php

Ouais, developpez.com, ca roxe :p


le cryptage du mdp se fait tout seul
Par contre, je ne crois pas qu'on puisse passer le mot de passe comme ca




Pourquoi ne pas faire ?
Code :
1
2
3
4
5
6
7
 
#!/bin/bash
#  add user
 
read - p "Entrer un nom d'utilisateur " user
adduser $user
passwd $user
L'utilisateur tapera ainsi son mdp
__________________
Ancien Rédacteur Linux && Unix / Nouveau retraité de DVP
The UNIX way of sex:
gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep

Je ne réponds ni aux messages privées, ni aux messages plein de fautes...
Katyucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 14h36   #3
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
ok merci,

Pour le man, je l'utilise déjà, ainci que la traduction du man de developpez.com.

JE demandais juste une confirmation de mon script.

pour pour le mot de passe, pas besoin de le cripter alors ?

je préfèrerai que le mot de passe soit défini automatiquement (le prénom par exemple)
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 14h56   #4
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
J'ai un script qui traîne où j'utilise ça :
Code :
/bin/echo $1:$2| /usr/sbin/chpasswd
$1 est la variable passée en paramètre où il y a l'identifiant de l'utilisateur
$2 est la variable passée en paramètre où il y a le mot de passe de l'utilisateur

Pour ce qui est du choix du mot de passe, utiliser le prénom c'est le niveau 0 de la sécurité. Il n'y a rien de mieux qu'un vrai mot de passe avec des caractères bizarres, des majuscules, des minuscules, des chiffres etc ...

Il va falloir que les utilisateurs utilise un peu de matière grise, mais ça vaut le coût.
makepasswd est très bien pour générer des mots de passe

S'ils ont un peu de mal à les retenir, propose leur de s'inventer un moyen mnémotechnique : à chaque caractères correspond un mot.
par exemple :
2 Jeunes néophytes font que gérer zéro

C'est pas très grave si ça n'a aucun sens, le but c'est qu'ils s'en souviennent.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 17h10   #5
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
non mais je disais le prénom en mot de passe c'est juste pour la création, après l'utilisateur le personnalise...

Après, je peux faire comment pour dans 1 er temps vérifier que le user n'existe pas ? que aucun dossier /home/user existe déjà ?

et le top, imaginon que lors de la création des users avec le script, aucun mot de passe soit donné, donc dans ce cas, on met le prénom par défaut...
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 17h31   #6
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
Tu peux vérifier qu'un utilisateur existe en regardant dans /etc/passwd
Code :
1
2
3
$ (test -n "$(grep root /etc/passwd)") && echo "mon utilisateur existe"
mon utilisateur existe
$ (test -n "$(grep tartampion /etc/passwd)") && echo "mon utilisateur existe"
A adapter, un test, pour qu'il soit lisible dans un script se fait avec if :
Code :
1
2
3
if [ -n "$(grep root /etc/passwd)"] then
...
fi
L'option -n de test (consulter man test) permet de vérifier qu'une chaîne est non vide. D'autres options existent comme -d qui permet de vérifier l'existence d'un répertoire, et donc de /home/monutilisateur

Si tu laisses les utilisateurs choisir leur mot de passe, tu peux être sûr qu'ils en prendront un facile à retenir. Leur année de naissance, le nom de leurs enfants, de leur chien, ... As tu seulement la certitude qu'ils le changeront ?
Ce n'est PAS le but. Il faut qu'il soit compliqué et absolument introuvable, même si l'on connait bien la personne.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 17h46   #7
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
P.S : c'est pour un excercice... donc pas de crainte...
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 17h51   #8
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
Bon béh on va dire que ça servira à d'autres
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2007, 19h50   #9
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
oui ! mais sinon je comprend très bien qu'un mot de passe comme un prénom soit nul et non sécurisé ! mais c'est plus simplifier mon excercice...

mais merci quand même de la remarque !
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2007, 01h53   #10
Membre actif
 
Homme Arnaud
Inscription : décembre 2006
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : décembre 2006
Messages : 871
Points : 195
Points : 195
pour les test c'est bon j'y arrive, cependant dans fedora, la commande "test" n'existe pas...

Je voudrai savoir si des boucles de type "do...while" existe en bash comme on trouve dans les langages de programmations traditionnelles ?

et j'aimerai savoir si dans les "while" on peut mettre plusieurs conditions avec desopérateur comme ET (&&) ou OU (||). Car j'ai testé de faire un OU avec des || et ca ne fonctionne pas, et avec un && j'ai pas d'erreur, mais la condition est foireuse...

et sinon j'ai fais un
Code :
1
2
3
if cd /home/$user
then rm -f - r /home/$user
fi
lorsque qu'un dossier existe ca fonctionne, lorsque j'ai pas de dossier, cd m'indique que le dossier n'exsiste pas, comment je peux faire pour ne pas avoir ce message ?

P.S : j'ai imprimé le PDF "intro à la programation en bash" et je m'en suis fais un livre, mais je ne trouve pas la réponse à mes questions dans cet ouvrage, qui est d'ailleur très formateur.

Merci d'avance
__________________
www.SonolightDj.com
Prestataire sonorisation et lumière
arnaudperfect est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h51.


 
 
 
 
Partenaires

Hébergement Web