Raspbian版本:git
安装:github
由于使用的是默认的pi用户,因此下面的命令都带着sudo。web
sudo apt-get install pure-ftpd
2. 建立用户组ftpgroup,建立用户ftpuser,并指定组为ftpgroup,不能登陆,没有家目录数据库
sudo groupadd ftpgroup sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null
3. 为用户ftpuser建立一个FTP的文件夹,并让其可以访问(修改文件夹的属主为ftpuser,属组为ftpgroup)安全
sudo mkdir /home/pi/FTP sudo chown -R ftpuser:ftpgroup /home/pi/FTP
4. 建立一个虚拟用户upload,并映射到ftpuser用户、ftpgroup组,家目录设置为/home/pi/FTP服务器
sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /home/pi/FTP -m
该行命令执行以后会要求输入密码(两次)。-m 选项做用是将用户密码加入PDB数据库(/etc/pure-ftpd/pureftpd.pdb)中,不须要重启FTP。spa
多个虚拟帐户可以映射到同一系统用户。rest
5. 为虚拟用户建立数据库code
sudo pure-pw mkdb
该行命令会读取/etc/pure-ftpd/pureftpd.passwd,并生成/etc/pure-ftpd/pureftpd.pdb文件。在第四步中添加-m选项以后,这步能够省略。blog
6. 重启Pure-FTP
sudo service pure-ftpd restart
若是要修改帐号的一些信息,例如修改家目录,能够执行命令:
sudo pure-pw usermod upload -d /data/web -m
一样,不须要重启。
须要注意的就是,虚拟帐户要访问的目录必定须要其映射的系统帐户也可以访问。
注:
咱们登陆FTP有三种方式,匿名登陆、本地用户登陆和虚拟用户登陆。
匿名登陆:在登陆FTP时使用默认的用户名,通常是ftp或anonymous。
本地用户登陆:使用系统用户登陆,在/etc/passwd中。
虚拟用户登陆:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登陆FTP,只能访问FTP服务器提供的资源,大大加强了系统的安全。
详情:https://github.com/xzycn/documentation/blob/master/remote-access/ftp.md