centos6.5离线安装vsftpd,配置

1. 查看是否安装vsftp

#  rpm -qa | grep vsftpd

如果没有提示则说明没有安装
如果提示版本号则说明已经安装

2. 下载vsftp  http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)

3. 安装vsftpd

在线安装
yum install -y vsftp
离线安装
[root@sem boot]# rpm -ivh vsftpd-2.2.2-13.el6_6.1.x86_64.rpm
Preparing...                ########################################### [100%]
   1:vsftpd                 ########################################### [100%]

 4.检查是否安装成功

[root@sem boot]# rpm -qa | grep vsftpd
vsftpd-2.2.2-13.el6_6.1.x86_64

出现版本号,说明安装成功

 5. 将ftp服务器设置为自动启动

chkconfig vsftpd on

或者

systemctl enable vsftpd.service

6. 启动服务

[root@sem boot]# service vsftpd start
为 vsftpd 启动 vsftpd:                                    [确定]

 7. 关闭服务

[root@sem boot]# service vsftpd stop
关闭 vsftpd:                                              [确定]

8. 重启服务

[root@sem boot]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

 9. 开启端口两个端口 20,21 

[root@sem boot]# iptables -I INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
[root@sem boot]# iptables  -I OUTPUT -o eth0 -p tcp --sport 20 -j ACCEPT
[root@sem boot]# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]
[root@sem boot]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]

10. 测试

 使用匿名账号登录,Name输入anonymous  ,Password直接回车

[root@localhost ~]# ftp 10.172.4.76
Connected to 10.172.4.76 (10.172.4.76).
220 (vsFTPd 2.2.2)
Name (10.172.4.76:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Oct 17  2014 pub
226 Directory send OK.

 如果提示 227 Entering Passive Mode 

由于服务器上的FTP进行TCP/IP筛选,仅允许特定的端口可以被客户端连接,所以无法使用PASV方式。找到了原因,解决办法也很简单,只需要关闭客户端的PASV方式,强制其用PORT方式访问服务器即可。

客户端登录FTP服务器后,用passive命令关闭客户端的PASV方式,如下:

ftp> passive 
Passive mode off.

再次运行命令可打开 

11. 配置

查找vsftpd安装位置

[root@sem boot]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
You have new mail in /var/spool/mail/root

yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中

默认配置文件: /etc/vsftpd/vsftpd.conf

cd /etc/vsftpd

先备份

cp  vsftpd.conf vsftpd.conf_bak

然后编辑

vi vsftpd.conf

 配置说明如下

anonymous_enable=YES # 是否开启匿名登录
local_enable=YES # 是否允许本地用户登录
write_enable=YES # 是否允许上传
local_umask=022 # 使用FTP的本地文件权限,默认为077,一般设置为022
#--------
# 如果允许匿名登录
#anon_upload_enable=YES #是否允许匿名用户上传文件,须将全局的write_enable=YES。
#anon_mkdir_write_enable=YES #anon_mkdir_write_enable=YES #是否允许匿名用户创建新文件夹并在文件夹内上传文件
#--------
# 是否激活目录欢迎信息功能
# 当用户用CMD模式首次访问服务器上某个目录时,FTP服务器将显示欢迎信息
# 默认情况下,欢迎信息是通过该目录下的.message文件获得的
# 此文件保存自定义的欢迎信息,由用户自己建立
dirmessage_enable=YES 
#--------
xferlog_enable=YES # 激活上传/下载的日志
connect_from_port_20=YES # 启用FTP数据端口的数据连接
#chown_uploads=YES  #设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO
#chown_username=whoever #设置匿名用户上传文件(非目录)的属主名。建议不要设置为root
#xferlog_file=/var/log/xferlog  #设置日志文件名和路径,默认值为/var/log/vsftpd.log
xferlog_std_format=YES #如果启用,则日志文件将会写成xferlog的标准格式,如同wu-ftpd 一般。
#idle_session_timeout=600  设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒。
#data_connection_timeout=120  #设置建立FTP数据连接的超时时间,单位为秒。默认是120秒
#nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户,缺省是nobody
#async_abor_enable=YES  #设定支持异步传输的功能
#-------
# 是否以ASCII方式传输数据。默认情况下,服务器会忽略ASCII方式的请求。
# 启用此选项将允许服务器以ASCII方式传输数据
# 不过,这样可能会导致由"SIZE /big/file"方式引起的DoS攻击
#ascii_upload_enable=YES
#ascii_download_enable=YES
#--------
# 登录FTP服务器时显示的欢迎信息
# 如有需要,可在更改目录欢迎信息的目录下创建名为.message的文件,并写入欢迎信息保存后
#ftpd_banner=Welcome to blah FTP service.
#-------
# 黑名单设置。如果很讨厌某些email address,就可以使用此设定来取消他的登录权限
# 可以将某些特殊的email address抵挡住。
#deny_email_enable=YES
#-------
# 当上面的deny_email_enable=YES时,可以利用这个设定项来规定哪些邮件地址不可登录vsftpd服务器
# 此文件需用户自己创建,一行一个email address即可
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_local_user=YES  #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
#chroot_list_enable=YES #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
#chroot_list_file=/etc/vsftpd/chroot_list #用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
#ls_recurse_enable=YES #若是启用此功能,则允许登入者使用ls –R(可以查看当前目录下子目录中的文件)这个指令。默认值为NO。
listen=YES  # 是否允许监听,如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求
#--------
# 设定是否支持IPV6。如要同时监听IPv4和IPv6端口
# 则必须运行两套vsftpd,采用两套配置文件
# 同时确保其中有一个监听选项是被注释掉的
#listen_ipv6=YES
#--------
# 设置PAM外挂模块提供的认证服务所使用的配置文件名,即/etc/pam.d/vsftpd文件
# 此文件中file=/etc/vsftpd/ftpusers字段,说明了PAM模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中
pam_service_name=vsftpd
#--------
# 是否允许ftpusers文件中的用户登录FTP服务器,默认为NO
# 若此项设为YES,则user_list文件中的用户允许登录FTP服务器
# 而如果同时设置了userlist_deny=YES,则user_list文件中的用户将不允许登录FTP服务器,甚至连输入密码提示信息都没有
userlist_enable=YES
#--------
# 是否使用tcp_wrappers作为主机访问控制方式。
# tcp_wrappers可以实现linux系统中网络服务的基于主机地址的访问控制
# 在/etc目录中的hosts.allow和hosts.deny两个文件用于设置tcp_wrappers的访问控制
# 前者设置允许访问记录,后者设置拒绝访问记录。
# 如想限制某些主机对FTP服务器192.168.57.2的匿名访问,编缉/etc/hosts.allow文件,如在下面增加两行命令:
# vsftpd:192.168.57.1:DENY 和vsftpd:192.168.57.9:DENY
# 表明限制IP为192.168.57.1/192.168.57.9主机访问IP为192.168.57.2的FTP服务器
# 此时FTP服务器虽可以PING通,但无法连接
tcp_wrappers=YES
#--------

 修改配置部分

anonymous_enable=NO # 关闭匿名登录
idle_session_timeout=600  #打开,设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接
data_connection_timeout=120 #打开,建立FTP数据连接的超时时间
ascii_upload_enable=YES #打开 是否以ASCII方式上传数据
ftpd_banner=Welcome to blah FTP service. #欢迎信息
#----添加
userlist_deny=NO

12. 添加FTP用户

[root@sem vsftpd]# useradd filesync   # 创建用户
[root@sem vsftpd]# passwd filesync    # 设置密码
更改用户 filesync 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

 授权目录和权限

[root@sem vsftpd]# mkdir -p /home/filesync
[root@sem vsftpd]# chown -R filesync /home/filesync/
[root@sem vsftpd]# chmod -R 755 /home/filesync/

根据我们需要授权给用户的目录,可以创建也可以将已有的目录授权给上面添加的用户

 还需要将用户添加到userlist中

# echo filesync >> /etc/vsftpd/user_list

可以直接到/etc/vsftpd/user_list文件中添加编辑删除用户。

13. 重启ftp服务使配置生效

service vsftpd restart

 参考资源 

https://www.cnblogs.com/findumars/p/7003147.html
https://www.itbulu.com/centos6-vsftpd.html
https://www.cnblogs.com/Confession/p/6813227.html

https://www.cnblogs.com/UncleWang001/p/9948150.html


原文地址:https://www.cnblogs.com/zsg88/p/15562573.html