1)使用apt-get 工具安装vsftpd
sudo apt-get install vsftpd
2)
service vsftpd start 开启vsftpd服务
service vsftpd stop 停止vsftpd服务
service vsftpd restart 重启vsftpd服务
3)修改vsftpd配置文件
sudo vi /etc/vsftpd.conf
4)主要相关配置
listen=YES # 服务器监听
local_enable=YES # 是否允许本地用户访问
write_enable=YES # 是否允许上传文件,不开启会报 550 permission denied
anonymous_enable=NO # 匿名访问允许,默认不要开启
#anon_upload_enable=YES # 匿名上传允许,默认是NO
#anon_mkdir_write_enable=YES # 匿名创建文件夹允许
5)用户访问目录的权限设置:
chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。 chroot_list_file=/etc/vsftpd.chroot_list #禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
(2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
(3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
(4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
6)
local_umask=022 # FTP上本地的文件权限,默认是077 dirmessage_enable=YES # 进入文件夹允许 xferlog_enable=YES # ftp 日志记录允许 connect_from_port_20=YES # 启用20号端口作为数据传送的端口 xferlog_enable=yes # 激活上传和下传的日志 xferlog_std_format=yes # 使用标准的日志格式 ftpd_banner=XXXXX
7)配置完成后可以使用以下命令重启vsftpd以生效配置
sudo /etc/init.d/vsftpd restart
或者
sudo service vsftpd restart
8)创建目录
mkdir -p /home/uftp
9)创建用户
sudo useradd -g ftp -d /home/uftp -m uftp
10)设置用户密码
sudo passwd uftp 123456
11)添加用户到用户权限文件中
编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出
sudo vim /etc/vsftpd.chroot_list
12)重启vsftpd服务
sudo service vsftpd restart
13)删除用户
sudo userdel uftp
14)卸载vsftpd
sudo apt-get remove --purge vsftpd