腾讯云服务器linux Ubuntu操作系统搭建ftp服务器vsftpd

时间:2022-03-29 16:39:56

腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd

操作系统: Ubuntu Server 16.04.1 LTS 64位

下面我将系统重装, 一步一步从头开始,安装FTP服务器

登录服务器

xshell 登录服务器 用户名如果没自定义默认:ubuntu

安装vsftpd服务器

$ sudo apt-get install vsftpd -y

查看是否运行

如果安装成功, 正常会自动启动, 如果没有启动,则需要手动启动 , ftp监听21端口, 用netstat 查看21端口,如果被vsftpd监听则正常
$ sudo netstat -nltp | grep 21

如果没有则需要手动启动
$ sudo systemctl start vsftpd.service

配置用户访问目录

#新建用户主目录
$ sudo mkdir /home/dongzhihong

#创建用户欢迎文件
$ sudo touch /home/dongzhihong/welcome.txt

设置用户跟密码

#创建一个用户 dongzhihong
$ sudo useradd -d /home/dongzhihong -s /bin/bash dongzhihong

#为dongzhihong用户设置密码 输入两次
$ sudo passwd dongzhihong

删除掉 pam.d 中 vsftpd,因为该配置文件会导致使用用户名登录 ftp 失败

$ sudo rm /etc/pam.d/vsftpd

设置该用户只能登录FTP, 而不能直接登录服务器

$ sudo usermod -s /sbin/nologin dongzhihong

修改 vsftpd 配置

$ sudo chmod a+w /etc/vsftpd.conf
#修改 /etc/vsftpd.conf 文件中的配置(直接将如下配置添加到配置文件最下方):etc/vsftpd.conf-文件底部追加以下代码:
----------------------------修改vsftpd.conf 添加下面代码--------------------------

#禁止匿名登录
anonymous_enable=NO

# 限制用户对主目录以外目录访问
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 ,加入刚刚创建的用户 dongzhihong

$ vi /etc/vsftpd.user_list 
写入 dongzhihong

设置访问权限

#设置主目录访问权限(只读)

$ sudo chmod a-w /home/dongzhihong

#新建公共目录,并设置权限(读写)
$ sudo mkdir /home/dongzhihong/public && sudo chmod 777 -R /home/dongzhihong/public

重启服务器

$ sudo systemctl restart vsftpd.service

登录FTP

1)资源管理器打开 ftp://用户名:你的密码@服务器IP地址
2)用FTP软件连接