Files
chill_notes/实践积累/个人知识库_Linux_阿里云_Ubuntu_ftp使用.md
2026-04-21 11:49:59 +08:00

4.2 KiB
Executable File
Raw Blame History

搞了下**==FTP服务器,基本上能遇到的问题都遇到了-****。**==-!

先说步骤====:

1.==安装****vsftpd==软件包

sudo apt-get install vsftpd

2.====打开配置文件

vim /etc/vsftpd.conf

3.====修改参数

一些参数可以去掉注释激活,为了方便,你也可以注释全部,然后添加下面的设置

Exported image

这些设置系统默认是开启的可以不管listen=NOlisten_ipv6=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YES

下面的就要自定义设置了,建议系统默认的不管,然后复制下面的

是否允许匿名访问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

Exported image

重启====vsftpd

sudo /etc/init.d/vsftpd restart

4.==添加****ftp==用户

顺便将将用户目录设置为我们上面的**==ftp**==根目录

sudo useradd -d /var/myftp ftpuser

设置用户密码

sudo passwd ftpuser

5.====创建需要的文件,设置文件夹权限

上面我们指定了两个文件,==userlist文件和list==文件,有时候系统不会自动创建,你要自己创建

vim /etc/vsftpd.user_list

然后添加**==ftpuser**==进去作为白名单的一员

vim /etc/vsftpd.chroot_list

设为空即可

创建用户文件夹,设置权限

mkdir /var/myftp

权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个**==download****只允许读取,**upload==允许写和读

Exported image

chmod 555 /var/myftpcd /var/myftpmkdir uploadchmod 755 uploadmkdir downloadchmod 555 download

Exported image

最后检查一下文件所有者,都改为====ftpuser

6.==使用****ftp==,解决各种问题

linux**==访问输入****ftp** 你的==IP

ftp xxx.xxx.xxx.xxx

输入用户名**==ftpuser**==和密码

如果登录出现**==530**==错误:

vim /etc/pam.d/vsftpd

注释掉====#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>