1、安装命令
sudo apt-get install vsftpd
2、安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口
ps -ef | grep vsftpd
netstat -tnlp | grep 21
端口21正在被监听
3. 匿名用户登录
安装完后不用做任何配置既可用匿名方式进行访问,默认的ftp文件夹为/srv/ftp。
登录可以在浏览器中,文件夹输入框中以及类型windows/Linux终端中进行测试。
建议使用windows/Linux终端测试,失败了会有错误输出,可以根据错误进行调试。
更改配置文件vsftpd.conf
vim /etc/vsftpd.conf
将anonymous_enable=NO 改为anonymous_enable=YES
修改完成后重启服务
sudo /etc/init.d/vsftpd restart匿名登录,用户名称为ftp,密码不输入,直接回车
4、 建立各账户的home目录
在/home目录建立ftp账户ftpdir目录
mkdir -p /home/ftp/ftpdir
然后在ftpdir目录下创建用户admin, test的目录
cd /home/ftp/ftpdir
mkdir -p /home/ftp/ftpdir/admin test
5、为虚拟用户创建本地系统用户
虚拟用户家目录为 /home/ftp/ftpdir, 用户登录终端设为/bin/false(即使之不能登录系统)
6、创建虚拟用户数据库
新建loguser.txt文件,
sudo touch /home/loguser.txt
vim /home/loguser.txt
里面输入虚拟用户名和密码,格式如下:
admin
123456
test
123456
注意不要多空格和空行,其中奇数行为用户名,偶数行为密码。
最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。
新建一个文件夹/etc/vsftpd,放置配置文件
sudo mkdir /etc/vsftpd
然后执行
sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd/vsftpd_login.db
最后设置一下数据库文件的访问权限
sudo chmod 600 /etc/vsftpd/vsftpd_login.db
7、配置PAM文件
新建/etc/pam.d/vsftpd.vu,并编辑,
sudo vi /etc/pam.d/vsftpd.vu
输入内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
##确认是lib下还是lib64下,根据实际情况确定,中间是tab而非空格##
8、新建etc/vsftpd /vsftpd_user_conf文件夹
mkdir /etc/vsftpd/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd/vsftpd_user_conf中
cd /etc/vsftpd/vsftpd_user_conf
sudo touch admin root test
9、配置admin虚拟用户(权限:上传,下载删除,重命名)
vi /etc/vsftpd/vsftpd_user_conf/admin
里面添加
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/
10、配置test虚拟用户(权限:上传,下载)
vi /etc/vsftpd/vsftpd_user_conf/test
里面添加
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_root=/home/ftp/ftpdir/test
11、新建/etc/vsftpd/vsftpd.chroot_list
touch /etc/vsftpd/vsftpd.chroot_list
vi /etc/vsftpd/vsftpd.chroot_list(#定义不能更改用户主目录的文件 )
里面添加
admin
12、安装完修改配置文档,更改vsftp.conf的配置
修改配置之前,先备份当前配置
cp /etc/vsftpd.conf /etc/vsftpd.conf.old
vsftpd.conf的参数使用如下:
vim /etc/vsftpd.conf
13、在ubuntu中,vsftpd的主要配置文件分布如下:
14、 vsftpd的开始、关闭和重启