Ubuntu自带FTP服务器vsftpd技巧

已有 789 次阅读2011-11-24 00:49 |个人分类:dayday| 服务器, 技巧

实现了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

  新的问题

  1、输入用户名密码后显示的位置是在用户的根目录下,而我们的WEB内容是在public_html目录里

  2、用户可以跳到任何其他目录

要解决这些问题我们还得设置下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

  重启下服务器。

发表评论 评论 (1 个评论)

回复 admin 2011-11-24 00:50
Linux下给普通用户添加Sudo权限
 一般在Linux下创建用户后不能直接使用sudo命令,所以需要在/etc/sudoers配置中添加用户的 权限。
  首先使用有sudo权限的账户登录系统,然后运行 # sudo nano /etc/sudoers ,找到 root ALL=(ALL) ALL 后,在下一行添加 UserName ALL=(ALL) ALL 即可。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

郑重声明:本站属技术交流,非赢利性网站。
本站言论纯属发表者个人意见,与“建筑在线”立场无关。
涉及政治言论一律删除,请所有会员注意. 本站资源由会员从网上收集整理所得,版权属于原作者。
本站所有资源是进行学习和科研测试之用,请在下载后24小时删除
本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权
请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!