ftp
ftp 常见问题
Server sent passive reply with unroutable address. Using server address instead
连接上了无法查看文件目录
可能是服务器端口 20000-30000 没有开启访问默认情况下服务器ftp有如下配置PassivePortRange 20000 30000
install ftp in ubuntu
// update your base system with the latest available packagesapt-get update -y// Install Pure FTPdapt-get install pure-ftpd -y//verify the status of Pure FTPd with the following command:systemctl status pure-ftpd
remove pure-ftpd
apt-get remove --purge pure-ftpd pure-ftpd-common
Create FTP User
创建系统用户的组sudo groupadd ftpgroup创建系统用户,加入刚刚创建的组sudo useradd ftpuser -g ftpgroup -d /data/wwwroot -s /sbin/nologin创建ftp存储目录,并使相应的系统用户拥有权限sudo mkdir -p /data/wwwroot/ftpfoldersudo chown -R ftpuser:ftpgroup /data/wwwroot/ftpfolder创建虚拟用户 user1sudo pure-pw useradd user1 -u ftpuser -g ftpgroup -d /data/wwwroot/ftpfolder/user1用户创建完成后需要运行下面命令创建/更新用户数据库。或者在运行 pure-pw useradd 等命令时加上 -m 参数直接创建/更新数据库以省略本步。sudo pure-pw mkdb使用 apt-get 安装的 pure-ftpd 默认没有开启虚拟用户的的认证方式,所以就算创建了虚拟用户,仍然无法登陆ftp。pure-ftpd 的默认配置文件位置在 /etc/pure-ftpd 文件夹下,启用虚拟用户认证的方式需要在认证文件夹 /etc/pure-ftpd/auth 下创建对应认证方式的软连接。cd /etc/pure-ftpd/auth/创建虚拟用户认证的软连接sudo ln -s ../conf/PureDB 60puredb还需要检查一下设置中虚拟用户方式是否是开启状态cat 60puredb结果为 /etc/pure-ftpd/pureftpd.pdb 。内容为虚拟用户数据库文件之后再重启 pure-ftpd 服务sudo systemctl restart pure-ftpd此时已经可以通过 ftp 客户端使用创建好的虚拟用户进行连接了# 修改密码eg: 修改 user1 的密码sudo pure-pw passwd user1# 修改后要更新一下sudo pure-pw mkdb# 显示用户列表sudo pure-pw list# 删除用户pure-pw userdel someuser
Create a Self-signed SSL/TLS certificate
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365
Configure Pure FTPd to use SSL/TLS
vim /etc/pure-ftpd/pure-ftpd.confChange the following lines:TLS 2TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3CertFile /etc/ssl/private/pure-ftpd.pem// Enforce TLS Encryption// create the /etc/pure-ftpd/conf/TLS file and put number 1 into the fileecho 1 | sudo tee /etc/pure-ftpd/conf/TLSecho 2 | sudo tee /etc/pure-ftpd/conf/TLSsystemctl restart pure-ftpd
配置 Pure-FTPd
配置文件默认位于 /etc/pure-ftpd/pure-ftpd.conf
以下为常用配置,可以通过 vim 进行修改。
# 指定IP地址和端口号,默认为21端口,为安全考虑可更改为其它端口Bind 0.0.0.0,21898# 指定PureDB用户数据库文件PureDB /etc/pure-ftpd/pureftpd.pdb# 拒绝匿名登录NoAnonymous yes# 被动模式端口范围,默认为30000到50000PassivePortRange 30000 50000
pureftpd.pdb 文件
pureftpd.pdb is a file used by the Pure-FTPd server to store user account information and other configuration data.
When you make changes to user accounts using the pure-pw tool, the changes are written to the pureftpd.pdb file. The Pure-FTPd server then reads the updated file to load the new user account information and configuration data
/etc/pure-ftpd/pureftpd.pdboneinstack/usr/local/pureftpd/etc/pureftpd.pdb
pureftp passwd 文件位置
/etc/pure-ftpd/pureftpd.passwdoneinstack/usr/local/pureftpd/etc/pureftpd.passwd
View Pure-FTPd Logs with journalctl
sudo journalctl -u pure-ftpd# For real-time log updates, use:sudo journalctl -u pure-ftpd -f