linux上安装配置vsftpd(转)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 转自:http://www.webarch.org/category/linux生产环境是Centos5.6,由于需要提供ftp服务,就找了一款比较小巧的ftp服务器端软件,vsftpd(vsftpd 的名字代表”very secure FTP daemon”.vsftpd在安全性、高性能及稳定性三个方面有上佳的表现。

 

转自:http://www.webarch.org/category/linux
生产环境是Centos5.6,由于需要提供ftp服务,就找了一款比较小巧的ftp服务器端软件,vsftpd(vsftpd 的名字代表”very secure FTP daemon”.
vsftpd在安全性、高性能及稳定性三个方面有上佳的表现。
它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。

安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

 
 1.查看是否安装vsftp
 rpm -qa | grep vsftpd
 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp
 
 安装vsftp
 yum -y install vsftpd
 
 2.测试 是否安装成功 (ip 改成自己啊,不要用俺的此次登录为匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容 这说明vsftpd安装成功)
 [root@localhost ~]#service vsftpd start
 为 vsftpd 启动 vsftpd:[确定]
 
 3,配置vsftpd
 # whereis vsftpd
 vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
 yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中,下面看下怎么配置vsftpd.conf
 
 # 默认配置文件: /etc/vsftpd.conf
 #     下面是配置的选项及说明
 ######### 核心设置 ###########
 
 # 允许本地用户登录
 local_enable=YES
 # 本地用户的写权限
 write_enable=YES
 
 # 使用FTP的本地文件权限,默认为077
 # 一般设置为022
 local_umask=022
 
 # 切换目录时
 # 是否显示目录下.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!
 
 
 4 添加ftp防火墙规则:
 /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 /etc/init.d/iptables restart

在文件/etc/sysconfig/iptables中添加以下记录,后执行service iptables restart重启
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
 
 5 添加用户(注意,该处添加nologin类型用户ftpuser):
 useradd -d /home/ftp -s /sbin/nologin ftpuser
 如果已启动vsftpd,重新启动
 pkill vsftpd /usr/sbin/vsftpd &
 
 6 到此,整个小巧的ftp服务器搭建成功。可以使用FileZilla FTP或FlashFXP等客户端软件登陆ftp server了。

http://www.cnblogs.com/itech/archive/2012/09/16/2687378.html

 http://blog.csdn.net/bluishglc/article/details/42398811

sftp ncftp

 

 

常见问题及解决办法:
1、root 用户220拒绝
解决办法:
在/etc/vsftpd.ftpusers和/etc/vsftpd.user_list中将root注释掉,保存文件后立即生效
原因:
[root@test ums-client]# more /etc/vsftpd.user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
#root


2.设定ftp登陆时的默认目录
修改vsftp默认用户访问目录在配置文件目录 /etc/vsftpd/下的 vsftpd.conf文件中。
找到并打开/etc/vsftpd/vsftpd.conf, 设置添加以下代码:
local_root=/home/xxx
那么ftp用户访问的默认目录就是xxx这个目录了。
ftp用户访问的默认目录设置好了, 还可以单独设置这个目录的访问权限如(777,755等权限), 方法请参考文章: vsftp 设置ftp用户访问目录权限的命令
注意设置好了需要重启vsftp服务器:
service vsftpd restart
重启后你再在客户端连接看看是不是指定的目录呀。

3、vsftpd下显示的时间与系统时间不一致
ftp上来显示的时间与系统时间不一致,是因为默认情况下,vsftpd 是用GMT做为它的时间的,所以和系统的时间(GMT+8会会相差8个小时)能会不一致。
修改也很简单:
vi /etc/vsftpd/vsftpd.conf
在最后加入一行:
use_localtime=YES
存盘后,重启vsftpd:
service vsftpd restart
这样就行了

http://www.chinaunix.net/old_jh/4/347483.html

 按上述设置并重启vsftpd后,时间显示正常:

 

4、如何有选择的把用户限制在家目录中呢?
我们要自己建一个文件,在/etc目录中或/etc/vsftpd目录中(假如您的vsftpd配置文件都是放在这个目录的话);
#touch /etc/vsftpd.chroot_list
以beinan和nanbei这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。
在vsftpd.chroot_list这个文件中,把beinan和nanbei添上去就行,注意,每个用户占一行。
beinan
nanbei
然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
如果没有这样的两行,就可以自己添加上去也是一样的。
设置好后,重新vsFTPD服务器。
补充一之补充:如何把系统内所有的FTP用户都限制在家目录中呢??经juliaugong兄的提示,我查找了vsFTPd的洋文说明,证明这个选项是一刀切的解决所有的用户都能限制在家目录中
我们可以通过更改vsftpd.conf文件,加入如下的一行
chroot_local_user=YES
改完配制文件,不要忘记重启vsFTPd服务器;

5、如何让绑定IP到vsFTPd?
如何让绑定IP到vsFTPd?也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP
在vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP;
listen_address=192.168.0.2
http://os.51cto.com/art/201102/245528.htm

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
8 5
|
2月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
145 64
|
15天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
35 2
|
28天前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
234 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
101 1
|
2月前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
154 3
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
67 0
|
1月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
下一篇
无影云桌面