vsftpd的安装与配置使用

来源:互联网 发布:网络交易监管 编辑:程序博客网 时间:2024/06/05 08:44

我现在使用的服务器Linux版本为CentOS release 6.5,暂时不清楚是否安装了ftp通信软件,于是选择安装vsftpd这款软件,用于平时管理网站的相关文件代码之类的。

1. 首先查看是否已经安装了vsftpd

# rpm -qa | grep vsftpd

执行该指令发现没有列出任何内容,说明还没有安装

2. 使用yum安装vsftpd

# yum -y install vsftpd

3. 检查是否安装成功

# service vsftpd start

Starting vsftpd for vsftpd: [  OK  ]

当使用yum安装时,系统会为该软件在/etc/init.d目录下创建vsftpd的运行shell,执行系统指令service vsftpd start,出现上面的提示则表示服务启动成功,vsftpd安装成功了。

4. 查看vsftpd的安装位置

# rpm -qa | grep vsftpd
vsftpd-2.2.2-14.el6.x86_64

# rpm -ql vsftpd-2.2.2-14.el6.x86_64 (使用上面查询到的全名)

/etc/logrotate.d/vsftpd/etc/pam.d/vsftpd/etc/rc.d/init.d/vsftpd/etc/vsftpd/etc/vsftpd/ftpusers/etc/vsftpd/user_list/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd_conf_migrate.sh/usr/sbin/vsftpd/usr/share/doc/vsftpd-2.2.2/usr/share/doc/vsftpd-2.2.2/AUDIT/usr/share/doc/vsftpd-2.2.2/BENCHMARKS/usr/share/doc/vsftpd-2.2.2/BUGS/usr/share/doc/vsftpd-2.2.2/COPYING/usr/share/doc/vsftpd-2.2.2/Changelog/usr/share/doc/vsftpd-2.2.2/EXAMPLE/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow/usr/share/doc/vsftpd-2.2.2/EXAMPLE/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/README/usr/share/doc/vsftpd-2.2.2/FAQ/usr/share/doc/vsftpd-2.2.2/INSTALL/usr/share/doc/vsftpd-2.2.2/LICENSE/usr/share/doc/vsftpd-2.2.2/README/usr/share/doc/vsftpd-2.2.2/README.security/usr/share/doc/vsftpd-2.2.2/REWARD/usr/share/doc/vsftpd-2.2.2/SECURITY/usr/share/doc/vsftpd-2.2.2/SECURITY/DESIGN/usr/share/doc/vsftpd-2.2.2/SECURITY/IMPLEMENTATION/usr/share/doc/vsftpd-2.2.2/SECURITY/OVERVIEW/usr/share/doc/vsftpd-2.2.2/SECURITY/TRUST/usr/share/doc/vsftpd-2.2.2/SIZE/usr/share/doc/vsftpd-2.2.2/SPEED/usr/share/doc/vsftpd-2.2.2/TODO/usr/share/doc/vsftpd-2.2.2/TUNING/usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd/usr/share/man/man5/vsftpd.conf.5.gz/usr/share/man/man8/vsftpd.8.gz/var/ftp/var/ftp/pub
在上面我们看到存在/etc/vsftpd的目录,这个目录即是vsftpd的配置文件所在目录,总共有ftpusers、user_list、vsftpd.conf、vsftpd_conf_migrate.sh四个文件。

5. 配置vsftpd文件

(1)ftpusers文件记录了不允许使用ftp登录服务器的用户列表,可以通过将用户添加到该文件中来限制用户的登录

(2)user_list文件也记录了一个用户列表,下面为该文件的注释内容

 # vsftpd userlist 的注释 # 如果userlist_deny=NO,那么只允许该文件中的用户登录 # 如果userlist_deny=YES (默认),不允许该文件中的用户登录,也不会提示输入密码 # 注意:默认的vsftpd插入验证模块配置也会检查/etc/vsftpd/ftpusers中被拒绝访问的用户。

(3)vsftpd.conf是对于vsftpd的基本配置

# 是否允许匿名登录anonymous_enable=YES## 允许本地用户登录local_enable=YES## 本地用户写权限write_enable=YES## 使用FTP的本地文件权限,默认为077# 一般设置为022local_umask=022## 将注释取消可以允许匿名ftp用户上载文件# 这只在上面的全局写入被激活时起作用# 另外,你显然需要创建一个可供ftp用户写入的目录#anon_upload_enable=YES## 如果你希望匿名用户可以创建新目录的话,可以取消这个注释#anon_mkdir_write_enable=YES## 激活目录消息-当他们进入某个目录时给远程用户提供的消息。dirmessage_enable=YES## 目标日志文件可以是vsftpd_log_file或xferlog_file# 这取决于xferlog_std_format参数设置xferlog_enable=YES## 确保端口传输连接源于端口20(ftp-data).connect_from_port_20=YES## 如果你想,你可以安排上传的匿名文件是由一个不同的用户拥有# 注意!不建议使用“root”来作为上传的文件的拥有者#chown_uploads=YES#chown_username=whoever## 当xferlog_enable=YES并且xferlog_std_format=YES时日志文件的名字# 警告 - 改变这个文件名会影响 /etc/logrotate.d/vsftpd.log#xferlog_file=/var/log/xferlog## 在记录到vsftpd_log_file和记录到xferlog_file文件之间的切换# NO代表写入vsftpd_log_file, YES代表写入xferlog_filexferlog_std_format=YES## 你可以改变一个空闲会话的默认超时值#idle_session_timeout=600## 你可以改变一个数据连接的默认超时值#data_connection_timeout=120## 建议你在系统中定义一个独特的用户,这个用户可以让ftp服务器# 作为完全隔离的并且没有特权的用户使用#nopriv_user=ftpsecure# # 启用它,服务器将识别异步ABOR请求# 但是出于安全原因并不建议启动(代码是不平凡的)# 然而不启用的话,可能会混淆较老的FTP客户端#async_abor_enable=YES# # 默认情况下,服务器会假装允许ASCII模式实际上忽略了请求# 打开下面的选项使服务器在ASCII模式时实际上使用ASCII编码传输# 要注意的是,在一些FTP服务器,ASCII支持在ASCII模式下允许通# 过命令“大小/大/文件”进行拒绝服务攻击(DOS)# vsftpd通过报告的原文件的大小预测攻击并且一直是安全的# ASCII编码的协议是一个可怕的特征#ascii_upload_enable=YES#ascii_download_enable=YES## 你可以完全定制登录横幅字符串:#ftpd_banner=Welcome to blah FTP service.## 你可以指定一个不允许匿名电子邮件地址的文件# 反对某些DOS攻击显然是有用的#deny_email_enable=YES# (下面是默认的)#banned_email_file=/etc/vsftpd/banned_emails## 限制所有用户都在家目录#chroot_local_user=YES# 调用限制在家目录的用户名单#chroot_list_enable=YES# (下面是默认的)#chroot_list_file=/etc/vsftpd/chroot_list##ls_recurse_enable=YES## 以独立的FTP服务运行,监听ipv4套接字端口listen=YES## 这个指令启用IPv6套接字监听,为了监听IPv4和IPv6,必须运行# 两个vsftpd并使用两个配置文件。# 需要确保其中的一个监听选项被注释#listen_ipv6=YES## 验证方式pam_service_name=vsftpd## 用userlist来限制用户访问userlist_enable=YES## 设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默# 认值为YES。如果启用,则vsftpd服务器会检查/etc/hosts.allow # 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允# 许访问该FTP服务器。这两个文件可以起到简易的防火墙功能tcp_wrappers=YES

这个配置文件相对简单,很多都使用了默认的配置,当然如果需要将原来的默认配置覆盖的话,可以直接在此配置文件中添加相关选项。关于配置文件的配置,可以参考下这两篇博文 vsftpd配置文件详解 和 linux上安装配置vsftpd

6. 介绍一下如何连接ftp

(1)最简单的,可以在我的电脑打开,在地址栏输入ftp://主机地址:port 进行访问

(2)使用客户端,主要有SecureFX、filezilla、BCompare和flashftp等,这些都可以使用ftp协议连接远程服务器。连接时选用ftp协议,用户名及密码为Linux用户的用户名及密码(要注意用户是否被禁用),端口默认为21端口。



1 0
原创粉丝点击