文章标题

来源:互联网 发布:做照片的软件 编辑:程序博客网 时间:2024/05/16 06:46

ftp服务器的搭建

服务器环境信息

  • Ubuntu
  • 安装vsftpd: apt-get install vsftpd
  • 当前使用的版本是3.0.2

目录结构

  • /etc/vsftpd.conf

    vsftpd的配置文件。使用『参数=设定值』的形式来设置配置信息,如:anonymous_enable=YES,注意等号两边不要有空格。可以使用man 5 vsftpd.conf 查看所有可以设定的参数选项。

  • /etc/pam.d/vsftpd

    这个是 vsftpd 使用 PAM 模块时的相关配置文件。
    这里写图片描述

  • /etc/ftpusers

    如上图所示,这是/etc/pam.d/vsftpd文件里指定的文件,这个文件的作用是禁止文件内指定的linux用户登录和使用ftp服务器。如图:这里写图片描述
    凡是上图出现过的用户,如用户daemon,都无法登陆和使用ftp服务器。

  • /usr/sbin/vsftpd

    这是vsftpd的执行文件。

  • /srv/ftp

    这个是 vsftpd 的预设匿名者登入的根目录喔!其实与 ftp 这个账号的家目录有关!

关键配置选项说明

  • listen=YES (NO)
    若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!

  • write_enable=YES (NO)
    如果你允许用户上传数据时,需要设定为YES。

  • local_enable=YES (NO)
    这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入我们的 vsftpd 服务器喔!

  • chroot_local_user=YES (NO)
    是否要将使用者限制在自己的家目录之内(chroot)?如果是 YES 代表用户默认就会被 chroot,如果是 NO, 则预设是没有 chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成 YES 才好。

  • chroot_list_enable=YES (NO)
    是否启用 chroot 写入列表的功能?与底下的 chroot_list_flie 有关!这个项目得要开启,否则底下的列表档案会无效。

  • chroot_list_file=/etc/vsftpd.chroot_list
    如果 chroot_list_enable=YES 那么就可以设定这个项目了。这个文件需要在安装好vsftpd后手动创建。在chroot_local_user=YES,chroot_list_enable=YES的情况下,出现在这个文件内的用户,登录ftp服务器后不会被定为到根目录。 vsftpd 配置:chroot_local_user与chroot_list_enable详解

实体用户无法登陆

1.500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决办法

2.将用户的shell修改为/sbin/nologin,后无法登陆

vsftpd.conf中有个参数,check_shell=YES|NO
vsftpd会检测用户的shell是否登记于/etc/shells文件中
查看了文件发现确实没有/sbin/nologin,手动添加后问题解决了

参考资料:鸟哥的linux私房菜

0 0
原创粉丝点击