ubuntu 安装、配置FTP

ubuntu 安装、配置FTP

提示:ubuntu 16.0.4,不同版本操作可能稍有不同


前言

本文主要对服务器安装及配置FTP做一个记录,涉及安装、配置、创建FTP账号、以及第一次连接异常等。


提示:以下是本篇文章正文内容,下面案例可供参考

1、安装

vsftpd 是 “very secure FTP daemon” 的缩写

sudo apt-get update
sudo apt-get install vsftpd  #安装

vsftpd -version    #检查安装是否成功,成功会显示版本

2、配置

以下是安装完成后,ftp的详细配置文件,只说明一些需要修改项,注释看不懂就翻译

#独立运行?vsftpd可以从inetd或独立运行,守护进程从initscript启动。
listen=YES
#
listen_ipv6=YES
#
#是否允许匿名FTP?(默认情况下禁用).
anonymous_enable=YES
#
#取消注释以允许本地用户登录.
local_enable=YES
#
#取消对此的注释,以启用任何形式的FTP写入命令.
write_enable=YES
#
# 本地用户的默认umask为077。如果您的用户希望(大多数其他ftpd使用022),您可能希望将其更改为022
local_umask=022
#
#取消注释以允许匿名FTP用户上载文件。仅此如果上述全局写入启用被激活,则具有效果。此外,您将
#显然需要创建一个FTP用户可写的目录
anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=YES
#
# 激活目录消息-当远程用户进入某个目录。
dirmessage_enable=YES
#
#如果启用,vsftpd将显示包含时间的目录列表
#在您当地的时区。默认值是显示GMTMDTM FTP命令返回的时间也受此影响期权
use_localtime=YES
#
# 激活上传/下载日志记录.
xferlog_enable=YES
#
# 确保PORT传输连接源自端口20(ftp数据).
connect_from_port_20=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/vsftpd.log
#
# 如果需要,可以使用标准的ftpd xferlog格式的日志文件.
#注意,在本例中,默认的日志文件位置是/var/log/xperlog.
xferlog_std_format=YES
#
#此选项应为空目录的名称。此外
#ftp用户不应写入目录。使用此目录
#作为一个安全的chroot()监狱,vsftpd有时不需要文件系统
#访问。secure_chroot_dir=/var/run/vsftpd/empty
#
# 此字符串是vsftpd将使用的PAM服务的名称.
pam_service_name=vsftpd
#
# 加密证书位置.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
#
# 字符集.
utf8_filesystem=YES
#用户相关,以下是原配置文件没有,自己添加的项
userlist_deny=NO
#
#当userlist_enable 为YES,userlist_deny为NO时,FTP服务器仅允许/etc/vsftpd/users_list中的用户访#问
userlist_enable=YES
#
#自定义用户列表
userlist_file=/etc/vsftpd/userlist
#
#若不配置该选项可能导致530问题
seccomp_sandbox=NO
allow_writeable_chroot=YES

3、创建账号

1.创建ftp分享目录 share_data,创建目录位置随意,本文以share_data为例

sudo mkdir /home/share_data           #创建目录

chmod 777 -R /home/share_data         #目录权限

2.创建远程ftp用户并设置密码

sudo useradd -d /home/share_data -s /bin/bash 用户名      #用户名自己定义

sudo passwd 用户名             #enter后输入密码即可完成

3.创建userlist,进入/ect

cd /etc
mkdir vsftpd
cd vsftp
touch userlist     #创建 ftp登录用户配置文件

4.将ftp用户名写入配置文件

vi userlist   # 例如用户名为 xiaomi, 直接写入userlist配置文件即可

5.重启服务

service vsftpd restart 

6.将21端口加入防火墙,并在安全组配置规则中允许21端口

4、远程连接

以xftp举例,上述所有步骤设置完成连接时,出现了 “无法显示远程文件夹” ,此时需要将连接属性中的被动模式去掉,再次进行连接服务器,可以看到已经显示出了服务器的文件夹。
在这里插入图片描述

5、异常问题

第一次连接可以正常连接,之后服务器重启了一次,却发现vsftpd启动不了了.
在这里插入图片描述
解决思路:1、查看21端口是否被占用了;2、配置文件中listen_ipv6 改为NO;
我这里就是思路2解决的,ipv6互联网协议第6版,用于替代ipv4,主要为了解决网络资源不足问题,但是这里不清楚底层具体是由于什么原因导致的

listen_ipv6=NO            #修改为NO
service vsftpd start       #再次启动服务,发现成功启动了

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值