web-dev-qa-db-fra.com

Comment créer un utilisateur ftp virtuel avec un mot de passe prédéfini avec ftpasswd et bash

Bonjour les gourous de la ligne de commande, j'ai créé un utilisateur FTP comme celui-ci:

ftpasswd --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

Ce que j'aime faire, c'est créer le même utilisateur avec un mot de passe prédéfini à l'aide de l'option --stdin. Si j'utilise:

echo < passwd > | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

J'ai reçu un message m'indiquant que le mot de passe n'est pas défini.

Est-ce que quelqu'un voit l'erreur?

Je vous remercie!

5
Josh

Je vous suggère d'utiliser:

passwd="your_password"
echo $passwd | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false

ou

ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --Shell /bin/false < passwd.txt

passwd.txt est un fichier contenant le mot de passe.

Ceux-ci parce que:

[...] l'option --stdin n'autorise pas les mots de passe au script sur la ligne de commande, mais sur stdin. Ceci est fait par mesure de sécurité: la commande Unix ps standard peut être utilisée pour afficher tous les processus en cours d'exécution sur un système, y compris leurs paramètres de ligne de commande. Cela signifie que tout utilisateur peut utiliser ps pour voir les mots de passe attribués à ftpasswd, si ces mots de passe devaient être passés sur la ligne de commande .

Plus à propos:

8
Radu Rădeanu