151 lines
2.1 KiB
Markdown
Executable File
151 lines
2.1 KiB
Markdown
Executable File
# 阿里云使用 FTP
|
||
|
||
> Ubuntu vsftpd 配置教程
|
||
|
||
---
|
||
|
||
## 安装 vsftpd
|
||
|
||
```bash
|
||
sudo apt-get update
|
||
sudo apt-get install vsftpd
|
||
```
|
||
|
||
---
|
||
|
||
## 配置 vsftpd
|
||
|
||
```bash
|
||
sudo vim /etc/vsftpd.conf
|
||
```
|
||
|
||
推荐配置:
|
||
|
||
```ini
|
||
# === 系统默认(保持不变)===
|
||
listen=NO
|
||
listen_ipv6=YES
|
||
dirmessage_enable=YES
|
||
use_localtime=YES
|
||
xferlog_enable=YES
|
||
connect_from_port_20=YES
|
||
|
||
# === 自定义配置 ===
|
||
# 不允许匿名访问
|
||
anonymous_enable=NO
|
||
|
||
# 允许本地用户访问
|
||
local_enable=YES
|
||
|
||
# 开启写模式
|
||
write_enable=YES
|
||
|
||
# 新建文件权限 (777-022=755)
|
||
local_umask=022
|
||
|
||
# 使用 user_list 白名单
|
||
userlist_enable=YES
|
||
userlist_deny=NO
|
||
userlist_file=/etc/vsftpd.user_list
|
||
|
||
# 限制用户切换目录
|
||
chroot_local_user=YES
|
||
chroot_list_enable=YES
|
||
chroot_list_file=/etc/vsftpd.chroot_list
|
||
allow_writeable_chroot=YES
|
||
|
||
# FTP 根目录
|
||
local_root=/var/myftp
|
||
```
|
||
|
||
---
|
||
|
||
## 重启服务
|
||
|
||
```bash
|
||
sudo systemctl restart vsftpd
|
||
```
|
||
|
||
---
|
||
|
||
## 创建 FTP 用户
|
||
|
||
```bash
|
||
# 创建用户并指定家目录
|
||
sudo useradd -d /var/myftp ftpuser
|
||
|
||
# 设置密码
|
||
sudo passwd ftpuser
|
||
|
||
# 创建白名单文件
|
||
sudo vim /etc/vsftpd.user_list
|
||
# 添加:ftpuser
|
||
|
||
# 创建黑名单文件(可为空)
|
||
sudo vim /etc/vsftpd.chroot_list
|
||
```
|
||
|
||
---
|
||
|
||
## 设置目录权限
|
||
|
||
```bash
|
||
# 创建目录
|
||
sudo mkdir -p /var/myftp/{upload,download}
|
||
|
||
# 设置权限
|
||
sudo chmod 555 /var/myftp # 根目录只读
|
||
sudo chmod 755 /var/myftp/upload # 上传目录可写
|
||
sudo chmod 555 /var/myftp/download # 下载目录只读
|
||
|
||
# 修改所有者
|
||
sudo chown -R ftpuser:ftpuser /var/myftp
|
||
```
|
||
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
### 530 Login incorrect
|
||
|
||
```bash
|
||
sudo vim /etc/pam.d/vsftpd
|
||
# 注释掉这行:
|
||
# auth required pam_shells.so
|
||
```
|
||
|
||
### 550 Permission denied
|
||
|
||
```bash
|
||
# 关闭 SELinux
|
||
setsebool -P ftpd_disable_trans on
|
||
sudo systemctl restart vsftpd
|
||
```
|
||
|
||
### 被动模式问题
|
||
|
||
登录后执行:
|
||
```
|
||
passive
|
||
```
|
||
|
||
---
|
||
|
||
## 客户端连接
|
||
|
||
```bash
|
||
ftp 服务器IP
|
||
# 输入用户名和密码
|
||
```
|
||
|
||
---
|
||
|
||
## 常用 FTP 客户端
|
||
|
||
- **Windows**:FileZilla、WinSCP
|
||
- **macOS/Linux**:FileZilla、Cyberduck
|
||
|
||
---
|
||
|
||
> 参考:[vsftpd 配置详解](https://www.cnblogs.com/dupengcheng/p/6790143.html)
|