ubuntu ftp服务器搭建

linux ftp服务器部署

1.sudo apt-get install vsftpd    ##下载vsftpd

2.sudo vim /etc/vsftpd.conf  ##vsftpd配置文件

  添加
  #禁止匿名访问
  anonymous_enable=NO
  #接受本地用户
  local_enable=YES
  #允许上传
  write_enable=YES
  #用户只能访问限制的目录
  chroot_local_user=YES
  #设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
  local_root=/home/ftp/data

3. 添加相应的目录

  sudo mkdir /home/ftp
  sudo chmod a-w /home/ftp
  sudo mkdir /home/ftp/data

  sudo mkdir /home/ftp/data/upload
  sudo mkdir /home/ftp/data/download
  sudo chmod 777 /home/ftp/data/upload
  sudo chmod 755 /home/ftp/data/download

4.添加用户 

  sudo useradd -d /home/ftp -M ftpuser

  sudo passwd ftpuser  ##设置密码

5.  这时候直接用useradd的帐号登录ftp会530 login incorrect

  sudo vim /etc/pam.d/vsftpd

  注释掉 

  #auth    required pam_shells.so

6.重启vsftpd

sudo service vsftpd restart

关于用户访问文件夹限制

由chroot_local_user、chroot_list_enable、chroot_list_file这三个文件控制,转别人的一段话:

首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;
第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;
第三,chroot_local_user为YES表示所有用户都*不能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都*能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的“例外情况”的用户。

 如果客户端登录时候提示“以pasv模式连接失败”

编辑/etc/vsftpd.conf

最后添加

pasv_promiscuous=YES

然后再重启vsftpd服务。

 

posted @ 2017-06-24 17:30  sea101  阅读(463)  评论(0编辑  收藏  举报