Update from Sync Service
This commit is contained in:
@@ -1,61 +1,150 @@
|
|||||||
## 搞了下**==FTP****服务器,基本上能遇到的问题都遇到了****-****。**==-!
|
# 阿里云使用 FTP
|
||||||
## 先说步骤====:
|
|
||||||
## 1.**==安装****vsftpd**==软件包
|
> Ubuntu vsftpd 配置教程
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 安装 vsftpd
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install vsftpd
|
sudo apt-get install vsftpd
|
||||||
## 2.====打开配置文件
|
```
|
||||||
vim /etc/vsftpd.conf
|
|
||||||
## 3.====修改参数
|
|
||||||
## 一些参数可以去掉注释激活,为了方便,你也可以注释全部,然后添加下面的设置
|
|
||||||
|
|
||||||
[](javascript:void\(0\);)
|
---
|
||||||
|
|
||||||
# 这些设置系统默认是开启的,可以不管listen=NOlisten_ipv6=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YES
|
## 配置 vsftpd
|
||||||
# 下面的就要自定义设置了,建议系统默认的不管,然后复制下面的
|
|
||||||
# 是否允许匿名访问,NO为不允许anonymous_enable=NO#是否允许本地用户访问,就是linux本机中存在的用户,YES允许local_enable=YES#是否开启写模式,YES为开启write_enable=YES#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755local_umask=022
|
|
||||||
# 是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用userlist_enable=YES#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能userlist_deny=NO#指定哪个文件作为userlist文件,我们稍后编辑这个文件userlist_file=/etc/vsftpd.user_list
|
|
||||||
# 是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦chroot_local_user=YES#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外chroot_list_enable=YES#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录chroot_list_file=/etc/vsftpd.chroot_list#是否开启写模式,开启后可以进行创建文件夹等写入操作allow_writeable_chroot=YES
|
|
||||||
# 设置ftp根目录的位置,这个文件我们稍后自己创建local_root=/var/myftp
|
|
||||||
|
|
||||||
[](javascript:void\(0\);)
|
```bash
|
||||||
|
sudo vim /etc/vsftpd.conf
|
||||||
|
```
|
||||||
|
|
||||||
## 重启====vsftpd
|
推荐配置:
|
||||||
|
|
||||||
sudo /etc/init.d/vsftpd restart
|
```ini
|
||||||
|
# === 系统默认(保持不变)===
|
||||||
|
listen=NO
|
||||||
|
listen_ipv6=YES
|
||||||
|
dirmessage_enable=YES
|
||||||
|
use_localtime=YES
|
||||||
|
xferlog_enable=YES
|
||||||
|
connect_from_port_20=YES
|
||||||
|
|
||||||
## 4.**==添加****ftp**==用户
|
# === 自定义配置 ===
|
||||||
## 顺便将将用户目录设置为我们上面的**==ftp**==根目录
|
# 不允许匿名访问
|
||||||
|
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 useradd -d /var/myftp ftpuser
|
||||||
## 设置用户密码
|
|
||||||
|
# 设置密码
|
||||||
sudo passwd ftpuser
|
sudo passwd ftpuser
|
||||||
## 5.====创建需要的文件,设置文件夹权限
|
|
||||||
## 上面我们指定了两个文件,**==userlist****文件和****list**==文件,有时候系统不会自动创建,你要自己创建
|
|
||||||
vim /etc/vsftpd.user_list
|
|
||||||
## 然后添加**==ftpuser**==进去作为白名单的一员
|
|
||||||
vim /etc/vsftpd.chroot_list
|
|
||||||
## 设为空即可
|
|
||||||
## 创建用户文件夹,设置权限
|
|
||||||
mkdir /var/myftp
|
|
||||||
## 权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个**==download****只允许读取,****upload**==允许写和读
|
|
||||||
|
|
||||||
|
# 创建白名单文件
|
||||||
|
sudo vim /etc/vsftpd.user_list
|
||||||
|
# 添加:ftpuser
|
||||||
|
|
||||||
[](javascript:void\(0\);)
|
# 创建黑名单文件(可为空)
|
||||||
|
sudo vim /etc/vsftpd.chroot_list
|
||||||
|
```
|
||||||
|
|
||||||
chmod 555 /var/myftpcd /var/myftpmkdir uploadchmod 755 uploadmkdir downloadchmod 555 download
|
---
|
||||||
|
|
||||||
[](javascript:void\(0\);)
|
## 设置目录权限
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建目录
|
||||||
|
sudo mkdir -p /var/myftp/{upload,download}
|
||||||
|
|
||||||
## 最后检查一下文件所有者,都改为====ftpuser
|
# 设置权限
|
||||||
## 6.**==使用****ftp**==,解决各种问题
|
sudo chmod 555 /var/myftp # 根目录只读
|
||||||
## linux**==访问输入****ftp** **加** **你的**==IP
|
sudo chmod 755 /var/myftp/upload # 上传目录可写
|
||||||
ftp xxx.xxx.xxx.xxx
|
sudo chmod 555 /var/myftp/download # 下载目录只读
|
||||||
## 输入用户名**==ftpuser**==和密码
|
|
||||||
## 如果登录出现**==530**==错误:
|
# 修改所有者
|
||||||
vim /etc/pam.d/vsftpd
|
sudo chown -R ftpuser:ftpuser /var/myftp
|
||||||
## 注释掉====#auth required pam_shells.so
|
```
|
||||||
## 然后**==ls**==一下,如果失败了,切换到被动模式即可
|
|
||||||
passive mode
|
---
|
||||||
## 然后**==mkdir****一下发现无法创建文件夹** ==550 create directory operation failed
|
|
||||||
setsebool -P ftpd_disable_trans on/etc/init.d/vsftpd restart
|
## 常见问题
|
||||||
## 即可
|
|
||||||
> 来自 <[https://www.cnblogs.com/dupengcheng/p/6790143.html](https://www.cnblogs.com/dupengcheng/p/6790143.html)>
|
### 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)
|
||||||
|
|||||||
Reference in New Issue
Block a user