J'installe un serveur avec vsftpd pour permettre aux utilisateurs virtuels d'accéder à leur espace. Maintenant, il fonctionne pleinement mais uniquement avec les mots de passe CRYPT. Donc
sudo htpasswd -c /etc/vsftpd/ftpd.passwd phpmyadmin
ne me permettra pas de me connecter, mais
sudo htpasswd -c -d /etc/vsftpd/ftpd.passwd phpmyadmin
volonté.
/etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/vhosts/$USER.universe.local
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
/etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd crypt=2
account required pam_permit.so crypt=2
J'ai installé apache2.4.3 à partir des sources ainsi que de PHP.
Ce que j'ai essayé:
- Google beaucoup
- Définir crypt = 2
- demander à des amis
- utiliser SHA (ne fonctionne pas non plus)
- mettre à jour htpasswd et vsftpd
Je me bats avec ça depuis une semaine maintenant, j'espère que vous pouvez m'aider
-m
générera des hachages de type apache basés sur MD5 ($apr1$salt$hash
)Réponses:
htpasswd
génère des hachages MD5 au format Apache, que vous pouvez vérifier en voyant qu'ils commencent par$apr1$
, mais PAM ne prend en charge que les formats que l'implémentation de votre plate-formecrypt(3)
implémente. Pour Glibc, l'équivalent (basé sur MD5) serait$1$
. Il vous suffit de générer les mots de passe avec un outil différent. Voici un exemple:Vous pouvez copier ce hachage dans votre
ftpd.passwd
fichier auusername:hash
format, et cela devrait fonctionner.la source
$1$
hachage de mot de passe MD5, jusqu'à la primitive MD5, il n'est donc pas pleinementcrypt
conscient.En développant la réponse de @ bonsaiviking, vous pouvez générer le mot de passe openssl md5 et l'ajouter au fichier ftpd.passwd sur une seule ligne en utilisant les options mode batch -b et texte clair -p de htpasswd comme suit:
L'exemple ci-dessus (Ubuntu) crée également un nouveau fichier ftpd.passwd s'il n'existe pas en utilisant -c
la source
Les deux commandes que vous montrez sont équivalentes car l'
-d
option indique à htpasswd d'utiliser crypt qui est la valeur par défaut pour la plupart des systèmes d'exploitation.Si vous voulez des mots de passe hachés avec md5, vous devez utiliser
-m
Ce qui montre que le mot de passe du test a été crypté à l'aide de md5.
la source
-d
.