linux-FTP服务常用命令及测试
一、vsftpd服务的安装,启动及关闭
1、安装vsftpd
[root@rusky bdump]# yum install vsftpd --必须配置yum源才能使用yum命令来安装vsftpd,或者挂载光盘,找到Packages目录下的vsftpd包,使用rpm命令安装
……
Installed:
vsftpd.x86_64 0:2.0.5-24.el5
Complete!
2、vsftpd服务的启动及关闭
[root@rusky bdump]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@rusky bdump]# chkconfig --level 35 vsftpd on
[root@rusky bdump]# service vsftpd restart --启动/关闭命令为:service vsftpd start/stop
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@rusky bdump]# service vsftpd status
vsftpd (pid 5087) is running...
[root@rusky bdump]#
二、文件的上传及下载
1、ftp服务器的连接
G:\testftp>ftp -或者直接:ftp IP/主机名连接
ftp> open 192.168.1.200
连接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用户(192.168.1.200:(none)): root --默认不能使用root用户
530 Permission denied.
登录失败。
ftp> open 192.168.1.200
已经连接到了 192.168.1.200,请首先使用断开连接。
ftp> disconnect
221 Goodbye.
ftp> open 192.168.1.200
连接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用户(192.168.1.200:(none)): oracle
331 Please specify the password.
密码:
230 Login successful.
ftp> loc
无效命令。
ftp> lcd
目前的本地目录 G:\testftp。
ftp>
2、下载文件
下载文件使用get和mget这两个命令
a.使用get命令将远程服务器上/home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora这个文件下载到本地当前目录。
ftp> get /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora tnsnams.ora
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.
226 File send OK.
ftp: 收到 719 字节,用时 0.00秒 719.00千字节/秒。
ftp> lcd
目前的本地目录 G:\testftp。
ftp>
b.将远程服务器上的文件下载到指定目录
ftp> get /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora C:\Users\Administrator\Desktop\tnsnames.ora_bak
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora (719 bytes).
226 File send OK.
ftp: 收到 719 字节,用时 0.00秒 719000.00千字节/秒。
c.使用mget命令将远程服务器上/home/oracle/test目录下的所有文件下载到本地当前目录(指定目录无效)
ftp> mget /home/oracle/test/ G:\testftp\testmget\
mget /home/oracle/test/2.log?
mget /home/oracle/test/3.log?
------------------------
此时每下载一个文件,都会有提示。如果要除掉提示,则在执行mget命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。
------------------------
ftp> prompt off
交互模式 关 。
ftp> mget /home/oracle/test G:\testftp\
ftp>
3、上传文件到远端服务器
a.将本地一个文件传送到远程主机
ftp> put test.ora /home/oracle/test/test2.ora --必须指定上传到远程目录后的文件名
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp: 发送 719 字节,用时 0.00秒 719000.00千字节/秒。
ftp>
b.使用mput把本地当前目录下的所有文件上传到远程机器指定目录下(注意:上传文件都来自于主机的当前目录下)
ftp> mput * /home/oracle/test
mput 111.log?
mput 222.log?
mput 333.ora?
mput testmget? n
/home/oracle/test:
ftp>
4、断开连接
ftp> quit
或
ftp> bye
5、常用的命令
ls 列出远程机的当前目录
cd 在远程机上改变工作目录
lcd 在本地机上改变工作目录
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
close 终止当前的ftp会话
hash 每次传输完数据缓冲区中的数据后就显示一个#号
get(mget) 从远程机传送指定文件到本地机
put(mput) 从本地机传送指定文件到远程机
open 连接远程ftp站点
断开与远程机的连接并退出ftp
? 显示本地帮助信息
! 转到Shell中
三、FTP服务概要
1、 FTP服务的端口号
21端口:传输FTP的控制命令
20端口:传输文件数据
2、 FTP的数据传输模式
主动模式
FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器,自己打开了某个端口,服务器从20端口向客户端的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>sendport)
被动模式
FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,服务器在命令链路上用PASV命令告诉客户端,自己打开了某个端口,客户端向服务器的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>passive)
3、 FTP服务器软件
Wu-ftpd —— www.wu-ftpd.org
Proftpd —— www.proftpd.org
vsftpd —— vsftpd.beasts.org
4、 FTP客户端软件
ftp命令
gftp —— gftp.seul.org
Filezilla —— filezilla.sourceforge.net(windows下的开放源代码的FTP客户端)
5、 服务器和客户端之间的防火墙设置策略
对于工作在主动模式下的服务器:
- 允许FTP客户端从大于1024的端口连接FTP服务器的21端口
- 允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
- 允许FTP服务器从20端口主动连接FTP客户端中大于1024的端口
- 允许FTP客户端从大于1024的端口回应来自FTP服务器的20端口的网络连接
对于工作在被动模式下的服务器:
- 允许FTP客户端从大于1024的端口连接FTP服务器的21端口
- 允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
- 允许FTP客户端从大于1024的端口主动连接FTP服务器中大于1024的端口
- 允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接
2)vsftpd服务器的配置文件
- 主配置文件——/etc/vsftpd/vsftpd.conf
vsftpd.conf文件中常用的配置:
anonymous_enable :设置为YES时,FTP服务器允许匿名登录。
local_enable :设置为YES时,FTP服务器允许本地用户登录。
write_enable :设置为YES时,FTP服务器开放对本地用户的写权限。
local_umask :设置本地用户的文件生成掩码,配置文件中设置为022。
dirmessage_enable :设置为YES时,将显示目录下的“.message”隐含文件内容。
xferlog_enable :设置为YES时,FTP服务器将启用上传和下载日志。
xferlog_std_format :设置为YES时,FTP服务器将使用标准的ftpd xferlog日志格式。
connect_from_port_20 :设置为YES时,FTP服务器将启用数据端口(20)的连接请求。
pam_service_name :设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d”目录下。
userlist_enable :设置为YES时,FTP服务器将检查userlist_file设置文件中指定的用
户是否可以访问vsftpd服务器;userlist_file配置项的默认值是“/etc/vsftpd.user_list”文件。
userlist_deny :设置为YES时,vsftpd.user_list文件用于设置禁止登录的用户账号;
设置为NO时,vsftpd.user_list文件用于设置允许登录的用户账号。
listen :设置为YES时,FTP服务器处于独立启动模式(相对于受xinetd管理的启动模式)。
tcp_wrappers :设置为YES时,FTP服务器将使用tcp_wrappers作为主机访问控制方式。
tcp_wrappers可以实现Linux系统中网络服务的基于主机地址的访问控制,在“/etc”目录中的hosts.allow(允许访问记录)和hosts.deny(拒绝访问记录)两个文件用于设置tcp_wrappers的访问控制。
chroot_local_user :设置为YES时,vsftpd服务器将会把本地用户禁锢在用户宿主目录中。
max_clients :用于设置FTP服务器所允许的最大客户端连接数,0表示无限制。
max_per_ip :用于设置对于同一IP地址允许的最大客户端连接数,0表示无限制。
local_max_rate :设置本地用户的最大传输速率,单位为B/s,0表示不限制。
anon_max_rate :设置匿名用户的最大传输速率,单位为B/s,0表示不限制。
- /etc/vsftpd.ftpusers文件
保存不允许进行FTP登录的本地用户帐号,通常是在系统中具有较高权限的帐户。
- /etc/vsftpd.user_list文件
需要与vsftpd.conf文件中的配置结合来实现对/etc/vsftpd.user_list文件中指定的用户帐号的访问控制。
userlist_enable=YES // FTP服务器将检查userlist_file设置文件中指定的用
户是否可以访问vsftpd服务器。
userlist_deny=YES // vsftpd.user_list文件用于设置禁止登录的用户账号;
userlist_deny= NO // vsftpd.user_list文件用于设置允许登录的用户账号。
linux-FTP服务常用命令及测试的更多相关文章
- Linux查看系统配置常用命令
Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo ...
- linux 下 mysql 常用命令
linux 下 mysql 常用命令 阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...
- Linux 使用 github 常用命令
Linux 使用 github 常用命令 今天整理一下常用的 github 命令,自己只是一个编程小白,有些地方可能做的不是很好,仅仅用作自己的学习使用. 创建一个文件夹用于存放github仓库 m ...
- linux vi编辑常用命令
linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下 vi编辑器中有三种状态模式 1. ...
- Linux 系统巡检常用命令
Linux系统巡检常用命令 # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...
- linux:终端常用命令 + vi命令修改文件及保存 方法
首先介绍一下Ubuntu下各个目录的一般作用: / 这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
- Apache RocketMQ在linux上的常用命令
Apache RocketMQ在linux上的常用命令 进入maven安装后的rocketmq的bin目录 1.启动Name Server 2.启动Broker 3.关闭Name Server 4 ...
- 打开Linux ftp服务,如:vsftpd: unrecognized service
打开Linux ftp服务,如:vsftpd: unrecognized service [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...
随机推荐
- cloudstack4.4新增功能前瞻
cloudstack4.4.0新功能前瞻 转载请注明地址:http://blog.csdn.net/zt689/article/details/37698989 1. cloudstack4.4. ...
- linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程
关于登录linux时,/etc/profile.~/.bash_profile等几个文件的执行过程. 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile ...
- 【数学三角恒等变幻】【HDU2552】三足鼎立
Problem Description MCA山中人才辈出,洞悉外界战火纷纷,山中各路豪杰决定出山拯救百姓于水火,曾以题数扫全场的威士忌,曾经高数九十九的天外来客,曾以一剑铸十年的亦纷菲,歃血为盟,盘 ...
- 新一代分布式任务调度框架:当当elastic-job开源项目的10项特性
作者简介: 张亮,当当网架构师.当当技术委员会成员.消息中间件组负责人.对架构设计.分布式.优雅代码等领域兴趣浓厚.目前主导当当应用框架ddframe研发,并负责推广及撰写技术白皮书. 一.为什么 ...
- 查询ID为5的数据的前后各一行数据,ID不连续
首先假如有一张表 test 那么我们要查的就是 3 和 7 这里我的思路是 用SQL Server 自带的Row_Number 函数把 ID=5 的 RowNo 查出来,因为RowNo是连续的,所以它 ...
- ANCS协议翻译
综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖, ...
- (转载)C++之tinyXML使用
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到 ...
- Ubuntu第一次使用调教教程
Ubuntu第一次使用调教教程 Ubuntu不允许root用户登录,这让人很蛋疼.下面的方法就是让Ubuntu接受以root身份登录.此外,ubuntu默认没有安装ssh的,所以不能进行ssh远程登录 ...
- php封装redis负载均衡类
$array = array( 'master' => array( "redis://127.0.0.1:6379?timeout=1", ), 'slave' => ...
- node 通过指令创建一个package.json文件及npm安装package.json
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...