首页 > 系统相关 >Linux系统的FTP文件传输服务

Linux系统的FTP文件传输服务

时间:2024-06-12 20:02:15浏览次数:14  
标签:FTP enable 文件 文件传输 用户 vsftpd Linux YES

一.FTP简介

Linux环境下高性能的FTP命令行工具,能够利用FTP协议进行高效的文件传输管理。借助此强大工具,用户能轻松连接远程服务器,执行上传、下载、删除及重命名等操作,显著提高两台设备间的文件交互效率。

1.FTP什么

ftp是一种文件传输协议

2.FTP的作用

用来上传和下载,实现远程共享文件,和统一管理文件

3.FTP属于什么层

应用层

4.FTP的端口号

端口号:21     主动模式下端口号:20    被动模式下:随机端口

5.FTP的连接方式的两个阶段

(1)管理连接:客户端使用随机端口(端口号值大于1024,也被称为高位端口)连接服务器的21号端口,利用管理连接建立的通道发送指令。
(2)数据连接:上传或下载文件

6.数据连接下的两种模式

(1)主动模式:服务器(20端口)主动向客户端发起数据连接(随机端口,一般是N+1)客户端的防火墙会拦截服务器发起的连接(服务器连客户端)

(2)被动模式:服务器(随机端口)等待客户端(随机端口)向自己发起连接服务器需要处理防火墙(关闭,添加策略)(客户端连服务器)

7.ftp的用户类型及登录

匿名用户:用户名ftp,无需密码登录
授权用户:账号名及密码登录

8.FTP服务在客户端与服务器的名称

服务器端:vsftpd
客户端:ftp

9.FTP的两种传输模式

(1)文本模式:ASCII模式美国信息交换信息标准码 这种模式传输文件使用ASCII标准字符序列,一般只用于传输文件文件的传输。

(2)二进制模式:又称为Binary这种模式不会转换文件中的字符序列,跟适合传输程序图片等非文本文件
 Vsftpd可支持最大15000并发连接数

10.FTP的工作原理

用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。

二.FTP的相关配置

1.安装FTP

服务器:安装vsftpd
客户端:安装ftp

2.关闭服务器防火墙,内核安全机制及启动ftp服务

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# setenforce 0

3.配置ftp服务的文档

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf   删除文本里面以'/^#/d'开头参数,剩余显示的是需要配置的参数

4.相关参数介绍

anonymous_enable=YES   允许匿名登录
local_enable=YES       允许本地用户访问
write_enable=YES       允许用户上传和下载文件
local_umask=022        设置上传的文件的默认权限
dirmessage_enable=YES    允许在目录上传送完毕后显示一条消息。
xferlog_enable=YES     启用日志功能
connect_from_port_20=YES   使用端口20进行数据传输
xferlog_std_format=YES     使用标准的日志格式
listen=NO    表示以非独立的服务进行
listen_ipv6=YES    表示vsftpd将监听IPv6连接
pam_service_name=vsftpd   
使用PAM进行认证
userlist_enable=YES    启用用户列表文件
tcp_wrappers=YES    表示服务器使用tcp_wrappers作为主机访问控制方式

5.匿名用户的相关配置
anonymous_enable=YES   
允许匿名登录
anon_umask=022    允许匿名用户访问的权限设置
anon_root=/opt/ftp    匿名用户登录后只能在该目录下操作
anon_upload_enable=yes    匿名
用户不能浏览目录,只能上传文件,无其他权限
anon_mkdir_write_enable=yes    允许匿名用户创建目录
anon_other_write_enable=yes      允许匿名用户删除

6.本地用户的相关配置
local_enable=YES      允许本地用户访问
local_root=/opt/ftp       本地用户登录后只能在该目录下操作
local_umask=022        允许本地用户访问的权限设置
chroot_local_user=yes    将所有用户限制在主目录
allow_writeable_chroot=yes    允许在chroot环境中创建可写文件

7.主动模式被动模式的相关配置
pasv_enable=yes     
YES即被动模式,NO即主动模式
pasv_min_port=30500      最小端口值
pasv_max_port=30600     最大端口值

8.黑名单与白名单

(1)vim /etc/vsftpd/ftpusers
ftpusers黑名单文件,存在该文件中的用户无法登陆
(2)vim /etc/vsftpd/user_list
User_list 白名单文件,如果设置userlist_deny=NO  Userlist_enable=YES则只允许该列表中的用户登录
注:若一个用户同时存在两个文件中,黑名单生效,该用户不能登陆虚拟用户模式。

9.使用虚拟用户可以将用户的登录名和密码不相同,提高服务器的安全性

第一步:创建文本格式的用户名和密码  奇数行为用户名,偶数行为密码

第二步:建立虚拟FTP用户的数据库文件

第三步:添加虚拟用户的映射账号

第四步:为虚拟用户建立PAM认证文件

第五步:修改配置文件添加虚拟用户的支持

Local_enable=YES  #需要映射本地用户所以启用
Write_enable=YES  ##启用上传写入权限
Guest_enable=YES  ##开启虚拟用户
Anon_umask=022 ### 指定上次权限掩码
Guest_username=*  ###指定映射的本地系统用户
Pam_serrivce_name=vsftpd.vu  ##指定新的pam认证文件
User_config_dir=/*/*/*/   ###为不同的虚拟用户设置不同的权限

匿名用户模式:
anonymous_enabled=YES     ##允许匿名访问模式。默认开的
Anonumask=022     ##匿名用户上传文件或目录权限,所上传的文件或目录的权限减去022文件默认权限是644 目录的755
Anon_upload_enable=YES       ##允许匿名用户上传文件
Anon_mkdir_write_enable=YES         ##允许匿名用户创建目录Anon_other_ write_enable=YES       ##允许匿名用户有其他的写入权限 (删除或者修改)

10.相关命令

put  上传
local   跳转
wget   下载

标签:FTP,enable,文件,文件传输,用户,vsftpd,Linux,YES
From: https://blog.csdn.net/2401_85163218/article/details/139613627

相关文章

  • Linux防火墙
    Netfilter是Linux内核中构建防火墙的网络子系统。firewalld是iptables的一个封装,更容易地管理iptables,firewalld和iptables一样,它们的作用都用于维护规则,而真正使用规则干活的是内核的netfilter。firewalld:firewalld是较新的防火墙管理工具,主要在基于RHEL/CentOS7及更高版本的......
  • Linux——ansible的应用
    要让ansible管理业务里的主机1.得先知道,有哪些主机  用IP地址,用主机名2.知道了有哪些主机以后,精细、细分管理  主机要用某些办法,分组管理在ansible里,要用一个东西:清单->inventoryinventory这个东西的存在形式ansible是为了人方便使用,为了简单所以,inventory,就是个......
  • Linux命令-⽤户、权限管理
    目录<1>查看当前⽤户:whoami<2>查看登录⽤户:who<3>退出登录账户:exit<4>添加⽤户账号:useradd<5>设置⽤户密码:passwd<6>删除⽤户:userdel<7>切换⽤户:su<8>查看有哪些⽤户组⽅法⼀:⽅法⼆:<9>添加、删除组账号:groupadd、groupdel<10>修改⽤户所在组:usermod<11>查......
  • linux内存管理(九)- 页面回收
    参考《深入理解linux内核架构》和这篇博客Linux中的内存回收[一]-知乎(zhihu.com)内核代码v6.8-rc2内存在计算机系统中经常是稀缺资源,当系统中内存不足甚至耗尽,为了让系统继续运行必须回收一部分内存。为了回收内存,我们必须首先知道系统中的内存都处于什么状态。内存中的页......
  • linux mysql麒麟系统部署
    1、安装mysqlapt-getinstallmysql-servermysql-common2、取消大小写敏感 (1)、先删除mysql数据库rm-rf/var/lib/mysql (2)、设置my.cnf[mysqld]lower-case-table-names=1 (3)、初始化数据库,取消大小写敏感mysqld--initialize--user=mysql--lower-case-tab......
  • Linux Mint 21.3简介
    LinuxMint21.3是一个更新版本,其中包含了许多新特性和改进。以下是一些主要更新内容:1.Cinnamon6.0桌面环境:LinuxMint21.3采用了最新的Cinnamon6.0桌面环境,带来了新的功能和改进,例如支持Wayland会话(尽管仍处于实验性阶段)、改进的声音和电源小部件、对AVIF图像格式的新支......
  • DBeaver Ultimate Edtion 24.1 Multilingual (macOS, Linux, Windows) - 通用数据库工
    DBeaverUltimateEdtion24.1Multilingual(macOS,Linux,Windows)-通用数据库工具Onetoolforalldatasources请访问原文链接:https://sysin.org/blog/dbeaver/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org通用数据库工具DBeaver是一个通用的数据库管......
  • Nexpose v6.6.255 for Linux & Windows - 漏洞扫描
    Nexposev6.6.255forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseJun05,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • Linux命令-系统管理
    目录<1>查看当前⽇历:cal<2>显示或设置时间:date<4>动态显示进程:top<5>终⽌进程:kill<6>关机重启:reboot、shutdown、init<7>检测磁盘空间:df<8>检测⽬录所占磁盘空间:du<9>查看或配置⽹卡信息:ifconfig<10>测试远程主机连通性:ping<1>查看当前⽇历:calcal命令⽤于查看......
  • 每天一个 Linux 命令(7):cd
    Github地址:https://github.com/mingongge/Learn-a-Linux-command-every-day命令简介cd(ChangeDirectory),用来切换工作目录至指定的目录。指定的目录可以是绝对路径或相对路径。若指定目录名称省略,则直接切换至当前用户的homedirectory(也就是刚login时所在的目录)。另外,~也表......