태그 보관물: ftp

ftp

vsftpd는 MD5로 암호화 된 비밀번호를 허용하지 않습니다 자신의 공간에

가상 사용자가 자신의 공간에 액세스 할 수 있도록 vsftpd로 서버를 설정하고 있습니다. 이제는 완전히 작동하지만 CRYPT 암호로만 작동합니다. 그래서

sudo htpasswd -c /etc/vsftpd/ftpd.passwd phpmyadmin

로그인 할 수는 없지만

sudo htpasswd -c -d /etc/vsftpd/ftpd.passwd phpmyadmin

의지.

/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

PHP와 소스에서 apache2.4.3을 설치했습니다.

내가 시도한 것 :

  • 구글 많이
  • crypt = 2로 설정
  • 친구에게 물어보세요
  • SHA 사용 (작동하지 않음)
  • htpasswd 및 vsftpd 업데이트

나는 지금 일주일 동안이 문제로 어려움을 겪고 있습니다.



답변

htpasswd는 Apache 형식으로 MD5 해시를 생성합니다. Apache 형식은로 시작하여 확인할 수 $apr1$있지만 PAM은 플랫폼의 구현 구현 형식 만 지원합니다 crypt(3). Glibc의 경우 등가 (MD5 기반)는입니다 $1$. 다른 도구를 사용하여 비밀번호를 생성하면됩니다. 예를 들면 다음과 같습니다.

sh$ openssl passwd -1
Password:
Verifying - Password:
$1$vhzHvIYn$2Ro.R0WdLnxrWjHcs5RbA/

이 해시를 ftpd.passwd파일 username:hash형식 으로 복사하면 제대로 작동합니다.


답변

@bonsaiviking의 답변을 확장하면 다음과 같이 openssl md5 비밀번호를 생성하고 htpasswd의 배치 모드 -b 및 일반 텍스트 -p 옵션을 사용하여 한 줄로 ftpd.passwd 파일에 추가 할 수 있습니다.

htpasswd -c -p -b ftpd.passwd *username* $(openssl passwd -1 -noverify *password*)

위의 예제 (Ubuntu)는 또한 -c를 사용하여 존재하지 않는 경우 새 ftpd.passwd 파일을 만듭니다.


답변

-d옵션 이 대부분의 운영 체제에서 기본값 인 crypt를 사용하도록 htpasswd 에 지시 하므로 표시되는 두 명령은 동일 합니다.

md5로 비밀번호를 해시하려면 다음을 사용해야합니다. -m

sudo htpasswd -m /etc/vsftpd/vsftpd.passwd test
New password:
Re-type new password:
Adding password for user test
grep test /etc/vsftpd/vsftpd.passwd
test:$apr1$GTYtpKS1$Jyfgu42kDspxdJTPPzSOY.

테스트 암호가 md5를 사용하여 암호화되었음을 나타냅니다.


답변