A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小蜀哥哥 于 2019-6-13 08:57 编辑

VSFTP 快速搭建 FTP 服务器

前言
随着互联网的飞速发展,我们通过远程管理文件已经成为了一种常态。平时,我们都会通过使用各种在线的网络存储运营商的产品。例如:百度网盘、城通网盘、微云等。
不过,如果你拥有一台属于自己的服务器,或者你是学校、公司、单位,有时候需要单独创立一个分享文件的平台。它可控而且可以定制相应的权限和实现一套完全没有公网环境的文件分享,这个时候就需要FTP(文件传输协议)。
支持这项协议的服务器软件有很多,比如IIS、FileZilla、vsftp等,甚至也有一些小型的GUI工具实现了FTP协议。
这里我们介绍一种简单的在Ubuntu环境下的FTP服务器:vsftp。


安装 vsftp


更新源和更新各个包
apt updateapt upgrade

安装 vsftpd
apt install vsftpd

查看是否安装成功
dpkg -l |grep ftp
service vsftpd status

配置 vsftp

编辑配置文件
有条件的用户也可以使用 vi/vim。
shellnano /etc/vsftpd.conf

开启IPv4,关闭IPv6
listen=YESlisten_ipv6=NO

允许写入
write_enable=YES

主目录替代开启
这个功能将有效避免路径注入影响真正的系统root目录。
chroot_local_user=YES

重启vsftpd服务
service vsftpd restart
# 或者
systemctl restart vsftpd

配置系统账户

配置空shell
理论上这一步可以不做,不过部分Linux发行版会报SHELL列表中未找到。
sudo vi /etc/shells
追加一个不存在文件的shell路径。
比如最终如下:
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
# 追加一个不可用的 shell
/bin/null

添加ftp专用
mkdir -p /vsftp/cditcast

添加ftp组下的用户
useradd cditcast -g ftp -d /vsftp/cditcast -s /bin/null

修改密码
passwd cditcast

修改权限
chgrp ftp /vsftp/cditcast
chown cditcast /vsftp/cditcast
chmod 707 /vsftp/cditcast

最后,通过ftp://x.x.x.x,同时提供用户名和密码就可以访问了!




1 个回复

倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马