Linux下搭建ftp服务器

什么是ftp服务

ftp是File Transfer Protocol的缩写,文件传输协议,Internet 上用来传送文件的协议。
ftp服务器有很多,本文主要讲解vsftp

vsftp

VSFTP是一个基于GPL发布的类Unix系统上使用的ftp服务器软件,它的全称是Very Secure FTP,它是一个安全、高速稳定的ftp服务器。

  • 端口
[root@centos7-1 vsftpd]# vi /etc/services | grep ftp
ftp-data        20/tcp
ftp-data        20/udp
# 21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd

20: 传数据
21: 传指令
fsp: 文件服务协议

  • 安装vsftp
# vsftpd是服务端,lftp是客户端(从7开始lftp取代了ftp客户端命令)
yum -y install vsftpd lftp

lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常好一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

  • 配置文件
/etc/vsftpd/
├── ftpusers   #用于指定哪些用户不能访问FTP 服务器。  黑名单
├── user_list   #指定允许使用vsftpd 的用户列表文件。  白名单
├── vsftpd.conf   #vsftpd 的核心配置文件
├── vsftpd.conf.back
└── vsftpd_conf_migrate.sh  # vsftpd 操作的一些变量和设置脚本

/var/ftp/:默认情况下匿名用户的根目录

  • 启动vsftpd
# 启动
systemctl start vsftpd
# 查看进程状态,为什么看不到20?因为没有数据通信
[root@centos7-1 /]# netstat -antup | grep ftp
tcp6       0      0 :::21                   :::*                    LISTEN      4511/vsftpd

到这里我们就可以访问我们的ftp服务器


访问ftp服务器

但是我们貌似不能创建文件,怎么办?

# 修改文件的拥有者
chown  ftp.ftp  /var/ftp/pub/

到这里可以创建文件了,但是不能修改和删除,想要修改和删除需要修改/etc/vsftpd/vsftpd.conf

允许匿名用户访问
anonymous_enable=YES
允许匿名用户上传文件并可以创建目录
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES  #默认没有,需要手动添加下这行

重启服务,然后就可以创建、修改和删除文件了。
注: 实际工作中建议不要使用匿名用户。

  • 账号密码登陆

1.创建一个禁止登陆shell的用户并设置密码

useradd -s /sbin/nologin team1
echo "123456" | passwd --stdin team1

2.修改配置文件vsftpd.conf

anonymous_enable=NO:禁止匿名用户登录
local_enable=YES:允许本地用户登录
local_root=/var/www/html:设置本地用户的根目录为/var/www/html
chroot_list_enable=YES:激chroot 功能
chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名
allow_writeable_chroot=YES :允许锁定的用户有写的权限

3.创建chroot_list文件

vim /etc/vsftpd/chroot_list
team1  # 添加用户名

4.修改本地权限为

[root@centos7-1 vsftpd]# ll /var/www/
总用量 0
drwxr-xrwx+ 3 root root 39 10月 15 11:14 html

5.重启vsftpd

systemctl restart vsftpd

到这里,你的ftp服务器就搭建好了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 7,672评论 3 25
  • 1.安装vsftpd软件包 2.打开配置文件 3.修改参数一些参数可以去掉注释激活,为了方便,默认设置我全不管,然...
    KANSUNG阅读 973评论 0 0
  • 图片更清晰,文字在最下面 FTP是TCP/IP的一种应用,使用TCP而不是UDP,所以是可靠的,面向连接的。 FT...
    停下浮躁的心阅读 1,748评论 0 4
  • 上次回顾时下的决心“跟孩子对话常用句子,抄写,动画片”,全军覆没, 前两个偶尔做,动画片彻底没做。 但是最近孩子表...
    绿玉阅读 128评论 0 0
  • 文/魏千洛 哈哈,今天来乱入一个典故。 听说最近因为开会,地铁安检格外严格。 有不相熟的新同事,早上到了单位,大声...
    千洛读书阅读 3,080评论 3 5