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
原文地址:http://php2013.blog.51cto.com/7147744/1619284