1.安装

sudo apt-get install vsftpd

2.安装后启动,停止,重启命令

sudo service vsftpd start

sudo service vsftpd stop

sudo service vsftpd restart

3.配置

vi /etc/vsftpd.conf

listen = YES   #Run standalone? 启用独立vsftpd服务器,YES表示是

#listen_ipv6=YES #是否监听ipv6默认关闭

anonymous_enable=NO #是否允许匿名登录FTP,这里默认否

anon_upload_enable=YES #是否允许匿名用户上传文件

anon_mkdir_write_enable=YES #是否允许匿名用户创建文件或目录

local_enable=YES  #是否允许本地用户登录

write_enable=YES #允许本地用户任何形式的写权限,例如读,删除,上传文件等

use_localtime=YES #FTP文件列出时显示本地时区的时间

dirmessage_enable=YES #用户登录成功后显示登录信息

xferlog_enable=YES #激活上传或下载的日志

xferlog_file=/var/log/vsftpd.log #上传或下载的日志文件的默认路径

#xferlog_std_format=YES #是否使用标准的ftpd xferlog日志格式

connect_from_port_20=YES #是否从20端口连接FTP

chown_uploads=YES #是否改变上传文件的所有者
chown_username=nobody #改变上传文件的所有者为谁,nobody表示没有改变

secure_chroot_dir=/var/run/vsftpd/empty #当vsftpd不允许文件系统权限时的chroot()目录,这里需要是一个空目录

pam_service_name=vsftpd #vsftpd PAM模式时的服务名称

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #ssl加密登录时rsa证书的位置

#idle_session_timeout=600 #用户会话的过期时间600s

#data_connection_timeout=120 #数据连接的过期时间

#nopriv_user=ftpsecure #定义的一个ftp的独立的非特殊权利的用户

#async_abor_enable=YES #是否允许运行async命令,不需要

#ascii_upload_enable=YES  #是否允许二进制上传文件
#ascii_download_enable=YES #是否允许二进制下载文件

#ftpd_banner=Welcome to blah FTP service #用户连接上ftp后的显示信息

#deny_email_enable=YES  #安全起见,是否开启限制某些匿名邮箱地址不能登录ftp

#banned_email_file=/etc/vsftpd.banned_emails  禁止访问ftp匿名邮箱存放的文件路径

4.vsftpd两种用户

本地用户:即登录linux的用户,如root,自己设置的用户。可以用来登录ftp

虚拟用户:ftp添加的用户,不能登录linux系统,仅用来登录ftp的。

添加虚拟用户:sudo useradd ftp -d /home/vsftpd  -s /sbin/nologin

这里添加了一个ftp用户,关联到/home/vsftpd目录下,-s /sbin/nologin表示不允许登录系统

chown ftp:ftp /home/vsftpd 修改/home/vsftpd的所有者为ftp

5.重启

sudo service vsftpd restart