当前位置:首页 > Linux > 正文

Linux查看FTP用户命令

查看vsftpd用户:检查/etc/vsftpd.conf中的userlist_file指向文件(如/etc/vsftpd.user_list)及userlist_enable设置;查看pure-ftpd用户:检查/etc/pure-ftpd/pureftpd.passwd文件或使用pure-pw命令。

在Linux系统中,查看FTP用户的方法取决于使用的FTP服务类型(系统用户或虚拟用户)以及具体的FTP服务软件(如vsftpd、proftpd等),以下是详细的操作指南:


通过系统用户查看FTP用户

如果FTP服务直接使用Linux系统用户(如vsftpd默认配置),可通过以下步骤查看:

查看所有系统用户

执行命令:

   cat /etc/passwd | grep -v "/sbin/nologin" | grep -v "/bin/false" | cut -d: -f1
  • 说明:过滤掉无法登录的系统用户(如服务账户),仅显示可登录的用户。
  • 注意:所有可登录系统的用户默认都能访问FTP(需FTP服务配置允许)。

检查FTP服务配置

编辑vsftpd配置文件,确认是否启用了系统用户:

Linux查看FTP用户命令  第1张

   sudo nano /etc/vsftpd.conf

检查关键参数:

  • local_enable=YES:允许系统用户登录。
  • userlist_enable=YES:通过/etc/vsftpd.user_list管理允许/禁止的用户列表。

查看允许登录的FTP用户列表

  • 若启用了userlist_enable,查看允许的用户:
    cat /etc/vsftpd.user_list | grep -v "#"
  • 查看禁止登录的用户(如果userlist_deny=NO):
    cat /etc/vsftpd.user_list

通过虚拟用户查看(适用于vsftpd)

如果使用虚拟用户(不与系统账户关联),操作如下:

定位虚拟用户数据库文件

虚拟用户信息通常存储在数据库文件中:

  • db文件路径/etc/vsftpd/login_users.db(或其他自定义路径)。
  • 文本源文件:如/etc/vsftpd/login_users.txt(存储用户名和密码)。

查看虚拟用户列表

使用db_load工具读取数据库(需安装db-util):

   sudo db_dump -p /etc/vsftpd/login_users.db | grep -E '^[a-zA-Z]' | awk '{print $1}'
  • 说明:直接解析数据库中的用户名。

检查PAM认证配置

编辑PAM配置文件,确认虚拟用户数据库路径:

   sudo nano /etc/pam.d/vsftpd

查找类似行:

   auth required pam_userdb.so db=/etc/vsftpd/login_users
   account required pam_userdb.so db=/etc/vsftpd/login_users
  • db=后的路径即虚拟用户数据库位置(不含.db后缀)。

其他FTP服务软件的查看方法

ProFTPD

  • 虚拟用户通常存储在/etc/proftpd目录下的独立配置文件或SQL数据库中。
  • 查看配置文件:
    grep "AuthUserFile" /etc/proftpd/proftpd.conf  # 查找用户文件路径
    cat /path/to/authfile  # 直接查看用户文件

Pure-FTPd

  • 虚拟用户通过pure-pw管理,查看所有用户:
    sudo pure-pw list
  • 用户数据存储在/etc/pure-ftpd/pureftpd.passwd/etc/pureftpd.pdb

注意事项

  1. 权限要求:查看配置文件需sudo权限。
  2. 服务差异:不同FTP软件配置路径可能不同(如vsftpd在/etc/vsftpd/,ProFTPD在/etc/proftpd/)。
  3. 安全建议
    • 避免直接使用系统用户提供FTP服务,推荐用虚拟用户。
    • 定期审计用户列表,禁用未使用的账户。
    • 配置文件修改后重启服务生效:sudo systemctl restart vsftpd

常见问题

Q:执行命令后无输出?
A:可能是未安装FTP服务,或配置未启用用户登录,使用systemctl status vsftpd检查服务状态。

Q:如何确认当前FTP服务类型?
A:通过进程判断:

ps aux | grep -E "vsftpd|proftpd|pure-ftpd"

引用说明

  • vsftpd官方文档:https://security.appspot.com/vsftpd.html
  • ProFTPD配置指南:http://www.proftpd.org/docs/
  • Linux man手册(man vsftpd.conf, man pure-pw)。
0