Không đăng nhập được FTP sau khi đổi password từ DirectAdmin
1. Lỗi gì dây?
Hôm nay sau khi vào DirectAdmin (DA) đổi password FTP xong thì không connect vào FTP được nữa, thử dùng lại password cũ thì vào được.
Sau một lúc tìm hiểu thì thấy rằng trên server đang chạy pure-ftpd service, và có cả proftpd nhưng service này đang stop.
Thử stop pure-ftpd service:
/etc/init.d/pure-ftpd stop
Sau đó start proftpd service:
service proftpd start
Mọi thứ trở nên ok, new FTP password hoạt động.
Disable pure-ftpd service và enable proftpd service:
chkconfig pure-ftpd off chkconfig proftpd on
Kiểm tra danh sách service
chkconfig --list
2. Tìm hiểu nguyên nhân
Trước đây pure-ftpd vẫn hoạt động ổn (bằng chứng là pass cũ dùng được). Vì sao bây giờ password FTP pure-ftpd không thay đổi được từ DA?
Sau một vài tìm kiếm mình có các nội dung sau:
Từ trang: https://www.directadmin.com/features.php?id=1143
Added support for Pure-FTPD.
The unified_ftp_password_file option must be set to 1 and all passwords converted:
http://www.directadmin.com/features.php?id=1134pureftp=1
should also be set to 1.
After any change to the /etc/proftpd.passwd file, DA will add a task.queue entry:
action=rewrite&value=pureftp_db
and the dataskq will call:
/usr/bin/pure-pw mkdb /etc/pureftpd.pdb -f /etc/proftpd.passwdInstallation:
Use custombuild to install this for you:cd /usr/local/directadmin/custombuild ./build set proftpd no ./build set pureftpd yes ./build pureftpd
Và một nội dung khác từ trang: https://help.directadmin.com/item.php?id=107
1) check for /usr/local/directadmin/data/task.queue
It should be deleted every minute. If it exists, check it's contents. If there are more than just 1 or 2 lines, then the dataskq is not running.
2) check /var/log/cron (/var/log/syslog on Debian). See if the dataskq is running every minute (logged every minute). If not, try runningchmod 644 /etc/cron.d/directadmin_cron /sbin/service crond restart3) make sure crond is running ("cron" on FreeBSD):
ps ax | grep cron4) try restarting cron: /sbin/service crond restart. Check /var/log/cron and /var/log/messages for possible problems with the /etc/cron.d/directadmin_cron file (/etc/crontab on FreeBSD).
If you dont have crond (rpm based systems) type:yum -y install vixie-cron cronie service crond start chkconfig crond on5) If all of the above checkout but the task.queue is still not being processed, try running it manually:
/usr/local/directadmin/dataskq d
3. Kiểm tra & xử lý
Mở file tại
/usr/local/directadmin/data/task.queue
Thì thấy còn rất nhiều task chưa thực thi. Như vậy là trước đây đã cài đặt và cấu hình dùng pure-ftpd, nhưng vì lý do gì đó task.queue không hoạt động. Theo hướng dẫn mình thực thi các command sau:
chmod 644 /etc/cron.d/directadmin_cron /sbin/service crond restart ps ax | grep cron service crond start chkconfig crond on /usr/local/directadmin/dataskq d
service proftpd stop /etc/init.d/pure-ftpd start
Kiểm tra kết nối FTP với password mới thì hoạt đông tốt, vì vậy mình cấu hình service lại như cũ rồi reboot server
chkconfig pure-ftpd on chkconfig proftpd off
Bình luận gần đây