Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

ProFTPD’s 530 Login incorrect reply is a generic authentication rejection. It does not prove that the password is wrong: PAM rules, account status, virtual-user files, shell policies, login limits, or home-directory permissions can all produce the same response. Start with the logs, verify the configuration that the running daemon actually loads, then test the relevant identity source and policy. The sequence below isolates the rejecting module without weakening security blindly.

What the 530 response means

FTP response code 530 means that ProFTPD refused the login. The protocol response intentionally gives little detail; a failed password, a denied PAM policy, an unknown account, a malformed virtual-user record, or a failed chroot can all be presented to the client as “Login incorrect.” Treat the code as a symptom, not a diagnosis.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A successful SSH login does not establish that FTP will work. SSH may use a different PAM service, a different account source, or a different set of shell and access rules. ProFTPD can combine PAM with Unix accounts, an AuthUserFile, SQL, LDAP, or another configured module, and the order and authority of those modules matter.

Use this troubleshooting order

  1. Capture the exact failure time and username, then read the authentication and ProFTPD logs.
  2. Identify the configuration file and included snippets loaded by the running service.
  3. Run a configuration syntax test before restarting anything.
  4. Confirm that the account exists in the identity source ProFTPD is configured to query and that its password and policy state are valid.
  5. Inspect the PAM stack and authentication-module order.
  6. If virtual users are enabled, validate AuthUserFile and AuthGroupFile.
  7. Check shell restrictions, <Limit LOGIN> rules, and every directory permission needed for the home or chroot path.
  8. Reproduce one attempt in foreground, high-debug mode to identify the rejecting module.

Change one item at a time and repeat a single login attempt. This keeps the log evidence attributable to the change.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

1. Read the logs before changing credentials

ProFTPD sends authentication messages through the auth or authpriv syslog facility. On a typical Ubuntu installation, useful evidence is in the system journal and /var/log/auth.log; a different syslog configuration may route those facilities elsewhere.

Search the journal

sudo journalctl --since "10 minutes ago" | grep -i -E 'proftpd|ftp|pam|530|username'

Replace username with the account used in the failed attempt. If the unit is logging directly to the journal, this narrower query may help:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo journalctl -u proftpd --since "10 minutes ago"

Search the traditional authentication log

sudo grep -i -E 'proftpd|pam|username' /var/log/auth.log

Look for the first specific message around the attempt, not only the client-facing 530. Messages naming PAM, an unknown user, an invalid shell, an unreadable file, or a chroot path identify a different fix. ProFTPD also logs configuration parsing errors; those can prevent the intended settings from loading at all.

2. Verify the configuration that is actually running

Ubuntu’s documented default configuration is /etc/proftpd/proftpd.conf, but a service can be started with -c and use another file. Included fragments can override or add authentication directives. Directives are case-insensitive, while their values are case-sensitive.

Inspect the service command line

systemctl cat proftpd
ps -ef | grep '[p]roftpd'

Check the ExecStart line and any -c option. Then inspect the main file and its Include directives, commonly under /etc/proftpd/conf.d/ or another package-specific directory:

sudo grep -RniE '^(Include|Auth|RequireValidShell|<Limit LOGIN>|DefaultRoot)' /etc/proftpd

Do not assume that editing the default file changes the running daemon if the unit points elsewhere. Authentication directives in an included file may also explain why a setting appears correct in the main file but has no effect.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Test syntax before restarting

sudo proftpd -t -c /etc/proftpd/proftpd.conf

Use the same configuration path discovered in the service definition. A successful test means the file parses; it does not prove that an account can authenticate. If the command reports an error, fix that first and test again. Restart only after the configuration test succeeds:

sudo systemctl restart proftpd
sudo systemctl status proftpd --no-pager

3. Confirm the Unix account and password state

First determine whether ProFTPD is intended to authenticate a local Unix account or a virtual account. For a local account, verify that the operating system can resolve it:

getent passwd username
id username

The result should include a UID, GID, home directory, and login shell. If getent returns nothing, the account is not available through the configured identity source. PAM cannot invent those identity attributes; they must come from a Unix account or from a ProFTPD source such as AuthUserFile, SQL, or LDAP.

Check password and account aging

sudo passwd -S username
sudo chage -l username

These commands expose whether the password is set and whether the account or password has expired. Also check local lockout controls used by your Ubuntu installation. If a lockout module is present, its status and reset procedure are defined by the PAM stack; do not remove the module merely to make FTP accept a login.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reset a password only after confirming that ProFTPD uses this account:

sudo passwd username

Retest with credentials entered manually. FTP clients often cache a previous username or password, so clear the saved site entry or create a fresh connection profile before concluding that the reset failed.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

4. Inspect PAM and authentication order

Packages commonly use a PAM service file named /etc/pam.d/proftpd, although the exact name should be confirmed in the installed configuration and ProFTPD directives. Review that file and any included PAM fragments for account, shell, group, time, or deny rules.

sudo sed -n '1,240p' /etc/pam.d/proftpd
sudo grep -Rni 'AuthPAM' /etc/proftpd

ProFTPD uses PAM specifically to decide whether a user may log in; PAM alone does not provide the UID, GID, home directory, or other account metadata required for a session. Those details must resolve through the configured Unix, file, SQL, LDAP, or other authentication module.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why SSH success can coexist with FTP failure

  • SSH may read /etc/pam.d/sshd, while ProFTPD reads a separate PAM service file.
  • FTP may apply RequireValidShell, an /etc/shells check, or a <Limit LOGIN> rule that SSH does not.
  • An authoritative PAM or ProFTPD module can stop fallback to another module, so a valid password in one source is never tried against the next source.
  • FTP may be configured for virtual users while SSH uses only local Unix users.

Change authentication order only when the log and configuration show that order is the problem. Removing an authoritative denial can bypass an intentional security policy.

5. Validate virtual-user files

If the configuration contains AuthUserFile or AuthGroupFile, inspect those files even when the username and password look correct. Confirm the configured path exists and that the daemon can read it:

sudo ls -l /path/to/virtual-users
sudo namei -l /path/to/virtual-users

ProFTPD expects a colon-delimited record format. A missing field or an extra colon can produce a log entry such as “Malformed entry in AuthUserFile/AuthGroupFile.” Repair the specific record rather than adding ad hoc fields. Keep ownership and permissions restricted so ordinary users cannot read password hashes or alter account metadata.

After editing, run the same configuration test used by the service and reproduce one login. If the file is generated from a database or deployment tool, correct the generator as well; otherwise the malformed record may return after the next update.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

6. Check shell, login, and account-policy restrictions

Shell validation

With RequireValidShell enabled, ProFTPD can reject an account whose shell is not considered valid. Check the shell recorded for the user and whether it appears in /etc/shells:

getent passwd username | cut -d: -f7
grep -Fx "$(getent passwd username | cut -d: -f7)" /etc/shells

PAM may apply its own shell allowlist or deny module. Inspect the actual ProFTPD PAM stack before changing the user’s shell or globally editing /etc/shells. A shell change made only to bypass FTP can affect other services.

Login limits and access rules

Search included configuration files for <Limit LOGIN>, AllowUser, DenyUser, group restrictions, and host-based rules. A rule matching the client’s address or group can deny a correct password. Check both the surrounding context and directive precedence; a restrictive block may be inherited from a global section.

Locked or expired accounts

An account can resolve correctly and still be denied because it is locked, expired, outside an allowed login time, or rejected by a group or access module. The PAM log normally identifies the policy type. Correct the account state or the intended policy, then retest; do not disable all account checks as a diagnostic shortcut.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Check home-directory and chroot permissions

Once authentication succeeds, ProFTPD must enter the configured home or chroot directory. A user needs execute permission on every parent directory in the path, not merely read permission on the final directory. ProFTPD logs the path when it cannot chroot or enter it.

getent passwd username | cut -d: -f6
sudo namei -l /home/username
sudo -u username test -x /home/username && echo accessible

Repeat the check for the exact DefaultRoot or other chroot target shown in the configuration and log. Correct ownership or parent-directory permissions narrowly; avoid making an entire filesystem world-readable or writable. If a parent directory is intentionally inaccessible, choose a chroot location whose complete path the account can traverse.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

8. Use foreground debug mode for one controlled attempt

When ordinary logs do not identify the cause, run one test in the foreground with a high debug level. Stop the service first if it would otherwise bind the same FTP port:

sudo systemctl stop proftpd
sudo proftpd -n -d 10 -c /etc/proftpd/proftpd.conf

In this mode -n keeps the daemon in the terminal and -d 10 requests the highest documented debug level. Reproduce exactly one login, read which module or rule rejects it, and stop the foreground process with Ctrl-C. Restore normal service operation afterward:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl start proftpd

Use the same -c path and included files as the systemd service. Running a diagnostic daemon with a different configuration can create a convincing but irrelevant result. Debug output can expose usernames, paths, and policy details, so restrict terminal and log access and remove retained copies when finished.

Match the symptom to the likely fix

Evidence Likely cause Action
“Unknown user,” no account from getent Wrong identity source or username Use the configured Unix, file, SQL, or LDAP source and verify the exact account name.
PAM reports expired, locked, denied, or disallowed account Account policy rejection Correct the specific policy or account state; keep required lockout and access controls.
SSH works but ProFTPD PAM rejects Different PAM service or module order Inspect the ProFTPD PAM file and AuthPAM* directives; do not infer FTP policy from SSH.
“Malformed entry in AuthUserFile/AuthGroupFile” Missing field, extra colon, wrong path, or unreadable file Repair the record and ownership/permissions, then run proftpd -t.
Invalid shell or shell-list message RequireValidShell, PAM shell module, or /etc/shells Verify the intended shell policy before changing the account shell or allowlist.
Login limit or deny rule appears in the log <Limit LOGIN>, user/group, or host restriction Adjust the matching rule only if the restriction is unintended.
Chroot or directory permission failure User cannot traverse a parent or target path Use namei -l, then grant the minimum required execute permission.
Manual test differs from service behavior Different configuration path or included files Compare systemd’s ExecStart with the diagnostic command and use one -c file.

After login works: choose encrypted transport

Plain FTP sends credentials and data without encryption. If an existing application requires FTP semantics, configure FTP over TLS (FTPS) with a certificate and enforce encrypted sessions according to your deployment policy. Account authentication succeeding is not a reason to leave clear-text FTP exposed.

If FTP compatibility is not required, SFTP is a separate protocol carried by OpenSSH. It normally uses the SSH control channel rather than FTP’s separate control and passive data channels, which can simplify firewall and NAT rules. SFTP clients cannot connect to an FTPS endpoint, and an FTP client cannot be “switched” to SFTP without protocol support.

Choice When it fits Operational considerations
Plain FTP Only isolated, controlled environments where clear text is explicitly acceptable Credentials and data are exposed; avoid on untrusted networks.
FTPS An application requires FTP commands, but encryption is required Deploy certificates and account for FTP control plus passive data ports and firewall/NAT settings.
SFTP The client supports SSH file transfer and FTP semantics are unnecessary Uses OpenSSH authentication and a single SSH-based transport model; configure SSH access separately from ProFTPD.

Keep the fix secure and repeatable

  • Record the exact configuration file, included fragment, identity source, and policy that resolved the error.
  • Retain only the minimum permissions needed for AuthUserFile, AuthGroupFile, certificates, and home directories.
  • Retest after package updates because PAM files and included ProFTPD snippets can change.
  • Use a dedicated test account when possible, and remove it or disable it after validation.
  • Do not publish debug logs: they can reveal account names, filesystem paths, and authentication decisions.
  • When the error returns, compare the new log entry with the known-good configuration rather than repeatedly resetting passwords.

The durable solution is the one that makes the logs explain the rejection, keeps the intended account and policy controls intact, and uses encrypted transport for any network that is not fully trusted.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.