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!
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
où 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 Unixps
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 utiliserps
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: