LINUX

关注公众号 jb51net

关闭
操作系统 > LINUX >

vsftpd 配置

jb51.net


  write_enable=YES|NO
  控制是否允许使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默认值为NO,不过自带的简单配置文件中打开了该选项。
  secure_chroot_dir=
  这选项指向一个空目录,并且ftp用户对此目录无写权限。当vsftpd不需要访问文件系统时,这个目录将被作为一个安全的容器,用户将被限制在此目录中。默认目录为/usr/share/empty。
5.4.4、新增文件权限设定
  anon_umask=
  匿名用户新增文件的umask 数值。默认值为077。
  file_open_mode=
  上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。默认值为0666。
  local_umask=
  本地用户新增档案时的umask 数值。默认值为077。不过,其他大多数的FTP服务器都是使用022。如果您的用户希望的话,可以修改为022。在自带的配置文件中此项就设为了022。
5.5、提示信息
  ftpd_banner=login banner string
  此参数定义了login banner string(登录欢迎语字符串)。用户可以自行修改。预设值为无。当ftpd_banner设置后,将取代系统原来的欢迎词。
  banner_file=/directory/vsftpd_banner_file
  此项指定一个文本文件,当使用者登入时,会显示此该文件的内容,通常为欢迎话语或是说明。默认值为无。与ftpd_banner相比,banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file选项将取代ftpd_banner选项。
  dirmessage_enable=YES|MO
  控制是否启用目录提示信息功能。YES启用,NO不启用,默认值为YES。此功能启用后,当用户进入某一个目录时,会检查该目录下是否有message_file选项所指定的文档,若是有,则会出现此文档的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。
  message_file=
  此选项,仅在dirmessage_enable选项激活方生效。默认值为.message。
5.6、日志设置
  xferlog_enable=YES|NO
  控制是否启用一个日志文件,用于详细记录上传和下载。该日志文件由xferlog_file选项指定。默认值为NO,但简单配置文件中激活此选项。
  xferlog_file=
  这个选项设定记录传输日志的文件名。默认值为/var/log/vsftpd.log。
  xferlog_std_format=YES|NO
  控制日志文件是否使用xferlog的标准格式,如同wu-ftpd一样。使用xferlog格式,可以重新使用已经存在的传输统计生成器。然而,默认的日志格式更为可读性。默认值为NO,但自带的配置文件中激活了此选项。
  log_ftp_protocol=YES|NO
  当此选项激活后,所有的FTP请求和响应都被记录到日志中。提供此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值为NO。
5.7、其他设置
  setproctitle_enable=YES|NO
  YES,VSFTPD将在系统进程列表中显示每个会话(session)的状态。也就是说,进程报告将显示每个vsftpd会话在做什么(挂起、下载等),如用ps -ef|grep ftp。出于安全的目的,可以考虑将此选项关闭。NO,进程报告只显示一个vsftpd进程在运行。默认值为NO。
  text_userdb_names=YES|No
  当使用者登入后使用ls -al 之类指令时,目录列表的用户和组信息域,默认是出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。默认值为NO。
  user_localtime=YES|NO
  默认为NO。YES,VSFTPD显示目录列表时使用你本地时区的时间。默认是显示GMT时间。同样,由ftp命令“MDTM”返回的时间值也受此选项影响。
  check_shell=YES|NO
  此选项仅对不使用PAM方式的VSFTPD生效。当此选项关闭后,当本地用户登录时,VSFTPD不会检查/etc/shells文件以寻找一个有效的用户shell。默认为YES。
  nopriv_user=
  指定一个用户,当VSFTPD不想要什么权限时,使用此用户身份。这用户最好是一个专用的用户,而不是用户nobody。在大多数的机器上,nobody用户被用于大量重要的事情。默认值为nobody。
  pam_service_name=
  指明VSFTPD使用用PAM验证服务时的PAM配置文件名。默认值为ftp。
6、VSFTPD应用
  本部分介绍VSFTPD的具体应用方法。
6.1、允许匿名用户上传文件
  在vsftpd.conf文件中修改或增加以下选项:
  write_enable=YES
  anon_world_readable_only=NO
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  然后创建供匿名用户上传文件的目录,并设定权限:
  # mkdir /var/ftp/incoming
  # chmod o+w /var/ftp/incoming
  由于匿名用户(ftp)上传文件,需要对incoming目录进行操作,而incoming为root所有,匿名用户(ftp)对于incoming来说是其他用户,所以要加入其他用户(o)的写权限。
6.2、限制用户在自家目录
  在默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限范围内进行上传和下载,这无疑是个不安全因素。
  我们可以设置chroot,让本地用户登录后只能访问自家目录,无法访问其他目录。相关的选项有三个:chroot_local_user、chroot_list_enable、chroot_list_file。限制用户在自家目录有两种做法:
  1、限制所有的本地用户在自家目录
  chroot_local_user=YES
  这种做法,可能会带来一些安全性上的冲突。参见前面的chroot_local_user选项描述。
  2、限制部分本地用户在自家目录
  chroot_local_user=NO
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list
  在/etc/vsftpd.chroot_list文件中加入要限制的本地用户名。注意一个用户名一行。
6.3、配置高安全级别的匿名FTP服务器
  VSFTPD自带的简单配置文件已经自称是偏执狂了,这里看看能否更加偏执一些,:)。有些选项默认已经采用安全性的设置,这里就不再写出了。
  #只允许匿名访问,不允许本地用户访问
  anonymous_enable=YES
  local_enable=NO