基于ubuntu搭建FTP文件服务

1. 安装并启动FTP服务

  • 安装VSFTPD 使用apt-get安装vsftpd: sudo apt-get install vsftpd -y
  • 启动VSFTPD 安装完成后VSFTPD会自动启动,通过netstat命令可以看到系统已经监听了21端口: sudo netstat -nltp | grep 21 如果没有启动,可以手动开启VSFTPD服务: sudo systemctl start vsftpd.service

2. 配置用户访问目录

  • 新建用户目录 sudo mkdir /home/uftp 执行完后,就可以在/home/uftp看到新建的文件夹uftp了。
  • 新建用户uftp并设置密码 创建一个用户uftpsudo useradd -d /home/uftp -s /bin/bash uftp 为用户uftp设置密码: sudo passwd uftp 删除掉 pam.d 中 vsftpd,因为该配置文件会导致使用用户名登陆ftp失败: sudo rm /etc/pam.d/vsftpd
  • 限制该用户仅能通过FTP访问 限制用户uftp只能通过FTP访问服务器,而不能直接登陆服务器: sudo usermod -s /sbin/nologin uftp
  • **修改 vsftpd 配置 sudo chmod a+w /etc/vsftpd.conf 修改 /etc/vsftpd.conf 文件中的配置(将如下配置添加到配置文件最下方):
# 限制用户对主目录以外目录访问
chroot_local_user=YES

# 指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES

# 记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list

# 不配置可能导致莫名的530问题
seccomp_sandbox=NO

# 允许文件上传
write_enable=YES

# 使用utf8编码
utf8_filesystem=YES

新建文件/etc/vsftpd.user_list, 用于存放允许访问ftp的用户:

sudo touch /etc/vsftpd.user_list
sudo chmod a+w /etc/vsftpd.user_list

修改/etc/vsftpd.user_list,加入刚刚创建的用户。

  • 设置访问权限 设置主目录访问权限(只读): sudo chmod a-w /home/uftp 新建公共目录,并设置权限(读写): sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public 重启 vsftpd 服务: sudo systemctl restart vsftpd.service

3. 访问FTP服务

  • 通过Windows资源管理器访问 Windows用户可以复制下面的链接到资源管理器的地址栏访问: ftp://uftp:你的密码@你的主机IP

资料来源:腾讯云开发者实验室

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

jQuery Tools Scrollable使用的限制

在现在很多项目中,都会使用到jQuery Tools中scrollable。特别对于显示Photo Gallery,当然目前国内国外都有第三方非常优秀的的类似j...

1855
来自专栏Jerry的SAP技术分享

SAPGUI里实现自定义的语法检查

需求:在SAPGUI里点击这个语法检查的小图标或者直接按快捷键Ctrl+F2可以执行ABAP标准的语法检查。

2743
来自专栏nummy

进程监控利器supervisor

安装成功之后,运行echo_supervisord_conf就会输出一个配置的样本,因此可以执行以下命令来创建配置文件。

591
来自专栏破晓之歌

pip安装更换镜像源 原

(2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件

952
来自专栏Jerry的SAP技术分享

ABAP的权限检查跟踪(Authorization trace)工具

1. 点击"Activate Trace" button激活跟踪:

1947
来自专栏静下来

windows服务器下discuz网站数据库搬家教程

前提: 之前和现在的都是windows服务器系统,直接复制修改就行,不用第三方备份工具。 A服务器里面的Z网站 B服务器里面的S网站数据 Z网站和S网站是同一个...

2763
来自专栏烂笔头

Ubuntu上通过nginx部署Django笔记

目录[-] Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。今天在Ubuntu上使用Nginx部署Django...

3424
来自专栏Jaycekon

Java FtpClient 实现文件上传服务

一、Ubuntu 安装 Vsftpd 服务    1、安装     sudo apt-get install vsftpd    2、添加用户(uftp) su...

3465
来自专栏Angular&服务

修改服务器主机名称

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invi...

1022
来自专栏Linux运维学习之路

day9、用户登陆出现-bash-4.1$错误的原因及解决方法

原因:用户家目录里面与环境变量有关的文件被删除所导致的 下面两个文件被删除导致的 .bash_profile .bashrc 解决方法:从/etc/skel把丢...

1828

扫码关注云+社区