大家好,欢迎来到IT知识分享网。
目录
一、FTP简介
1.FTP-文件传输协议
FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
2.FTP的两种模式
主动模式:服务器主动发起数据连接
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送FTP用户名和密码,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令,告诉服务端客户端采用主动模式并开放了端口。FTP服务器接收到PORT命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输
被动模式:服务器被动等待数据连接
在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送用户名和密码进行登陆,同时会开启N+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P(端口P的范围是可以设置的,后面会说到这个是很重要的)进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输
二、安装配置FTP
1.安装环境
关闭防火墙和核心防护
[root@localhost ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# setenforce 0 [root@localhost ~]# vi /etc/selinux/config [root@localhost ~]#
安装svftpd
备份vsftpd的配置文件
[root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak [root@localhost vsftpd]#
重启生效
[root@localhost vsftpd]# systemctl restart vsftpd [root@localhost vsftpd]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. [root@localhost vsftpd]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 719/rpcbind tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1534/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1210/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1213/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1569/master tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2954/sshd: root@pts tcp6 0 0 :::111 :::* LISTEN 719/rpcbind tcp6 0 0 :::21 :::* LISTEN 3741/vsftpd tcp6 0 0 :::22 :::* LISTEN 1210/sshd tcp6 0 0 ::1:631 :::* LISTEN 1213/cupsd tcp6 0 0 ::1:25 :::* LISTEN 1569/master tcp6 0 0 ::1:6010 :::* LISTEN 2954/sshd: root@pts [root@localhost vsftpd]#
以win10为例,设置网络为net模式
测试连通性,并且连接操作请求
2.对文件的操作
创建文件并查看
[root@localhost ~]# cd /var/ftp/ [root@localhost ftp]# ls pub [root@localhost ftp]# pwd /var/ftp [root@localhost ftp]# mkdir xy101 [root@localhost ftp]# ls pub xy101 [root@localhost ftp]#
下载文件并查看
[root@localhost ftp]# echo '12345' > 12345.txt [root@localhost ftp]# ls 12345.txt pub xy101 [root@localhost ftp]#
3.切换目录
切换路径下载文件,以桌面为例
4.设置匿名用户
关闭匿名用户
[root@localhost vsftpd]# useradd zhangsan [root@localhost vsftpd]# echo | passwd --stdin zhangsan 更改用户 zhangsan 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@localhost vsftpd]# systemctl restart vsftpd [root@localhost vsftpd]#
匿名用户登录失败
非匿名用户登录成功
5.图形化界面登录
6.白名单与黑名单
设置用户白名单,添加用户登录访问,登录成功
设置用户黑名单,用户登录访问,登录失败
重点与难点
1. ftp的服务中有两个端口,一个20用于数据连接,一个21用户ftp传输控制指令。
2. ftp运用中可以又匿名登录和本地用户登录。匿名登录,没有密码限制,存在安全风险比较高。本地用户登录,通过修改vsftp.conf 限制其切换目录。
3.白名单是只有名单上的用户才可以进行访问,而黑名单是名单上的用户被拒绝访问。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128788.html