Bonjour,
Comment on utilise la commande crypt ?
Merci d'avance
Bonjour,
Comment on utilise la commande crypt ?
Merci d'avance
alors euh... man crypt... Les man (manuel) sont très utiles, et devrait être toujours lui avant de poser une question. (un petit man man pour savoir comment utiliser man )Envoyé par arnaudperfect
salut
Sa appartient a quelle librairie ?
Car c'est aussi une fonction en C !!
Oui, enfin il a bien précisé commande, et si il parle d'une "fonction" crypt en C, alors la question n'a rien à faire dans ce forum . Sinon, c'est le manEnvoyé par arnaud036
J'ai regardé dans le man, mais sur mon linux ca ne fonctionne pas.
J'ai fais : crypt toto, il me dit commande not found ! alors que crypt est POSIX, donc je ne comprend pas pourquoi elle n'y est pas sur ma fedora
je parle de cette commande : http://man.developpez.com/man3/crypt.3.php
et non d'une fonction en C (je suis sur le forum linux, pas C)
Le liens 'manuel' que tu donne est justement la fonction C. Et je me trompe en te disant de faire un man crypt puisque c'est le man de la fonction C....Envoyé par arnaudperfect
un crypt --help devrait te donner des indices non ?
edit
Encore pardon.
command not found veut dire que l'executable n'existe pas. crypt est une fonction C POSIX, pas une commande.. Encore désolé de mon manque de jugeotteJ'ai fais : crypt toto, il me dit commande not found ! alors que crypt est POSIX, donc je ne comprend pas pourquoi elle n'y est pas sur ma fedora
c'est quoi le nom de ta librairie ??
Car je chercher même sur internet mais je ne trouve pas !
bah je ne sais pas !
J'ai lu sur le man que pour crypter un mot de passe, il fallait utiliser la commande crypt qui est à la norme POSIX ! Donc qui doit etre normalement sur tout les systèmes à la norme POSIX, or sur Fedora, je n'ai pas ce binaire ! J'ose pas imaginer sur d'autres systèmes UNIX/LINUX.
En faite, j'ai fais un script pour ajouter des utilisateurs à partir d'une liste à un système UNIX/LINUX. Mon script doit tre à la norme POSIX pour assurer la portabilité. Le soucie c'est que les commande groupadd et useradd ne sont pas à la norme POSIX, d'où le besoin de créer une fonction permettant d'ajouter des utilisateurs en éditant les différents fichiers qui permettent d'ajouter un utilisateur au système.
La où j'ai un problème c'est pour le fichier "/etc/shadow" où sont stockés les différents mots de passe des utilisateurs du système. les mots de passe écrient dans ce fichier doivent etre crypter. Et quand on lit le man de useradd, il est dit de crypter les mots de passe avec la commande "crypt". De la j'ai lu le man de "crypt" et j'ai voulu la testé. Mais "command not found" sur mon système ! Surpris je regarde si cette commande est à la norme POSIX et il s'avère que oui ! Donc normalement cette commande devrait etre sur les systèmes à la norme POSIX...
Donc voila mon problème, j'ajoute mes utilisateurs sans problème, mais impossible de crypter les mots de passe (se qui revient au faite que au final, mes utilisateurs ne peuvent pas se loger au système à cause de ce problème)
Je me répète, mais ce n'est pas une commande mais un fonction C.Envoyé par vdemeester
Si useradd te parle de crypt, c'est surement qu'il utilise cette fonction C (dans un code source C, useradd doit être écrit en C surement).
PS : les man 3 (exemple crypt(3)) sont relatifs à des fonctions C ( Fonctions des bibliothèques)
Dans ce cas, je fais comment ?
Tu peux faire un programme en C aux normes posix (plutôt qu'un script shell)Envoyé par arnaudperfect
oué non c'est pas se qu'on m'a demandé ! Il doit bien y avoir une solution ! car sinon c'est vraiment nul leur norme si on peux pas faire la moitier des choses que proposent les différents linux/unix !
Malheureusement, il semble que dans les faits, il y ait effectivement toute une foultitude de petites différences entre les différents Unix et probablement même entre les différentes distribution Linux. De toutes façons, il me semble que posix est une norme pour le C plus que pour les Unix, non ?
Si tu écris un programme en C aux normes POSIX (tu pourras ainsi utilise crypt comme useradd), ton programme tournera sur ton système qui "valide" les normes POSIX. C'est le but des normes POSIX. Plus d'infos sur POSIX : http://fr.wikipedia.org/wiki/POSIXEnvoyé par arnaudperfect
Ah mon avis oui.Envoyé par Mark Havel
Je ne peux te dire !
En faite on me demande de faire des scripts à la norme POSIX (http://fr.wikipedia.org/wiki/POSIX) pour que ceux ci soient portables sur différentes plateformes UNIX et LINUX. J'ai donc créer mes scrips et vérifier que toute les commande utilisées étaient à cette norme. Sauf pour groupadd (le problème est résolu en éditant les différents fichiers) et useradd (Comme expliqué avant édité tout les fichiers nécéssaire à la création d'un utilisateur,) le seul soucie, le mot de passe. La commande passwd et chpasswd, mais elles ne sont pas à la norme POSIX !!!! donc dernière solution, éditer le fichier des mots de passe (shadow). Mais les mots de passe dans shadow sont cripter. J'ai donc lu dans le man de useradd qui cette fonction utilisait crypt pour crypterles mot de passe.
Si je fais :
[root@localhost scripts]# crypt --help
bash: crypt: command not found
ou
whereis crypt
crypt: /usr/include/crypt.h /usr/share/man/man3p/crypt.3p.gz /usr/share/man/man3/crypt.3.gz
Dans ce cas, je me demande bien comment on fait pour ajouter des utilisateurs avec leur mot de passe sans forcement utiliser la commende useradd qui n'est pas présente sur tout les systèmes.
Soit avec un outil similaire sur d'autre plateforme où useradd n'existe pas. Soit en faisant son propre progamme.Envoyé par arnaudperfect
Une question : Pourquoi un script plutôt qu'un programme C ? (Au pire, tu fais un exécutable codé en C qui utilise la commande script et tu le distribues avec tes scripts).
bah en faite c'est un excercice scolaire, et le sujet c'est de réaliser des script bash...
Je vais voir pour utiliser passwd, c'estpas a la norme POSIX mais bon, 'ai pas envis de me faire chier à développer une application à côté juste pour ca... ca ne vaux pas le coup vu la charge de travail à faire à côté
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager