1、检查安装vsftpd软件
使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。
2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpd.conf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpd.conf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum -y install vsftpd 安装,(ubuntu 下使用apt-get install vsftpd)
2. service vsftpd start
启动要让FTP每次开机自动启动,运行命令: chkconfig --level 35 vsftpd on
3. 设置ftp权限
vi /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
ESC返回,输入“:wq”保存并推出
4. 添加ftp帐号和目录
useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp
passwd pwftp
chmod -R 755 /alidata/www/wwwroot
chown -R pwftp /alidata/www/wwwroot
/etc/rc.d/init.d/vsftpd restart
然后用帐号pwftp密码123456
测试下就可以登陆ftp了。目录是/alidata/www/wwwroot
1、确保操作系统安装VSFTPD
可以使用如下命令行进行验证:
- [root@sdemachine3 ~]# cd /etc/vsftpd
- [root@sdemachine3 vsftpd]# ls
- ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
- [root@sdemachine3 vsftpd]#
如果没有安装,可以下载相关Tar包安装即可,vsftpd.conf包括对FTP服务配置参数的相关设置。
2、确保服务器FTP服务在开启状态
- [root@sdemachine3 vsftpd]# service vsftpd status
- vsftpd is stopped
- [root@sdemachine3 vsftpd]# service vsftpd start
- Starting vsftpd for vsftpd: [ OK ]
3:建议服务器的防火墙或者SELinux处于关闭状态,或者开放21端口。
4:使用Windows的CMD进行FTP连接即可。
FTP 服务器IP地址:
- C:\Users\Administrator>ftp 192.168.220.133
- 连接到 192.168.220.133。
- 220 (vsFTPd 2.2.2)
- 用户(192.168.220.133:(none)): root
- 331 Please specify the password.
- 密码:
- 230 Login successful.
5:连接成功之后,就可以输入类似命令
- ftp> help
- 命令可能是缩写的。 命令为:
- ! delete literal prompt send
- ? debug ls put status
- append dir mdelete pwd trace
- ascii disconnect mdir quit type
- bell get mget quote user
- binary glob mkdir recv verbose
- bye hash mls remotehelp
- cd help mput rename
- close lcd open rmdir
- ftp> dir
- 200 PORT command successful. Consider using PASV.
- 425 Failed to establish connection.
建议关闭Windows操作系统的防火墙即可解决按问题。
6、命令介绍
当断开连接之后,可以使用Open命令重新连接,也可以使用User命令继续连接该IP,DIR命令类似于DOS的列出所有目录文件列表,类似于Linux的ls命令:
- ftp> dir
- 远程主机关闭连接。
- ftp> open
- 到 192.168.220.133
- 连接到 192.168.220.133。
- 220 (vsFTPd 2.2.2)
- 用户(192.168.220.133:(none)): root
- 331 Please specify the password.
- 密码:
- 230 Login successful.
- ftp> dir
- 200 PORT command successful. Consider using PASV.
- 150 Here comes the directory listing.
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Desktop
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Documents
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Downloads
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Music
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Pictures
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Public
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Templates
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Videos
- -rw------- 1 0 0 3135 Aug 29 2013 anaconda-ks.cfg
- -rw-r--r-- 1 0 0 2062384 Jan 02 05:54 ceshi_ora_11016.trc
- -rw-r--r-- 1 0 0 14415564 Jan 02 06:51 ceshi_ora_11620.trc
- drwxr-xr-x 18 0 0 4096 Mar 05 02:12 gdal-1.9.2
- -rw-r--r-- 1 0 0 11532797 Mar 05 01:50 gdal192.zip
- -rw-r--r-- 1 0 0 59875 Aug 29 2013 install.log
- -rw-r--r-- 1 0 0 9548 Aug 29 2013 install.log.syslog
- drwxr-xr-x 2 0 0 4096 Mar 06 02:44 shp_data1
- -rwxr-xr-x 1 0 0 701 Feb 27 03:34 test.pl
- 226 Directory send OK.
- ftp: 收到 1164 字节,用时 0.06秒 18.77千字节/秒。
查看状态Status,重点关注类型ascii,也就是传输的数据以ascii码形式:
- ftp> status
- 连接到 192.168.220.133。
- 类型: ascii;详细: 开 ;铃声: 关 ;提示: 开 ;通配: 开
- 调试: 关 ;哈希标记打印: 关 。
如果希望用户使用binary方式传输,比如上述dir之后,在root的根目录下有一个test.pl文件,我希望使用binary形式传入到Windows终端。使用FTP获得文件使用get命令:
- ftp> binary
- 200 Switching to Binary mode.
- ftp> get test.pl
- 200 PORT command successful. Consider using PASV.
- 150 Opening BINARY mode data connection for test.pl (701 bytes).
- 226 Transfer complete.
- ftp: 收到 701 字节,用时 0.00秒 701000.00千字节/秒。
mget命令一次获取多个远程文件。
mget命令的一般格式为:mget 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。获得的test.pl文件在默认命令行输入的文件夹中,即C:\Users\Administrator文件夹中。
- C:\Users\Administrator>ftp 192.168.220.133
使用send命令,将本地文件传入到目标服务器中:
- ftp> send test1.pl
- 200 PORT command successful. Consider using PASV.
- 150 Ok to send data.
- 226 Transfer complete.
- ftp: 发送 701 字节,用时 0.00秒 701.00千字节/秒。
- ftp> dir
- 200 PORT command successful. Consider using PASV.
- 150 Here comes the directory listing.
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Desktop
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Documents
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Downloads
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Music
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Pictures
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Public
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Templates
- drwxr-xr-x 2 0 0 4096 Aug 29 2013 Videos
- -rw------- 1 0 0 3135 Aug 29 2013 anaconda-ks.cfg
- -rw-r--r-- 1 0 0 2062384 Jan 02 05:54 ceshi_ora_11016.trc
- -rw-r--r-- 1 0 0 14415564 Jan 02 06:51 ceshi_ora_11620.trc
- drwxr-xr-x 18 0 0 4096 Mar 05 02:12 gdal-1.9.2
- -rw-r--r-- 1 0 0 11532797 Mar 05 01:50 gdal192.zip
- -rw-r--r-- 1 0 0 59875 Aug 29 2013 install.log
- -rw-r--r-- 1 0 0 9548 Aug 29 2013 install.log.syslog
- drwxr-xr-x 2 0 0 4096 Mar 06 02:44 shp_data1
- -rwxr-xr-x 1 0 0 701 Feb 27 03:34 test.pl
- -rw-r--r-- 1 0 0 701 Apr 18 01:38 test1.pl
- 226 Directory send OK.
- ftp: 收到 1230 字节,用时 0.01秒 94.62千字节/秒。
同样也可以使用Put 命令,该命令与send比较类似。
put和mput命令用于向远程机发送文件;
Put命令的一般格式为:put 文件名
mput命令一次发送多个本地文件;
mput命令的一般格式为:mput 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。使用cd命令切换目标服务器的目录:
- ftp> cd /home/oracle
- 250 Directory successfully changed.
- ftp> dir
- 200 PORT command successful. Consider using PASV.
- 150 Here comes the directory listing.
- -rw-r--r-- 1 500 501 1170432000 Jan 14 01:01 DBCGW.DMP
- drwxrwxr-x 9 500 501 4096 Jan 14 01:07 apache-tomcat-7.0.42
- drwxrwxr-x 4 500 501 4096 Sep 09 2013 app
- -rwxrwxr-x 1 500 501 493 Jan 14 01:03 export.log
- -rwxrwxr-x 1 500 501 1402 Jan 14 01:04 import.log
- drwxr-xr-x 6 500 501 4096 Nov 29 08:24 sdeexe102
- 226 Directory send OK.
- ftp: 收到 411 字节,用时 0.01秒 29.36千字节/秒。
如果不希望本地默认路径为C:\Users\Administrator,希望修改为C:\为默认路径,使用lcd命令修改
- ftp> lcd c:\
- 目前的本地目录 C:\。
RHEL5 中配置好后,今天想在XP下用ftp连接虚拟机中的linux,但ftp连接的时候会出现 "500 OOPS:cannot change directory:/root" 错误,如何解决呢?
默认下是没有开启FTP的支持,所以访问时都被阻止了。
解决:
1. 查看SE Linux
设置
# getsebool -a | grep ftp
发现 ftpd_disable_trans –> off 或者 ftp_home_dir–>off
2. 使用setsebool命令开启
# setsebool ftpd_disable_trans 1 或者 # setsebool ftp_home_dir 1
3. 查看当前状态是否是on的状态
# getsebool -a|grep ftp
此时 ftpd_disable_trans –> on 或者 ftp_home_dir–>on
4. 最后重启 # service vsftpd restart
OK,问题解决了。
另外 setsebool 使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1