Ubuntu搭建FTP服务器

前端之家收集整理的这篇文章主要介绍了Ubuntu搭建FTP服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载自Linux下搭建FTP服务器(Ubuntu16.04)

1.安装vsftpd软件包

  1. sudo apt-get install vsftpd

2.打开配置文件

  1. vim /etc/vsftpd.conf

3.修改参数

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

  1. #这些设置系统默认是开启的,可以不管
  2. listen=NO
  3. listen_ipv6=YES
  4. dirmessage_enable=YES
  5. use_localtime=YES
  6. xferlog_enable=YES
  7. connect_from_port_20=YES
  8. #下面的就要自定义设置了,建议系统默认的不管,然后复制下面的
  9. #是否允许匿名访问,NO为不允许
  10. anonymous_enable=NO
  11. #是否允许本地用户访问,就是linux本机中存在的用户,YES允许
  12. local_enable=YES
  13. #是否开启写模式,YES为开启
  14. write_enable=YES
  15. #新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755
  16. local_umask=022
  17. #是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用
  18. userlist_enable=YES
  19. #是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能
  20. userlist_deny=NO
  21. #指定哪个文件作为userlist文件,我们稍后编辑这个文件
  22. userlist_file=/etc/vsftpd.user_list
  23. #是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦
  24. chroot_local_user=YES
  25. #是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
  26. chroot_list_enable=YES
  27. #设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录
  28. chroot_list_file=/etc/vsftpd.chroot_list
  29. #是否开启写模式,开启后可以进行创建文件夹等写入操作
  30. allow_writeable_chroot=YES
  31. #设置ftp根目录的位置,这个文件我们稍后自己创建
  32. local_root=/var/myftp

重启vsftpd

sudo /etc/init.d/vsftpd restart

4.添加ftp用户

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

sudo useradd -d /var/myftp ftpuser

设置用户密码

sudo passwd ftpuser

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

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

  1. vim /etc/vsftpd.user_list

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

  1. vim /etc/vsftpd.chroot_list

设为空即可

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

mkdir /var/myftp

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

  1. chmod 555 /var/myftp
  2. cd /var/myftp
  3. mkdir upload
  4. 755 upload
  5. mkdir download
  6. 555 download
最后检查一下文件所有者,都改为ftpuser

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

linux访问输入ftp 加 你的IP

ftp xxx.xxx.xxx.xxx

输入用户名ftpuser和密码

如果登录出现530错误

  1. vim /etc/pam.d/vsftpd

注释掉#authrequiredpam_shells.so

然后ls一下,如果失败了,切换到被动模式即可

  1. passive mode

然后mkdir一下发现无法创建文件夹550 create directory operation Failed

  1. setsebool -P ftpd_disable_trans on
  2. /etc/init.d/vsftpd restart

即可


PS:创建成功后使用发现提示"该用户没有写入权限"和"无法创建子目录",后来我对ftp的配置文件进行了如下修改:

# Uncomment this to enable any form of FTP write command.

write_enable=YES

# Uncomment this to allow the anonymous FTP user to upload files. This only

# has an effect if the above global write enable is activated. Also,you will
# obvIoUsly need to create a directory writable by the FTP user.
anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.

anon_mkdir_write_enable=YES

chroot_local_user=NO

猜你在找的Ubuntu相关文章