Really I do not want to toss
vsftpd
, and wanted to brute quickly and effectively run a ftp server, findpure-ftpd
this stock, look pretty easy - Amway
installation
The system used is Ubuntu 19.10, in theory, have a full range of General Motors, the official repositories that comes there, apt on the line
$ sudo apt install pure-ftpd
Create a virtual user
# 使用普通系统账户lpwm登录状态下操作
$ mkdir /home/lpwm/ftp
$ sudo pure-pw useradd lua -u lpwm -d /home/lpwm/ftp/
$ sudo pure-pw mkdb
The above command creates a lua
virtual account, and associate the system average user lpwm
permissions for file operations (safer approach is to specially new users and user groups to ftp virtual user associated with the use, here the easy way directly associated with the system of ordinary users), then mkdb
generates virtual user database files
Note that execute pure-pw
commands use sudo
rights, or due to insufficient permissions prompt the following error:
Error.
Check that [lua] doesn’t already exist,
and that [/etc/pure-ftpd/pureftpd.passwd.tmp] can be written.
Restart Service
$ sudo systemctl restart pure-ftpd
Filled pit
Client connection error:
530 Login authentication failed
Login failed.
Check /etc/pure-ftpd/auth/
inside the virtual lack of reference to the local user database 60puredb
soft connection, plus manual
$ sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb
# 重启下服务
$ sudo systemctl restart pure-ftpd
At this point, again from the client to log on OJBK the
Continue to fill the pit
Connection is no problem, but the client from connecting to prompt the user name can have a 10-second delay, the feeling should be a DNS resolution problem, flipped through the information, and sure enough - are within the network which used to be what ! parsing, what bike to deal with it:
$ sudo vim /etc/pure-ftpd/conf/DontResolve
Edit content yes
, save and exit and then restart the service on the line. The client even seconds -
Remarks about, pure-ftpd conf folder of each file name is actually corresponding
/etc/pure-ftpd/pure-ftpd.conf
configuration item file, you have to configure coverage.