wojkxlq 发表于 2015-11-5 15:48:23

ubuntu 下搭建ftp服务

  Ubuntu是一个以桌面应用为主的Linux操作系统,Ubuntu实现了Apache多用户的虚拟主机设置,那么一般这些用户都会选择用ftp上传的方式来管理自己的web内容,这就需要我们再为他们开设FTP服务。
  Ubuntu自带的FTP服务器是vsftpd.
  1、安装vsftpd
  Ubuntu安装软件倒不是件困难的事,输入:


[*]sudo apt-get install vsftpd

  如果没换源可能会提示你使用光盘,放进去再按回车就行了。
  我用CN99的源,速度是300K每秒,够快吧。
  安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。
  默认设置下匿名用户可以下载,但不能写入或是上传
  2、设置 vsftpd.conf文件
  现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
  首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
  修改之前最好先备份下这个文件:


[*]sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old

  然后可以改动了:
  #不让匿名用户使用


[*]#anonymous_enable=YES

  #本地用户可用


[*]local_enable=YES

  #可用写操作


[*]write_enable=YES

  #不需要显示某目录下文件信息


[*]#dirmessage_enable=YES

  #加点banner提示


[*]ftpd_banner=Hello~~

  #FTP服务器最大承载用户


[*]max_clients=100

  #限制每个IP的进程


[*]max_per_ip=5

  #最大传输速率(b/s)


[*]local_max_rate=256000

  #隐藏帐号


[*]hide_ids=YES

  好了,重启下ftp 服务器看看效果
  重启后还是和原来一样对吗?呵呵,这是默认的ftp目录在做鬼,我们把它删除,再看看。怎么样?要你输入用户名和密码了吧。
  新的问题
  1、输入用户名密码后显示的位置是在用户的根目录下,而我们的WEB内容是在public_html目录里
  2、用户可以跳到任何其他目录
  在ubuntu中要解决这些问题我们还得设置下vsftpd.conf
  #启动chroot列表(Change root)


[*]chroot_list_enable=YES

  #指定列表位置(我这用的是默认地址)


[*]chroot_list_file=/etc/vsftpd.chroot_list

  接下来我们得在vsftpd.chroot_list上写进去我们要限制哪些用户,不让他们“漂移”……
  现在有用户linyupark,所以只要sudo nano一下,往里面写就行了
  这样我们已经解决第2个问题了,登陆的用户只能在它的用户文件夹里活动,下面我们要更狠一点,让他只能在public_html里活动
  依然还是找vsftpd.conf
  #这句默认设置里是没有的,自己加
  user_config_dir=/etc/自己定义一个设置个别用户用的文件夹地址
  根据自己设置的地址,建立一个相应的文件夹,然后往里面建立和用户名相同的文件,nano一下:
  #本地用户的根地址,假设用户是linyupark


[*]local_root=/home/linyupark/public_html

  重启下服务器。
  小结:
  Ubuntu系统建立FTP服务器学习教程的内容介绍完了,希望通过在ubuntu建立FTP服务器内容的学习能对你有所帮助!
  原文地址:http://www.linux-cn.com/html/linux/server/20091227/57879_2.shtml
页: [1]
查看完整版本: ubuntu 下搭建ftp服务