首页 > 其他分享 >ftp和vsftpd

ftp和vsftpd

时间:2024-01-16 14:59:05浏览次数:28  
标签:ftp FTP sudo etc vsftpd YES

目录


简介

FTP是文件传输协议,用于在计算机之间传输文件。VSFTPD是一个非常安全的FTP守护进程,是一个用于UNIX系统的GPL许可的FTP服务器。它支持IPv6和SSL,可以处理虚拟IP配置、虚拟用户、独立或inetd操作、强大的每用户可配置性、带宽限制、源IP配置性、源IP限制、IPv6、加密支持等功能。

VSFTPD支持虚拟用户,这些用户在系统中不存在,因此更安全,因为一旦虚拟用户被入侵,入侵者只能使用FTP服务器,无法登录系统使用其他服务。VSFTPD还支持PAM(可插拔身份验证模块),可以通过PAM文件配置虚拟用户。

以下是VSFTPD的一些基本设置示例:

# 禁用匿名登录并允许本地用户登录并赋予写权限
anonymous_enable=NO
local_enable=YES
write_enable=YES

# 将用户限制在其主目录中
chroot_local_user=YES

# 拒绝或允许某些用户登录
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users

# 启用TLS/SSL/FTPS
ssl_enable=YES

要应用新的配置设置,需要重启vsftpd服务:

sudo /etc/init.d/vsftpd restart

ftp用法

要使用FTP命令在Linux上传输文件,您可以按照以下步骤操作:

  1. 使用ftp命令连接到FTP服务器。
  2. 登录到FTP服务器。
  3. 在远程系统上操作目录。
  4. 列出目录。
  5. 更改目录。
  6. 创建目录。
  7. 通过FTP下载文件。
  8. 通过FTP上传文件。
  9. 重命名文件。
  10. 删除文件。
  11. 关闭FTP连接。

以下是一个示例,演示如何使用ftp命令连接到FTP服务器并下载文件:

# 连接到FTP服务器
ftp <IP地址或域名>

# 输入用户名和密码登录到FTP服务器
Name (localhost:yourusername): <输入用户名>
Password: <输入密码>

# 下载文件
ftp> get file.txt

请注意,FTP不使用加密,因此不建议在Internet上使用FTP传输文件。对于更安全的文件传输,建议使用SFTP或FTPS,因为它们使用加密。

vsftpd用法

要在Linux上使用vsftpd,你需要按照以下步骤进行设置和配置:

  1. 更新APT软件包管理器并安装vsftpd:
sudo apt update
sudo apt install vsftpd
  1. 配置防火墙以允许FTP流量通过:
sudo ufw allow 20,21,990/tcp
sudo ufw allow 40000:50000/tcp
  1. 准备用户目录:
sudo adduser username
sudo mkdir /home/username/ftp
sudo chown nobody:nogroup /home/username/ftp
sudo chmod a-w /home/username/ftp
sudo mkdir /home/username/ftp/test
sudo chown username:username /home/username/ftp/test
  1. 配置vsftpd:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf

在配置文件中添加以下内容:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpduserlist.conf
userlist_deny=NO
  1. 重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
  1. 设置SSL/TLS安全性:
sudo mkdir /etc/certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/certs/vsftpd.pem -out /etc/certs/vsftpd.pem
sudo nano /etc/vsftpd.conf

在配置文件中添加以下内容:

rsa_cert_file=/etc/certs/vsftpd.pem
rsa_private_key_file=/etc/certs/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
  1. 重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd

这些步骤将帮助你在Linux上安装和配置vsftpd,以便进行FTP文件传输。

vsftpd优势

VSFTPD相对于其他FTP服务器的安全性优势主要体现在以下几个方面:

  1. 虚拟用户支持:VSFTPD支持虚拟用户,这些用户在系统中不存在,因此更安全。一旦虚拟用户被入侵,入侵者只能使用FTP服务器,无法登录系统使用其他服务。

  2. 支持PAM:VSFTPD支持Pluggable Authentication Modules(PAM),可以通过PAM文件配置虚拟用户,增强了身份验证的灵活性和安全性。

  3. chroot限制:VSFTPD可以将用户限制在其主目录中,这样即使用户登录后也无法越权访问其他目录,增强了安全性。

  4. 用户访问控制:VSFTPD允许管理员拒绝或允许某些用户登录,通过userlist_file可以灵活控制用户访问权限。

  5. TLS/SSL支持:VSFTPD支持加密通信,可以启用TLS/SSL/FTPS,确保数据在传输过程中的安全性。

总的来说,VSFTPD在设计上更注重安全性,提供了更多的安全功能和配置选项,使得FTP服务更加安全可靠。

标签:ftp,FTP,sudo,etc,vsftpd,YES
From: https://www.cnblogs.com/yubo-guan/p/17967621

相关文章

  • Linux篇---ftp服务器的搭建
    一、前述企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结。二、具体1、显示如下图则表示已安装vsftp软件。如果未显示则需要安装vsftpd软件。如果没有则通过yarm源进行安装yuminstall-yvsftpd2、安装完成之后进入到ftp的......
  • Linux CentOS 8 安装FTP服务和lftp服务
    一、ftp服务1、安装ftp服务[spj1@localhost~]$sudoyuminstallvsftpd//安装ffp服务 2、启动ftp服务[spj1@localhost~]$systemctlstartvsftpd//启动ftp服务====AUTHENTICATINGFORorg.freedesktop.systemd1.manage-units====启动“vsftpd.service”需要认证......
  • 网络-华为、思科交换机配置TFTP自动备份、NTP时间同步、SYSLOG日志同步
    配置使用TFTP进行交换机配置的自动保存华为设备<Huawei-sw>sys[Huawei-sw]setsave-configurationinterval60delay3cpu-limit60[Huawei-sw]setsave-configurationbackup-to-serverserver<TFTP服务器IP>transport-typetftppath\Huawei-sw.zip[Huawei-sw]quit<H......
  • C#获取FTP服务器上的文件
    在文件上传到FTP服务器时会出现没传上去的情况,我不知道为什么会出现这种情况,不知怎么解决就写了段程序,目的是执行完上传以后,去服务器读一遍,看一下有没有上传成功,没成功的话在传一次首先看下我的FTP服务器页面以及文件我框住的是文件名和文件目录我为了方便看到结果,将查出的数据放到......
  • Linux中SFTP无法获取目录如何解决?
    SFTP是一种基于SSH协议的文件传输协议,通过安全的加密方式进行数据传输,实现了更为安全可靠的文件传输。SFTP可以作为FTP的替代方案,也可以通过终端来管理,以便更加灵活。那么Linux中使用sftp无法获取目录怎么办?具体请看下文。如果在Linux中使用SFTP无法获取目录,可能有几种原......
  • CentOS7 安装配置SFTP服务器详解
    https://blog.csdn.net/weixin_45688268/article/details/126355365CentOS7安装配置SFTP服务器详解AquaMriusC于2022-08-1521:39:26发布阅读量1w 收藏56点赞数7分类专栏:虚拟机与云服务器文章标签:linuxcentosssh版权华为云开发者联盟该内容已被华为云开发者联盟社区收......
  • 安全典型配置(一)使用ACL限制FTP访问权限案例
      原创:厦门微思网络  【微思2002年成立,专业IT认证培训21年!】安全典型配置(一)使用ACL限制FTP访问权限案例 安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限案例 安全典型配置(三)使用ACL禁止特定用户上网案例安全典型配置(四)使用自反ACL实现单向访问控制案例安全......
  • Ftp基础(五):.NetCore中使用Ftp的建议(FluentFTP)
      上一篇说道C#使用FluentFTP来简单的连接使用Ftp,本篇是个人在.NetCore中使用Ftp的建议(可能有点啰嗦):  1、为Ftp的配置创建基类  在开发过程中,我们如果要使用Ftp,往往需要这几个信息:  Host:Ftp地址Port:端口号User:用户名Password:密码WorkingDirect......
  • 怎么使用FTP
    FTP服务器(FileTransferProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是FileTransferProtocol的缩写,即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。简单地说......
  • Pure-ftpd 安装
    Pure-FTPd是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器。侧重于运行效率和易用性。它提供了简单的答案,他满足了大众化的需求,包括普通用户以及主机供应商们。CentOS安装yuminstall-ypure-ftpd前提是配置了epel源配置修改#关闭AnonymousOnlysed-i's/^Anon......