Hướng dẫn fix lỗi ftp trên directadmin

19/09/2019 92

Nếu chắn bạn đã tạo đúng user password ftp nhưng không thể đăng nhập được, bạn có thể làm theo hướng dẫn sau để add lại các tài khoản ftp của hệ thống vào file /etc/proftpd.passwd

Đầu tiên:

cd /root

Sau đó tạo file fix_ftp.sh

vi fix_ftp.sh

Ghi nội dung bên dưới vào file fix_ftp.sh

#!/bin/sh

PF=/etc/proftpd.passwd

cd /usr/local/directadmin/data/users
for u in `ls`; do
{
          if [ ! -d $u ]; then
                    continue;
          fi

          SHADOW=/home/$u/.shadow
          if [ ! -e $SHADOW ]; then
                    continue;
          fi

          #make sure it doesn't already exist
          COUNT=`grep -c -e "^${u}:" $PF`
          if [ "$COUNT" -ne 0 ]; then
                    continue;
          fi

          UUID=`id -u $u`
          UGID=`id -g $u`

          echo "${u}:`cat /home/$u/.shadow`:${UUID}:${UGID}:system:/home/${u}:/bin/false";

};
done;

Lưu lại file sau đó chmod quyền 755 cho file fix_ftp.sh

chmod 755 fix_ftp.sh

Sau đó chạy lệnh

./fix_ftp.sh >> /etc/proftpd.passwd

making sure to use 2 > characters (>>)  and not just 1, as using just 1 would delete whatever was previously there (which is a bad thing if there are any ftp@domain.com accounts).

Hãy chắc chắn rằng bạn đã sẽ đúng quyền cho file /etc/proftpd.passwd là root:ftp:

chown root:ftp /etc/proftpd.passwd
chmod 640 /etc/proftpd.passwd