linux-FTP服务常用命令及测试

一、vsftpd服务的安装,启动及关闭
1、安装vsftpd
[[email protected] bdump]# yum install vsftpd --必须配置yum源才能使用yum命令来安装vsftpd,或者挂载光盘,找到Packages目录下的vsftpd包,使用rpm命令安装
……
Installed:
vsftpd.x86_64 0:2.0.5-24.el5

Complete!

2、vsftpd服务的启动及关闭
[[email protected] bdump]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[[email protected] bdump]# chkconfig --level 35 vsftpd on

[[email protected] bdump]# service vsftpd restart --启动/关闭命令为:service vsftpd start/stop
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]

[[email protected] bdump]# service vsftpd status
vsftpd (pid 5087) is running...
[[email protected] 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文件用于设置允许登录的用户账号。

时间: 2024-10-14 12:22:13

linux-FTP服务常用命令及测试的相关文章

linux 几个常用命令

解压: tar zxvf 22gif.tar.gz 压缩: tar zcvf 22gif.tar.gz www.22gif.com (目录名字,这里是全站压缩备份) 查看正在使用的服务和端口 可以使用netstat -tunlp,netstat -antup,lsof -i:PORT命令查看. 查看服务器进程信息 可以使用ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID命令查看. 测试配置文件是否正确: /alidata/server/nginx-1

【Linux基础】常用命令大全

Linux基础之常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /

linux开发中常用命令

经常使用linux进行开发,软件安装,环境部署等,会用到一些常用的命令,下面是我平时使用或收集到的linux下的常用命令集: type command 查看一条命令是外部命令还是内部命令[[email protected] test]# type cdcd is a shell builtincd 是内部命令 [[email protected] test]# type mountmount is /bin/mountmount 是外部命令 内部命令可以直接访问环境变量,外部命令不可以 查看内部

Linux查看系统配置常用命令

Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量 资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各

Linux Jboss下常用命令

cd /opt/jboss/binnohup sh run.sh -b 0.0.0.0 &启动jboss:nohup ./run.sh -b 0.0.0.0 &nohup sh run.sh -b 0.0.0.0 &//nohup表示转入后台运行: 使用./run.sh和sh  run.sh 都能启动:-b 表示绑定IP启动,如果为0.0.0.0则表示所有IP都可访问该服务,此参数可不写,可以再jboss的server.xml配置文件里配置如下:添加 & 表示恢复到命令行模

linux上的常用命令

一.常用远程拷贝命令 1.scp scp  /etc/hosts/file.txt [email protected]:/remotepath 2.rsync rsync  -vzrtopgu   --progress /etc/hosts 192.168.2.38:/etc/hosts rsync对应的服务是:xinetd service xinetd statusxinetd (pid 4758) is running... sync参数的具体解释如下: -v, --verbose 详细模式

linux查看日志 (常用命令)

cat   tail -f  日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一   /var/log/secure 与安全相关的日志信息   /var/log/maillog 与邮件相关的日志信息   /var/log/cron 与定时任务相关的日志信息   /var/log/spooler 与UUCP和news设备相关的日志信息   /var/log/boot.log 守护进程启动和停止相关的日志消息 系

Linux文本处理常用命令

1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.  (2)基本元字符集及其含义      ^ :只匹配行首.   如^a 匹配以a开头的行abc,a2e,a12,aaa,......      $ :只匹配行尾.   如^a 匹配以a结尾的行bca,12a,aaa,.......      * :匹配0个或多个此单字符. 如(a)* 匹配 空,a,aa,aaa,....      [] :只匹配[]内字符

Linux RedHat 7常用命令总结

Linux RedHat 7常用命令总结... ----------------------- 征服Linux从终端开始 ------------------------------------- 在Linux中清除终端:键入 clear [Ctrl] + [l] = 清除终端.[Ctrl] + [u] = 清除当前行 ======================快速进入某些目录键入cd查找文件find 命令======================一测试可用的快捷键RedHat7常用的一些好