查看Linux中的FTP用户主要有两种方式: ,1. 若使用系统用户登录FTP,直接查看/etc/passwd中拥有合法shell的用户(如vsftpd默认配置)。 ,2. 若为虚拟用户(如vsftpd的pam认证),查看认证文件(通常是/etc/vsftpd/login_users或/etc/pam.d/vsftpd指定的数据库文件)。 ,其他FTP服务(如ProFTPD)需检查其独立配置文件中的用户定义部分。
在Linux系统中查看FTP用户的方法取决于使用的FTP服务器软件(如vsftpd、ProFTPD、Pure-FTPd)和用户管理方式(系统用户或虚拟用户),以下是详细操作指南:
确认FTP服务器类型
首先确定系统运行的FTP服务:
sudo systemctl status vsftpd # 检查vsftpd sudo systemctl status proftpd # 检查ProFTPD sudo systemctl status pure-ftpd # 检查Pure-FTPd # 或使用通用命令 sudo netstat -tuln | grep ':21' # 查看21端口占用
根据FTP服务类型查看用户
使用系统用户作为FTP用户
如果FTP直接使用Linux系统用户(常见于vsftpd默认配置):
# 查看所有系统用户 cat /etc/passwd | cut -d: -f1 # 查看有登录权限的用户 grep -E "/bin/(bash|sh)" /etc/passwd | cut -d: -f1
注意:需确保FTP配置允许系统用户登录(如vsftpd的
local_enable=YES)。
vsftpd虚拟用户
若使用虚拟用户(推荐更安全):

-
步骤1 查看用户配置文件
虚拟用户通常存储在/etc/vsftpd/或/etc/vsftpd_user_conf/目录,ls /etc/vsftpd_user_conf/ # 列出所有虚拟用户配置
每个用户对应一个文件(如
user1),文件名即用户名。 -
步骤2 查看用户数据库文件
若使用db_load管理用户,查看数据库路径(如/etc/vsftpd/loginusers.db):sudo db_dump -p /etc/vsftpd/loginusers.db | grep -E '^[a-zA-Z]' # 提取用户名
ProFTPD用户
- 系统用户:同上述
/etc/passwd查看方式。 - 虚拟用户:
用户存储在/etc/proftpd/下的配置文件(如proftpd.conf或/etc/proftpd/conf.d/):
sudo grep "User" /etc/proftpd/proftpd.conf # 查找用户配置 sudo grep "AuthUserFile" /etc/proftpd/*.conf # 查找用户文件路径
若使用
AuthUserFile(如/etc/proftpd/ftpd.passwd):sudo cat /etc/proftpd/ftpd.passwd | cut -d: -f1 # 提取用户名
Pure-FTPd用户
- 系统用户:同
/etc/passwd查看方式。 - 虚拟用户:
使用pure-pw命令管理用户数据库:sudo pure-pw list # 直接列出所有虚拟用户
若命令不可用,检查数据库路径(默认
/etc/pure-ftpd/pureftpd.passwd):sudo pure-pw mkdb /etc/pure-ftpd/pureftpd.pdb -f /etc/pure-ftpd/pureftpd.passwd sudo pure-pw list # 重建数据库后再次尝试
其他辅助方法
-
查看FTP日志:
实时监控登录用户:
sudo tail -f /var/log/vsftpd.log # vsftpd sudo tail -f /var/log/proftpd/* # ProFTPD sudo tail -f /var/log/syslog | grep pure-ftpd # Pure-FTPd
-
连接测试:
使用ftp localhost登录后执行who命令(需服务支持)。
安全建议
- 权限最小化:禁止普通用户SSH登录,仅允许FTP访问。
- 使用虚拟用户:避免直接暴露系统用户。
- 定期审计:检查
/etc/passwd和FTP配置文件,删除无效用户。 - 防火墙限制:通过
ufw或iptables限制FTP端口的访问IP。
- 系统用户 → 查看
/etc/passwd - vsftpd虚拟用户 → 检查
/etc/vsftpd_user_conf/或数据库文件 - ProFTPD → 查看
proftpd.conf或AuthUserFile指向的文件 - Pure-FTPd → 使用
pure-pw list命令
重要提示:操作前备份配置文件!修改配置后重启服务生效:
sudo systemctl restart vsftpd # 根据实际服务名调整
引用说明基于Linux主流FTP服务官方文档(vsftpd、ProFTPD、Pure-FTPd)及系统管理最佳实践整理。
