1、安装
$ sudo apt-get install vsftpd
2、设置 vsftpd.conf文件(查找对应项,去掉注释#,或更改成自定义值)
备份vsftpd.conf文件
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
编辑vsftpd.conf文件
vsftp.conf文件的介绍:
listen=YES
#listen_ipv6=YESanonymous_enable=YES 允许匿名登入
#local_enable=YES 允许本地用户登入
#write_enable=YES 允许本地用户修改和删除
#local_umask=022 FTP上传文件权限 ,默认是077
#anon_upload_enable=YES 允许匿名用户上传
#anon_mkdir_write_enable=YES 允许匿名用户的写和创建目录的权限
dirmessage_enable=YES 当切换目录时,显示该目录下message隐藏文件的内容
xferlog_enable=YES 激活上传和下载的日志
connect_from_port_20=YES 启动FTP数据端口的连接请求
#chown_uploads=YES
#chown_username=whoever 改变上传文件的所有着为whoever
#xferlog_file=/var/log/vsftpd.log 上传/下载日志文件所默认的路径
#xferlog_std_format=YES 使用标准的ftpd xferlog日志格式
#idle_session_timeout=600 将在用户会话空闲10分钟后被中断
#data_connection_timeout=120 将在数据连接空闲2分钟后被中断
#nopriv_user=ftpsecure 运行vsftpd需要的非特殊系统用户默认nobody
#async_abor_enable=YES 是否允许运行特殊的FTP命令async
#ascii_upload_enable=YES 启用上传的ascii传输方式
#ascii_download_enable=YES 启用下载的ascii传输方式
#ftpd_banner=Welcome to blah FTP service. 用户连接服务器后显示信息
#deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)
#banned_email_file=/etc/vsftpd.banned_emails如果是输入禁止的邮件地址的路径和名
==============================
#chroot_local_user=YES
#chroot_list_file=/etc/vsftpd.chroot_list
在 默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限许可的范围内进行下载和上传。这样的设置对于一个FTP服务器来说是不安全的。如果希望用户登录后不能切换到自家目录以外的目录,则需要设置chroot选项,涉及如下选项:
chroot_local_user
chroot_list_enable
chroot_list_file
有两种设置chroot的方法:
(1)设置对所有的本地用户执行chroot(即活动范围限制在自家目录)只要将chroot_local_user的值设 为YES即可, 即:
chroot_local_user=YES
(2)设置指定的用户执行chroot需要如下的设置:
chroot_local_user=NO
chroot_list_enable=YES (默认的)
chroot_list_file= /etc/vsftpd.chroot_list
这样,只有/etc/vsftpd.chroot_list文件中指定的用户才执行chroot。
注意 :上面所提及的文件/etc/vsftpd.chroot_list和下面将要提及的文件 /etc/vsftpd.user_list的格式要求均为每个 用户名占一行。
#ls_recurse_enable=YES 是否使用ls-R命令已防止浪费大量的服务器资源
secure_chroot_dir=/var/run/vsftpd
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/var/run/vsftpd
pam_service_name=vsftpd #定义PAM 所使用的名称,预设为vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem vsftpd用的rsa证书的位置
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 算法钥匙地址!
—————————————————————————————————————————————————————————————
一份写好的配置文件,功能:本地用户登陆后将被定向到 local_root=/var/www拥有所有权限,匿名用户登陆后定向到 anon_root=/home/ftp
本地用户用获得/www目录的进入权限否则也会出错,root用户不能使用需要新建个其他用户
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to yangmao.
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
anon_world_readable_only=No
local_root=/var/www
anon_root=/home/ftp
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key