FTP(文件传输协议)
它使INTERNET上常使用地最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法。FTP服务器包的名称为VSFTPD,它代表Very Secure File TransferProtocol Damon。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
部署FTP
软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口: 21/tcp
服务配置文件:/etc/vsftpd/vsftpd.conf
报错id的解析:500 ##文件系统权限过大
530 ##用户认证失败
550 ##服务本身功能未开放
553 ##本地文件系统权限过小
在虚拟机server
[root@localhost ~]# yum install vsftpd -y ##安装ftp服务
[root@localhost ~]# systemctl start vsftpd ##开启ftp服务
[root@localhost ~]# systemctl enable vsftpd ##开机永久开启
在真机上
[kiosk@foundation48 桌面]$ lftp 172.25.254.220(虚拟机IP地址)
lftp 172.25.254.220:~> ls
`ls' at 0 [Delaying before reconnect: 26] ##说明没有连接上,防火墙阻止
在虚拟机server
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp ##将ftp服务加进防火墙
success
[root@localhost ~]# firewall-cmd --reload ##重新加载防火墙
success ##成功
在真机上
lftp 172.25.254.220:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
匿名用户家目录修改
在虚拟机server
[root@localhost ftp]# mkdir /ftpdir/westosdir -p
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf ##编辑配置文件
13 anon_root=/ftpdir ##用户家目录修改
[root@localhost ftp]# systemctl restart vsftpd
在真机中
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> ls
drwxr-xr-x 2 0 0 6 May 05 07:36 westosdir
用匿名用户是否可以登陆
在虚拟机
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=NO ##用匿名用户是否可以登陆
[root@localhost ftp]# systemctl restart vsftpd
在真机
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> ls
本地用户是否可以登陆
在虚拟机
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
16 local_enable=NO ##本地用户是否可以登陆
[root@localhost ftp]# systemctl restart vsftpd
[root@localhost ftp]# useradd dmf
在真机
[kiosk@foundation48 桌面]$ lftp 172.25.254.220 -u dmf
Password:
lftp dmf@172.25.254.220:~> ls
ls: Login failed: 530 This FTP server is anonymous only.
tfp是否对登陆用户可写 write_enable=YES|NO
匿名用户上传
在虚拟机上
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
29 anon_upload_enable=YES ##匿名用户上传
[root@localhost ftp]# systemctl restart vsftpd
[root@localhost ftp]# chgrp ftp /var/ftp/pub
[root@localhost ftp]# chmod 775 /var/ftp/pub
在真机上
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
-rw-r--r-- 1 0 0 0 May 05 07:33 westosfile
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.220:/pub> put /etc/passwd
2397 bytes transferred
匿名用户下载
虚拟机
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
13 anon_world_readable_only=NO ##设定参数为no表示u匿名用户可以下载
[root@localhost ftp]# systemctl restart vsftpd
真机
[kiosk@foundation48 桌面]$ Desktop]$ lftp 172.25.254.220
lftp 172.25.254.220:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.220:/pub> ls
-rw------- 1 14 50 1004 May 05 08:57 group
-rw------- 1 14 50 2397 May 05 08:57 passwd
lftp 172.25.254.220:/pub> get group
1004 bytes transferred
匿名用户删除
虚拟机
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
14 anon_other_write_enable=YES ##删除
[root@localhost ftp]# systemctl restart vsftpd
真机
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.220:/pub> rm group
rm ok, `group' removed
匿名用户建立目录
虚拟机
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
35 anon_mkdir_write_enable=YES ##匿名用户建立目录
[root@localhost ftp]# systemctl restart vsftpd
真机
[kiosk@foundation48 桌面]$ lftp 172.25.254.220
lftp 172.25.254.220:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.220:/pub> mkdir test
mkdir ok, `test' created
lftp 172.25.254.220:/pub> ls
-rw------- 1 14 50 2397 May 05 08:57 passwd
drwx------ 2 14 50 6 May 05 09:11 test