个人整理常用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
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
passwd test //为test设置密码
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
#####从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. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。