1、检查是否安装vsftpd
[root@ee65cbc5372d tmp]# rpm -qa | grep vsftpd
vsftpd-2.2.2-24.el6.x86_64
已安装
2,安装vsftpd
sudo apt-get install vsftpd
3,卸载vsftpd
sudo apt-get remove vsftpd
4,查看配置文件
默认的配置文件
若要配置vsftpd,需要修改vsftpd的配置文件。终端执行:
sudo gedit /etc/vsftpd.conf
有关用户登录控制的行:
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)
有关用户权限控制的行:
write_enable=YES,开启全局上传
local_umask=022,本地文件上传的umask设置为022,系统默认。
anon_upload_enable=YES,允许匿名用户上传,当然要在write_enable=YES的情况下。同时必须建立一个允许ftp用户读写的目录。
anon_mkdir_write_enable=YES,允许匿名用户创建目录
chown_uploads=YES,匿名用户上传的文件属主转换为别的用户,一般建议为root。
chown_username=whoever,改此处的whoever为要转换的属主,建议root
chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。
chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件
nopriv_user=ftpsecure,指定一个安全账户,让ftp完全隔离和没有特权的账户
有关用户连接和超时的行:
idle_session_timeout=600,默认的超时时间
data_connection_timeout=120,设置默认数据连接的超时时间
有关服务器日志和欢迎信息的行:
dirmessage_enable=YES,允许为配置目录显示信息
ftpd_banner=Welcome to blah FTP service. ftp的欢迎信息
xferlog_enable=YES 打开日志记录功能
xferlog_file=/var/log/xferlog 日志记录文件的位置
5,知道配置的直接跳过看上一步,现在开始配置
(5.1)因为vsftpd默认root不能登录,所以我们这里新建一个用户,怎么创建我不说了,我就说创建的结果。我们这里例如创建一个ftp用户,设置它的家目录为/home/ftp,并为这个用户用户设置密码。
(5.2) vi /etc/vsftpd.conf,设置
anonymous_enable=NO ;
chroot_list_enable=YES //限制访问自身目录 ;
chroot_list_file=/etc/vsftpd.chroot_list(编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行) 。
(5.3)
改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
(5.4)
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
赠言(重要):
vsftpd.conf的配置详解:
# 默认配置文件: /etc/vsftpd.conf
# 下面是配置的选项及说明
######### 核心设置 ###########
# 允许本地用户登录
local_enable=YES
# 本地用户的写权限
write_enable=YES
# 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
# 默认登录以后的根目录位置
local_root=/tmp/
# 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable = NO
#验证方式
#pam_service_name=vsftpd
# 启用FTP数据端口的数据连接
connect_from_port_20=YES
# 以独立的FTP服务运行
listen=yes
# 修改连接端口
#listen_port=2121
######### 匿名登录设置 ###########
# 允许匿名登录
anonymous_enable=NO
# 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
# 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
# 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
# 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
# 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000
######### 用户限制设置 ###########
#### 限制登录
# 用userlist来限制用户访问
#userlist_enable=yes
# 名单中的人不允许访问
#userlist_deny=no
# 限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist_deny.chroot
#### 限制目录
# 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list
######### 日志设置 ###########
# 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
# 激活上传/下载的日志
xferlog_enable=YES
# 使用标准的日志格式
#xferlog_std_format=YES
######### 安全设置 ###########
# 用户空闲超时,单位秒
#idle_session_timeout=600
# 数据连接空闲超时,单位秒
#data_connection_timeout=120
# 将客户端空闲1分钟后断开
#accept_timeout=60
# 中断1分钟后重新连接
#connect_timeout=60
# 本地用户传输速率,单位bite
#local_max_rate=50000
# FTP的最大连接数
#max_clients=200
# 每IP的最大连接数
#max_per_ip=5
######### 被动模式设置 ###########
# 是否开户被动模式
pasv_enable=yes
# 被动模式最小端口
pasv_min_port=5000
# 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
# 欢迎信息
ftpd_banner=Welcome to Ftp Server!
上面配置的
# 默认登录以后的根目录位置
local_root=/tmp/
这个配置是配置用户登录ftp后的根目录。你可以修改这里,但是如果你想要刚才创建的用户能访问,最好设置这个ftp根目录在刚创建的用户的家目录下面,否则刚才那个用户访问不到别的路径(因为在上面配置里面设置了限制用户只能访问他的家目录)。这个看你需求吧,不一定的。