ftp服务搭建脚本和客户端ftp自动上传脚本

linux服务器搭建ftp服务脚本(在centos6.5和centos7上测试通过)(该脚本没有进行判断,需要自行清理环境)(该脚本只允许上传不允许下载,不允许使用匿名用户和本地用户登录)

安装脚本

#!/bin/bashsource /etc/rc.d/init.d/functions#安装vsftpdrpm -q vsftpdif [ $? -ne 0 ];thenyum install -y vsftpdfi#备份主配置文件cp /etc/vsftpd/ftpusers{,.bak}cp /etc/vsftpd/user_list{,.bak}cp /etc/vsftpd/vsftpd.conf{,.bak}#创建虚拟用户read -p "input username(default tom) : "  USERNAMEUSERNAME=${USERNAME:-tom}read -p "input user password (default 123456):" PASSWORDPASSWORD=${PASSWORD:-123456}read -p "input ftp home (default /usr/+ $USERNAME):" FTPHOMEFTPHOME=${FTPHOME:-"/usr/$USERNAME"}read -p "input virtual username (default test):" VNAMEVNAME=${VNAME:-test}read -p "input virtual user passwd (default $VNAME):" VPASSWDVPASSWD=${VPASSWD:-"$VNAME"}echo $USERNAME $PASSWORD $FTPHOME $VNAME $VPASSWD#read -p 

#修改主配置文件cat > /etc/vsftpd/vsftpd.conf << EOFlisten_port=21write_enable=YESlocal_umask=022xferlog_enable=YESxferlog_file=/var/log/vsftpd.logconnect_from_port_20=NOdata_connection_timeout=1200listen=YESmax_clients=10setproctitle_enable=YESanonymous_enable=NOlocal_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOchroot_local_user=YESdirmessage_enable=YESftpd_banner=Welcome to blah FTP service.guest_enable=YESpam_service_name=/etc/pam.d/vsftpd.virtualguest_username=$USERNAMEvirtual_use_local_privs=YESuser_config_dir=/etc/vsftpd/vhomeuserlist_enable=YESuserlist_deny=YEStcp_wrappers=YES#被动模式,默认为yespasv_enable=YES#pasv_min_port=1024#pasv_max_port=2048download_enable=NOEOF

#创建宿主用户useradd -d $FTPHOME -s /sbin/nologin $USERNAMEecho $PASSWORD|passwd --stdin $USERNAME#创建虚拟用户宿主目录,用于虚拟用户登录访问mkdir -pv $FTPHOMEchown -R $USERNAME.$USERNAME "$FTPHOME"#创建虚拟用户cat > /etc/vsftpd/vusers.txt << EOF$VNAME$VPASSWDEOFdb_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vsftpd-virtual-user.db#创建pam认证配置文件,指定数据库文件路径cat > /etc/pam.d/vsftpd.virtual << EOFauth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-useraccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-userEOF#创建虚拟用户配置信息存放目录mkdir -pv /etc/vsftpd/vhome#在目录下对虚拟用户进行权限分配cat > /etc/vsftpd/vhome/$VNAME <<EOFanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESanon_umask=033local_root=$FTPHOMEEOF#重启vsftpd服务service vsftpd restart


vsftpd.conf配置文件讲解

#监听端口
listen_port=21
#允许写入
write_enable=YES
#设置umask
local_umask=022
#启用日志
xferlog_enable=YES
#设置日志路径
xferlog_file=/var/log/vsftpd.log
#指定FTP使用20端口进行数据传输,默认值为YES。
connect_from_port_20=YES
#ftp数据连接超时,默认120s
data_connection_timeout=1200
#使用standalone模式运行
listen=YES
#最大连接数,默认0表示无限制
max_clients=10
#宿主ftp连接是否以不同的进程表现出来,默认为no
setproctitle_enable=YES
#匿名用户登录,设置为no
anonymous_enable=NO
#本地用户登录,设置为no
local_enable=NO
#匿名用户上传,设置为no
anon_upload_enable=NO
#匿名用户有创建目录的权限。设置为no
anon_mkdir_write_enable=NO
#是否运行用户切换到上级目录,默认为NO,yes时所有用户均不能切换到其他目录(牢笼模式)
chroot_local_user=YES
#设置欢迎语
dirmessage_enable=YES
ftpd_banner=Welcome to blah FTP service.
#启用虚拟用户
guest_enable=YES
#虚拟用户pam使用的名称
pam_service_name=/etc/pam.d/vsftpd.virtual
#使用的宿主用户名
guest_username=ftphost
#让虚拟用户有本地宿主用户的权限
virtual_use_local_privs=YES
#定义用户配置文件
user_config_dir=/etc/vsftpd/vhome
#是否启用userlist文件
userlist_enable=YES
#是否允许userlist中用户访问
userlist_deny=YES
#结合tcp wrapper进行主机访问控制
tcp_wrappers=YES
#是否启用被动模式
pasv_enable=YES
#被动模式端口范围,默认0表示任意
#pasv_min_port=1024
#pasv_max_port=2048
#禁止将文件下载本地
download_enable=NO


linux使用被动模式自动上传文件脚本

#!/bin/sh   rpm -q ftpif [ $? -ne 0 ];thenyum install -y ftpfiecho "start ftp update"# -n: 不受.netrc文件的影响,<<  : 使用即时文件重定向输入ftp -n<< EOF open IP porduser username passwordpassivebinarycd DIRlcd /LOCAL/DIRpromptmput *closebyeEOF

put命令讲解

open 建立指定ftp服务器连接,默认端口21user 连接用户密码passive 使用被动模式binary 二进制传输模式(不会对文件就行任何修改)cd 切换远程ftp命令lcd 切换本地目录prompt 关闭交互模式mput 上传文件close 断开ftp连接bye 退出ftp


windows自动上传脚本(需要打开被动模式)

@Echo Off::”设置path环境变量”set path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\::”切换到执行目录”c:cd C:\Users\Administrator\Desktop\test::”将执行的选项写入到文件,然后调用”Echo open IP PORT >ftp.upEcho username>>ftp.upEcho password>>ftp.upEcho binary>>ftp.upEcho Cd DIR >>ftp.upEcho lcd C:\Users\Administrator\Desktop\test\DIR>>ftp.upEcho prompt>>ftp.upEcho mput *>>ftp.upEcho close>>ftp.upEcho bye>>ftp.up::”执行ftp命令,调用配置”FTP -s:ftp.up::”删除产生的配置文件”del ftp.up /q

简单的讲解一下


open 连接ftp,后面接的是ftp服务器用户、断开

username ftp连接用户名

password ftp连接密码

binary 使用二进制传输模式

cd 切换远程ftp目录

lcd 切换本地暴露

prompt 关闭交互模式



windows打开ftp被动模式

打开IE浏览器-->工具-->internet 选项-->高级-->浏览-->勾选“使用被动ftp”



参考:

vsftpd参考文档:http://blog.51cto.com/yuanbin/108262

ftp命令详解:http://blog.csdn.net/zzzzcs/article/details/23995833

原文地址:http://blog.51cto.com/13323775/2060316

时间: 2024-10-08 07:18:57

ftp服务搭建脚本和客户端ftp自动上传脚本的相关文章

FTP服务搭建与配置

14.4 exportfs命令 exportfs命令用来管理当前NFS共享的文件系统列表. Options:-a:全部卸载或全部挂载-r:重新挂载-u:卸载某个目录-v:显示共享目录 常用组合: exportfs -arv服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效. 注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统. 以上操作均在服务端进行!!! 14.5 NFS客户端问题 针对NFS4版本在centos6中应用存在如下问

[转帖]FTP服务搭建与配置

FTP服务搭建与配置 https://blog.csdn.net/zhengyshan/article/details/81058194 原作者写的很好.. 比我写的好一百倍.. 原创zhengyshan 发布于2018-07-15 22:52:06 阅读数 69 收藏展开 FTP介绍FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务

FTP 服务搭建

FTP 服务搭建 最近一直偷懒,没有上传博客,最近工作中正好要搭建FTP,来写个博客吧.同志还需努力啊,天天犯懒以后只能去吃土了. 首先介绍一下我的实验环境:CentOS6.7,内核2.6 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -a Linux CentOS-6 2.6.32-573.el6.x86_64 #1 SMP Thu J

ftp服务搭建

一.FTP协议简介 1.什么是FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源.默认情况下FTP协议使用TCP端口中的20和21这两个端口,其中20用于传输数据(客户端和FTP服务器进行文件传输或者列表的通道),21用于传输控制信息(客户端和FTP服务器进行沟通的

第十五章 FTP服务搭建与配置

15.1 FTP介绍FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输.FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机.?小公司用的多,大企业不用FTP,因为不安全 15.2 使用vsftpd搭建 FTP(上)centos上自带vsftpdyum install -y vs

linux中FTP服务搭建详解--1.匿名与权限

实验环境:在redhat6.5中安装配置FTP服务,并使用一台win7系统访问验证. 理论: FTP连接方式     支持两种连接模式:主动模式(Port)和被动模式(Pasv),这两种模式都是针对数据链路进行的,与控制链路无关. 主动模式工作过程: 1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路2.然后客户端发出Port指令告诉服务器连接自己的N+1端口来建立一条数据通道3.当FTP服务器接到这一指令时,会使用20端口连接用户在Port指令中指定的端口号

FTP服务搭建演示

本地用户搭建FTP和测试 vsfdpd.conf 的配置文件在 /etc/vsfdpd/vsfdpd.conf  1. 用 yum 在服务端安装vsftpd软件包 客户端安装 yum 安装 ftp 2.打开vsftpd.conf配置文件修改2处东东第12行匿名用户改成NO给关闭,第96行给开启 开启本地用户的家目录锁定,这样就OK了, 因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入账号和密码 如果出现下图代表成功成功搭建 如果连接失败,① 检查防火墙是否关闭

ftp服务搭建配置管理

ftp[file transfer protocol这是档案传输的通讯协议,也是一般最常用来传送档案的方式这是档案传输的通讯协议,也是一般最常用来传送档案的方式]是/tcp/ip的一种具体的应用,工作在OSI上的第七层,TCP/IP模型的第四层,是一种面向连接的协议,工作模式分为主动模式和被动模式 vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表"very secure FTP daemon",安全性是其设计与开发的一个重要目标,支持很多其他的FTP 服务器不支持的特征

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比