您的位置:首页 > 运维架构 > Linux

Linux下Vsftp配置及详解

2015-11-24 21:28 471 查看
个人整理常用vsftp命令

一 Vsftpd的介绍:

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用.

vsftpd(Very Secure FTP Daemon,非常安全的FTP服务器),安全是它的开发者 Chris Evans 考虑的首要问题之一。

在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标,同时随着版本的不断升级,Vsftpd在性能和稳定性上也取得了极大的进展。

除了安全和性能方面很优秀的外,还有很好的易用性.

二 Linux下Vsftpd实战配置

具体操作步骤如下:

1.配置相关服务

启动服务:

[root@localhost ~]# rpm -qa|grep vsftpd   查看是否安装vsftpd服务,现在的Linux都已有默认安装好了.

vsftpd-2.0.1-5.EL4.5

[root@localhost ~]# /etc/init.d/vsftpd start          启动服务

Starting vsftpd for vsftpd:                          [  OK  ]

[root@localhost ~]# chkconfig vsftpd on         让vsftpd服务随着系统启动而启动

[root@localhost ~]# chkconfig –list vsftpd        

vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

2.配置文件:

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

三 VsFTPd相关的配置详解

1.匿名用户相关设置

anonymous_enable=NO    禁止匿名用户访问 ,将YES改为NO, 禁止匿名用户登陆

local_enable=YES      允许本地用户访问   

write_enable=YES      具有写权限   

local_umask=022       本地用户创建文件或目录的掩码   

connect_from_port_20=YES  开启20端口

2.FTP服务端口的指定

listen_port=8021       指定命令通道为8021,默认为21

listen_data_port=8020  指定数据通道为8020,默认为20

3.上传模式的设置

pasv_enable=YES       是否允使用被动模式,默认是允许的。

pasv_min_port=10000   指定使用被动模式时打开端口的最小值

pasv_max_port=10004   指定使用被动模式时打开端口的最大值

4.Vsftp服务器指定IP地址

listen_address=192.168.0.188  指定FTP的IP地址

注:只有当vsftp运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了vsfpd文件,就要将该文件中的disable设置为yes方可。

5. 锁定用户,禁止用户离开用户主目录

chroot_local_user=YES  将其设为YES,就锁定在用户主目录,设为NO,可以切换

chroot_list_enable=YES                  将指定用户设置为锁定用户主目录:

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

[root@localhost ~]#cat /etc/vsftpd/vsftpd.chroot_list 在该文件中加入用户名单   

ftpuser

6.FTP服务器的流量控制

max_clients=200       允许的最大连接数,定义为200,默认为0,表示没有限制

max_per_ip=5          每个IP允许的连接数,0表没有限制,需要运行于独立模式方可

anon_max_rate=50000   匿名用户最大带宽,单位为bps

local_max_rate=200000 系统用户最大带宽

user_config_dir=/etc/vsftpd/userconf  对指定用户进行流量限制

[root@localhost ~]#touch /etc/vsftpd/userconf/ftpuser 为ftpuser这个用户建立一个ftpuser文件

[root@localhost ~]#vi /etc/vsftpd/userconf/ftpuser 添加以下内容

local_max_rate=100000

保存重启vsftpd服务即可.

7.定制欢迎信息

目录说明设置

[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf

dirmessage_enable=YES 

然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就OK。

系统欢迎消息设置

ftpd_banner=Welcome to ftp.test.com!!!

系统欢迎消息文件设置

banner_file=/etc/vsftpd/welcome 与ftpd_banner相类似,不同之处在于,banner_file指定欢迎文件.

8.创建vsftp用户

mkdir /mail/ftpuser; useradd ftpuser -M -d/mail/ftpuser -s/sbin/nologin; echo “ftpuser:xxxxxxxxx” | chpasswd; chown -R ftpuser.ftpuser /mail/ftpuser/; chkconfig –level 235 vsftpd on; chkconfig –list vsftpd; service vsftpd restart;

实验三、简单虚拟用户  

让abc用户不能登录系统,只能登入FTP  
#adduser –g ftp –s /sbin/nologin abc  
#passwd abc 

配置:  

1、查看是否安装了Vsftp  #rpm –qa vsftpd  3、Vsftp服务启动与停止  #service vsftpd start 启动  #service vsftpd stop 停止  #service vsftpd restart 重启  永久启动:#setup  

#ps –ax | grep vsftpd 查看进程是否启动。  

#chkconfig –level 2345 vsftpd on 设置在系统启动时,自动启动进程。  4、访问Vsftp  进入 ftp 192.168.0.1  

输入密码进入后:ls 查看 put 上传 get下载  离开bye 

useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test

passwd test //为test设置密码
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp

usermod -s /sbin/bash test //用户test恢复正常

usermod -d /test test //更改用户test的主目录为/test 

 1. ftp自动登录批量下载文件。

#####从ftp服务器上的/home/data 到 本地的/home/databackup####

#!/bin/bash

ftp -n<<!

open 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

mget *

close

bye

!

2. ftp自动登录上传文件。

####本地的/home/databackup to ftp服务器上的/home/data####

#!/bin/bash

ftp -n<<!

open 192.168.1.171

user guest 123456

binary

hash

cd /home/data

lcd /home/databackup

prompt

mput *

close

bye

!

3. ftp自动登录下载单个文件。

####ftp服务器上下载/home/data/a.sh to local /home/databackup####

#!/bin/bash

ftp -n<<!

open 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

get a.sh a.sh

close

bye

!

4. ftp自动登录上传单个文件。

####把本地/home/databachup/a.sh up ftp /home/databackup 下####

#!/bin/bash

ftp -n<<!

open 192.168.1.171

user guest 123456

binary

cd /home/data

lcd /home/databackup

prompt

put a.sh a.sh

close

bye

!

小结:把以上脚本另存为文件加入到crontab中即可实现ftp自动上传、下载文件。

注解:

1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)

2. << 是使用即时文件重定向输入。

3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux ftp服务器 ftp