Almalinux 9 Cyberpanel FTP 530 Login authentication failed Error

Hi, I have a new installation of cyberpanel in Almalinux 9, the problem is that the access via FTP is not possible, I have tried to delete the FTP account, create it again, restart the FTP server and the problem continues.

The error indicates a password error 530 Login authentication failed, could someone help me to solve this?

FTP accounts are visible in Cyberpanel : Screenshot by Lightshot

/serverlogs/ftplogs

May  5 20:57:30 localhost systemd[1]: Stopped MariaDB 10.11.11 database server.
May  5 20:57:30 localhost systemd[1]: mariadb.service: Consumed 16h 42min 54.407s CPU time.
May  5 20:57:30 localhost systemd[1]: Starting MariaDB 10.11.11 database server...
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Warning] Could not increase number of max_open_files to more than 32768 (request: 71783)
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] Starting MariaDB 10.11.11-MariaDB source revision e69f8cae1a15e15b9e4f5e0f8497e1f17bdc81a4 server_uid 1542D3aPDZWLjzsyuXN5DYYZjGE= as process 3913888
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Number of transaction pools: 1
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Using AVX512 instructions
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Using Linux native AIO
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Initializing buffer pool, total size = 30.000GiB, chunk size = 480.000MiB
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Completed initialization of buffer pool
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: End of log at LSN=28700281410
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: 128 rollback segments are active.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: log sequence number 28700281410; transaction id 30646508
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] Plugin 'FEEDBACK' is disabled.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Warning] 'innodb-thread-concurrency' was removed. It does nothing now and exists only for compatibility with old my.cnf files.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] Server socket created on IP: '0.0.0.0'.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] Server socket created on IP: '::'.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] /usr/sbin/mariadbd: ready for connections.
May  5 20:57:31 localhost mariadbd[3913888]: Version: '10.11.11-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
May  5 20:57:31 localhost systemd[1]: Started MariaDB 10.11.11 database server.
May  5 20:57:31 localhost mariadbd[3913888]: 2025-05-05 21:57:31 0 [Note] InnoDB: Buffer pool(s) load completed at 250505 21:57:31
May  5 20:57:32 localhost pure-ftpd[3913906]: ([email protected]) [INFO] New connection from 88.246.200.250
May  5 20:57:32 localhost pure-ftpd[3913906]: ([email protected]) [INFO] TLS: Enabled TLSv1.3 with TLS_AES_256_GCM_SHA384, 256 secret bits cipher
May  5 20:57:36 localhost pure-ftpd[3913906]: ([email protected]) [WARNING] Authentication failed for user [admin_test]
May  5 20:57:36 localhost pure-ftpd[3913906]: ([email protected]) [INFO] Logout.
May  5 20:58:14 localhost pure-ftpd[3914050]: ([email protected]) [INFO] New connection from 88.246.200.250
May  5 20:58:14 localhost pure-ftpd[3914050]: ([email protected]) [INFO] TLS: Enabled TLSv1.3 with TLS_AES_256_GCM_SHA384, 256 secret bits cipher
May  5 20:58:18 localhost pure-ftpd[3914050]: ([email protected]) [WARNING] Authentication failed for user [admin_hediye]
May  5 20:58:18 localhost pure-ftpd[3914050]: ([email protected]) [INFO] Logout.
May  5 20:58:23 localhost pure-ftpd[3914081]: ([email protected]) [INFO] New connection from 88.246.200.250
May  5 20:58:23 localhost pure-ftpd[3914081]: ([email protected]) [INFO] TLS: Enabled TLSv1.3 with TLS_AES_256_GCM_SHA384, 256 secret bits cipher
May  5 20:58:28 localhost pure-ftpd[3914081]: ([email protected]) [WARNING] Authentication failed for user [admin_hediye]
May  5 20:58:28 localhost pure-ftpd[3914081]: ([email protected]) [INFO] Logout.
May  5 20:59:06 localhost systemd[1]: session-64214.scope: Deactivated successfully.
May  5 20:59:06 localhost systemd[1]: session-64214.scope: Consumed 6.029s CPU time.
May  5 20:59:06 localhost systemd-logind[1081]: Session 64214 logged out. Waiting for processes to exit.
May  5 20:59:06 localhost systemd-logind[1081]: Removed session 64214.
May  5 21:00:01 localhost systemd[1]: Started Session 64216 of User root.
May  5 21:00:01 localhost systemd[1]: Started Session 64218 of User root.
May  5 21:00:01 localhost systemd[1]: Started Session 64217 of User root.
May  5 21:00:01 localhost systemd[1]: Started Session 64219 of User root.
May  5 21:00:02 localhost systemd[1]: session-64217.scope: Deactivated successfully.
May  5 21:00:02 localhost systemd[1]: session-64219.scope: Deactivated successfully.
May  5 21:00:02 localhost systemd[1]: session-64218.scope: Deactivated successfully.
May  5 21:00:02 localhost systemd[1]: session-64216.scope: Deactivated successfully.

It’s an issue in CyberPanel pertaining to detection of OS type in CyberPanel.
Please submit an issue on github to get it resolved.

In the meantime you can temporarily patch it with:

sed -i 's/MYSQLCrypt md5/MYSQLCrypt crypt/g' /etc/pure-ftpd/db/mysql.conf  /etc/pure-ftpd/pureftpd-mysql.conf
sed -i 's/hash = hashlib.md5()/from crypt import crypt, METHOD_SHA512/g' /usr/local/CyberCP/plogical/ftpUtilities.py
sed -i "s/hash.update(password.encode('utf-8'))/FTPPass = crypt(password, METHOD_SHA512)/g" /usr/local/CyberCP/plogical/ftpUtilities.py
sed -i "s/FTPPass = hash.hexdigest()/#\0/g" /usr/local/CyberCP/plogical/ftpUtilities.py

systemctl restart pure-ftpd
find /usr/local/CyberCP/ -type d -name __pycache__ -exec rm -r {} \+ && systemctl restart lscpd && systemctl restart lsws

You may have to reset your FTP password since it may be stored as MD5 and the update changes storage to use crypt.

After that, it should work.

@mhgmedya Did you try this?