代码改变世界

Linux的FTP安装、使用和配置

2022-09-28 15:48  阿方技术圈  阅读(155)  评论(0)    收藏  举报

一、FTP的介绍

1. 什么是FTP服务

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

2.FTP协议的特点

1、文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输方式。

2、FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

3、FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提提供服务,FTP的服务器进程由二大部分组成:一个是主进程,负责接受新的请求;另外有诺干个从属进程,负责处理单个请求。

三、搭建FTP服务

1. 关闭防火墙和selinux
关闭防火墙命令:systemctl stop firewalld
关闭防火墙开机自启:systemctl disable firewalld
关闭selinux:setenforce 0
关闭selinux开机自启:vim /etc/selinux/config
把SELINUX=disabled

2. 安装软件
如果没网挂载光盘。
命令:mount /dev/sr0 /mnt
清除缓存:yum clean all
重新建立缓存:yum makecache

第一步安装

  • 安装命令:yum -y install vsftpd

第二步启动ftp服务并添加到开机启动项中

启动:systemctl start vsftpd
设置开机自启:systemctl enable vsftpd

在启动时报错:

Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

问题解决有如下两个思路:

  • 查看21端口是否被占用,被占用的话就把占用21端口的进程杀死
  • 修改vsftpd配置文件,禁用ipv6,打开iPv4

解决方法:

先查看我们的21端口是否被占用:

[root@www local]# lsof -i:21
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pure-ftpd 2145 root    4u  IPv4  22893      0t0  TCP *:ftp (LISTEN)
pure-ftpd 2145 root    5u  IPv6  22894      0t0  TCP *:ftp (LISTEN)

需要杀掉pure-ftpd的进程2145

[root@www local]# kill -9 2145

重新启动ftp服务

[root@www local]# systemctl restart vsftpd
[root@www local]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-09-28 14:36:28 CST; 21s ago
  Process: 28136 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 28137 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─28137 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Sep 28 14:36:28 www systemd[1]: Starting Vsftpd ftp daemon...
Sep 28 14:36:28 www systemd[1]: Started Vsftpd ftp daemon.

缺省情况下,ftp服务器和操作系统用户名/密码一样,root用户的权限过大,不允许登录ftp服务器。

添加新用户和密码

[root@www local]# adduser lhf
[root@www local]# passwd lhf
Changing password for user lhf.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

四、Linux下ftp客户端管理工具

安装ftp客户端

[root@www local]# yum -y install ftp

使用ftp连接vsftpd

[root@www local]# ftp 192.168.175.129
Connected to 192.168.175.129 (192.168.175.129).
220 (vsFTPd 3.0.2)
Name (192.168.175.129:root): lhf
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

五、通过Xftp图形化工具连接ftp服务

 

 


原文链接:https://blog.csdn.net/weixin_53946852/article/details/125819609