Ubuntu 搭建ftp服务器

发布 : 2019-08-06 浏览 :

1.安装并启动FTP服务

获取管理员权限,执行命令: sudo -s 回车

输入密码后即可获得管理员权限。

安装VSFTPD

使用apt_get安装vsftpd:

1
sudo apt_get install -y vsftpd

启动VSFTPD

1
sudo systemctl start vsftpd.service

2.配置用户访问目录

新建用户主目录

1
sudo mkdir /home/uftp

创建登录欢迎文件:

1
sudo touch /home/uftp/welcome.txt

新建用户 uftp 并设置密码

创建一个用户 uftp:

1
sudo useradd -d /home/uftp -s /bin/bash uftp

为用户 uftp 设置密码:

1
sudo passwd uftp

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

1
sudo rm /etc/pam.d/vsftpd

限制该用户仅能通过 FTP 访问

限制用户 uftp 只能通过 FTP 访问服务器,而不能直接登录服务器:

1
sudo usermod -s /sbin/nologin uftp

修改 vsftpd 配置

1
sudo chmod a+w /etc/vsftpd.conf

修改 /etc/vsftpd.conf 文件中的配置(直接将如下配置添加到配置文件最下方):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 限制用户对主目录以外目录访问
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 的用户:

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

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

1
vim /etc/vsftpd.user_list

加上uftp

设置访问权限

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

1
sudo chmod a-w /home/uftp

新建公共目录,并设置权限(读写):

1
sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public

重启vsftpd 服务:

1
sudo systemctl restart vsftpd.service

3.通过 Windows 资源管理器访问

Windows 用户可以复制下面的链接
到资源管理器的地址栏访问:

1
ftp://uftp:你的密码@地址

4.通过浏览器访问

在浏览器地址栏访问:

1
ftp://ip地址

之后会弹出提示框,输入ftp用户名和密码就能访问到ftp服务器的文件了。

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹