天天看点

linux上安装配置vsftpd(转)

生产环境是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了。

<a href="http://www.cnblogs.com/itech/archive/2012/09/16/2687378.html">http://www.cnblogs.com/itech/archive/2012/09/16/2687378.html</a>

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:

这样就行了

<a href="http://www.chinaunix.net/old_jh/4/347483.html">http://www.chinaunix.net/old_jh/4/347483.html</a>

linux上安装配置vsftpd(转)
linux上安装配置vsftpd(转)

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

linux上安装配置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

<a href="http://os.51cto.com/art/201102/245528.htm">http://os.51cto.com/art/201102/245528.htm</a>

继续阅读