今天需要更新一个老项目,老到还是用FTP发布代码的那种项目,但有ftp账号,忘记密码了,于是需要登录到服务器重置密码,跟大家分享下经过,希望后续遇到类似问题的朋友有点启发。
这台服务器是别人交接过来的,所以对这台服务器比较陌生。因为之前有所了解,Linux系统最常见的就是VSFTPD这个应用,所以先用whereis vsftpd尝试找到FTP配置目录,很顺利地,输出的结果显示配置文件在/etc/vsftpd/目录下。
看了一下,在配置根目录下有user_list文件,打开发现目标用户名并不在这个文件里,所以初步判断,应该是单独有配置了用户列表。
在同一个目录下发现有个叫user_conf.d的文件夹,打开一看,里面确实包含了以用户名a命名的文件, 不过尝试用passwd a来修改密码,一直报错:用户不存在,百思不其解。于是继续找,后面在百度上看到一篇文章,说是有一种配置方式是将用户名和密码统一写到一个叫login.txt的文本里的,找了一下,没发现这个文件,不过发现了一个叫pam_mysql_config的文件,打开一看,文件的内容包括数据的host,用户名和密码等连接信息,通过mysql一连接后发现有个叫vsftpd的数据库,里面的account里可以看到账户和密码,至此,问题解决了。