Linux怎么查看FTP账号?

查看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)和用户管理方式(系统用户或虚拟用户),以下是详细操作指南:

Linux怎么查看FTP账号?


确认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/目录,

    Linux怎么查看FTP账号?

    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日志
    实时监控登录用户:

    Linux怎么查看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命令(需服务支持)。


安全建议

  1. 权限最小化:禁止普通用户SSH登录,仅允许FTP访问。
  2. 使用虚拟用户:避免直接暴露系统用户。
  3. 定期审计:检查/etc/passwd和FTP配置文件,删除无效用户。
  4. 防火墙限制:通过ufwiptables限制FTP端口的访问IP。

  • 系统用户 → 查看/etc/passwd
  • vsftpd虚拟用户 → 检查/etc/vsftpd_user_conf/或数据库文件
  • ProFTPD → 查看proftpd.confAuthUserFile指向的文件
  • Pure-FTPd → 使用pure-pw list命令

重要提示:操作前备份配置文件!修改配置后重启服务生效:

sudo systemctl restart vsftpd   # 根据实际服务名调整

引用说明基于Linux主流FTP服务官方文档(vsftpd、ProFTPD、Pure-FTPd)及系统管理最佳实践整理。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/47824.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月6日 21:08
下一篇 2025年7月6日 21:16

相关推荐

  • Linux快速关闭GPU计算进程

    要停止Linux中的GPU运算,先使用nvidia-smi命令查找占用GPU的进程ID(PID),然后使用kill -9 PID命令强制终止该进程即可释放GPU资源。

    2025年7月2日
    200
  • linux下如何调试c程序

    Linux下调试C程序,可先使用gcc -g选项编译生成含调试信息的可执行文件,再通过gdb加载该文件,利用break设置断点、run运行程序、next单步执行等命令进行调试

    2025年7月14日
    000
  • Linux系统补丁怎么安装?

    在Linux系统中,通过patch命令应用补丁包:获取补丁文件(通常为.patch或.diff),进入源代码目录,执行patch -p1 ˂ /path/to/patchfile,应用前务必备份原文件并验证补丁来源。

    2025年7月4日
    000
  • Linux怎么查看网卡信息?

    在Linux中查询网卡信息,常用以下命令:,1. **ip link show** 或 **ip addr**:查看所有网络接口及其状态、MAC地址和IP地址(推荐)。,2. **ifconfig**:传统命令,查看接口信息(部分系统需安装net-tools包)。,3. **lspci | grep -i ethernet**:列出PCI总线上的以太网卡硬件信息。,4. **nmcli device status**:NetworkManager管理的网络设备状态。

    2025年7月4日
    000
  • Linux如何设置root权限控制?

    在Linux中通过配置sudoers文件授权特定用户/组执行root命令,限制直接root登录(如禁用SSH root登录),并遵循最小权限原则管理超级用户权限。

    2025年6月24日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN