OVH Community, votre nouvel espace communautaire.

Scrpt adduser


janus57
11/12/2014, 21h28
Bonjour,

là le plus simple pour ne pas se casser la tête est d'utiliser adduser via SSH et se s'entrainer a faire des script bash avec autre chose, car useradd est la commande "bas niveau" de adduser, donc il va falloir regarder le man de useradd en entier pour pouvoir l'utiliser correctement.

Car normalement après avoir regardé comment fonctionne adduser (qui est en perle) on voici qu'il utilise useradd comme ceci :
Code:
systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
                $shell, '-u', $new_uid, $new_name)
ce qui doit être l'équivalent (+/-) de :
Code:
useradd -m -d /home/mike1 -s /bin/bash -u 1099 -g 1050 -U mike1
et après ça une fonction qui change lle passe de l'utilisateur crée surement (j'ai pas cherché à comprendre).

Pour les options je laisse la place au man de useradd qui sera plus explicite que moi.

P.S. SFTP est plus sécurisé que FTP et surtout inclus d'office avec SSH en générale

Cordialement, janus57

barbierp
11/12/2014, 21h05
J'utilise un script car j'ajoute, modifie et supprime souvent des utilisateurs. De plus je suis en 1ère année de BTS informatique donc ca m'entraine vu que j'apprend la création des scripts bash en ce moment J'ai même un controle mardi !
Quand j'ajoutais une utilisateur avec adduser, ça l'ajoutait avec proftpd. Mais tout facon même quand je me connect avec filezilla en SFTP ou même avec la console en SSH, le mot de passe ne marche pas.
Quand j'écrit la commande : useradd --create-home --password zYpohSJqUpWiw nom
Si je fais dans la console : su nom, voilà le résultat : Ca ne me demande pas de mdp et ca ne me met pas de chemin devant le $ :


Pour le crypt j'ai vu ca également mais je n'ai pas tout compris :s je dois installer mkpasswd sur mon serveur puis utiliser le mot de passe qu'il me donne dans la commande useradd ? Et ensuite comment puis-je trouver le vrai mot de passe ?

Merci

janus57
11/12/2014, 20h50
Bonjour,

déjà FTP et SSH c'est pas compatible, c'est SFTP ou SSH.

Est-ce que SSH fonctionne ?
Pourquoi utiliser un script fait main plutôt que adduser qui lui est interactif ?

Sinon le mot de passe doit être crypté d'après le man de useradd, donc ici "zYpohSJqUpWiw" doit correspondre au hash du mot de passe.

P.S. le hash doit être fait avec mkpasswd

Cordialement, janus57

barbierp
11/12/2014, 19h57
Bonjour,
Je ne connaissais pas ce --create-home qui m'arrange vraiment.
Mais il reste le problème du mot de passe. En effet, le mot de passe ne se créer pas :s C'est à dire que je lance la commande, et quand j'essaie de me connecter par ftp au compte papy avec le mot de passe demandé, la connexion bloque au mot de passe incorrect. Savez-vous pourquoi svp ?

Merci

janus57
11/12/2014, 19h18
Bonjour,

pourquoi ne pas utiliser l'option -m (ou --create-home) ?

Car :
Code:
useradd --home /home/$nom --password zYpohSJqUpWiw $nom
Serait du coup équivalent à
Code:
useradd --create-home --password zYpohSJqUpWiw $nom
sachant que --create-home va créer un répertoire dans /home du même nom que l'utilisateur ajouté, donc ici du même nom que $nom tout simplement et si je dit pas de conneries.

Cordialement, janus57

barbierp
11/12/2014, 18h44
Bonjour à tous !
Je souhaite créer un script BASH permettant d'ajouter un utilisateur automatiquement en rentrant son nom.
Ce script devra lui créer son espace dans un dossier créé pour lui : /home/$nom
Et il devra avoir accès seulement à son dossier par ftp. (pour ça j'utilise proftpd)

J'y arrive avec adduser $pseudo --home /home/$pseudo, mais cette commande ne marche pas dans un script. Il y a useradd qui permet de faire ça, mais cette commande ne marche pas : useradd --home /home/$nom --password zYpohSJqUpWiw $nom.
Cette commande ne créer pas le dossier de $nom dans home et ne lui donne pas de mot de passe.


Avez-vous donc une solution pour créer un utilisateur via une seule ligne de script ?

Merci