经验与技巧:在SOLARIS上编译安装VSFTPD

网络整理 - 06-30

  .安装VSFTPD
  # gzip –d vsftpdtargz
  # tar xvf vsftpdtar
  # cd vsftpd
  
  # make
  # make install f Makefilesun
  # mv nf /etc/
  # mkdir /usr/share/empty
  
  . 建立vsftp用户和目录
  # groupadd ftp
  # mkdir /export/home/test //建下载目录
  # mkdir /export/home/test/upload //建上传目录
  # chown test:ftp /export/home/test/upload
  # useradd d /export/home/test g ftp s /bin/false test //实际使用的USER
  # useradd d /dev/null g ftp s /bin/false upload //要用来影射的USER
  # useradd d /dev/null g ftp s /bin/false download //要用来影射的USER
  # passwd download
  # passwd upload
  
  . 分别对每个用户进行控制
  目录限制:
  # vi /etc/vsftpdchroot_list
  test
  
  限制download只能下载允许upload下载和上传:
  # mkdir /etc/vsftpd
  # vi /etc/vsftpd/download
  anon_world_readable_only=no
  anon_max_rate=
  # vi /etc/vsftpd/upload
  anon_world_readable_only=no
  write_enable=YES
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_max_rate=
  
  # vi /etc/vsftpduser_list
  download
  upload
  
  .配置nf
  ========================== nf============================
  # Example config file /etc/nf
  #
  # The default compiled in settings are fairly paranoid This sample file
  # loosens things up a bit to make the ftp daemon more usable
  # Please see nf for all compiled in defaults
  #
  # READ THIS: This example file is NOT an exhaustive list of vsftpd options
  # Please read the nf manual page to get a full idea of vsftpds
  # capabilities
  #
  # Allow anonymous FTP? (Beware allowed by default if you comment this out)
  anonymous_enable=no
  #
  # Uncomment this to allow local users to log in
  local_enable=YES
  #
  # Uncomment this to enable any form of FTP write command
  write_enable=NO
  #
  # Default umask for local users is You may wish to change this to
  # if your users expect that ( is used by most other ftpds)
  local_umask=
  #
  # Uncomment this to allow the anonymous FTP user to upload files This only
  # has an effect if the above global write enable is activated Also you will
  # obviously need to create a directory writable by the FTP user
  anon_upload_enable=NO
  #
  # Uncomment this if you want the anonymous FTP user to be able to create
  # new directories
  anon_mkdir_write_enable=NO
  #
  # Activate directory messages messages given to remote users when they
  # go into a certain directory
  dirmessage_enable=YES
  #
  # Activate logging of uploads/downloads
  xferlog_enable=YES
  #
  # Make sure PORT transfer connections originate from port (ftpdata)
  connect_from_port_=YES
  #
  # If you want you can arrange for uploaded anonymous files to be owned by
  # a different user Note! Using root for uploaded files is not
  # recommended!
  #chown_uploads=YES
  #chown_username=nobody
  #
  # You may override where the log file goes if you like The default is shown
  # below
  xferlog_file=/var/log/vsftpdlog
  #
  # If you want you can have your log file in standard ftpd xferlog format
  #xferlog_std_format=YES
  #
  # You may change the default value for timing out an idle session
  idle_session_timeout=
  #
  # You may change the default value for timing out a data connection
  data_connection_timeout=
  #
  # It is recommended that you define on your system a unique user which the
  # ftp server can use as a totally isolated and unprivileged user
  #nopriv_user=ftpsecure
  #
  # Enable this and the server will recognise asynchronous ABOR requests Not
  # recommended for security (the code is nontrivial) Not enabling it
  # however may confuse older FTP clients
  #async_abor_enable=YES
  #
  # By default the server will pretend to allow ASCII mode but in fact ignore
  # the request Turn on the below options to have the server actually do ASCII
  # mangling on files when in ASCII mode
  # Beware that turning on ascii_download_enable enables malicious remote parties
  # to consume your I/O resources by issuing the command SIZE /big/file in
  # ASCII mode
  # These ASCII options are split into upload and download because you may wish
  # to enable ASCII uploads (to prevent uploaded scripts etc from breaking)
  # without the DoS risk of SIZE and ASCII downloads ASCII mangling should be
  # on the client anyway
  #ascii_upload_enable=YES
  #ascii_download_enable=YES
  #
  # You may fully customise the login banner string:
  ftpd_banner=Welcome to my PROFTPD service
  #
  # You may specify a file of disallowed anonymous email addresses Apparently
  # useful for combatting certain DoS attacks
  #deny_email_enable=YES
  # (default follows)
  #banned_email_file=/etc/vsftpdbanned_emails
  #
  # You may specify an explicit list of local users to chroot() to their home
  # directory If chroot_local_user is YES then this list becomes a list of
  # users to NOT chroot()
  chroot_list_enable=YES
  # (default follows)
  chroot_list_file=/etc/vsftpdchroot_list
  user_config_dir=/etc/vsftpd
  #
  # You may activate the R option to the builtin ls This is disabled by
  # default to avoid remote users being able to cause excessive I/O on large
  # sites However some broken FTP clients such as ncftp and mirror assume
  # the presence of the R option so there is a strong case for enabling it
  ls_recurse_enable=NO
  hide_ids=YES
  userlist_enable=yes
  userlist_deny=no
  userlist_file=/etc/vsftpduser_list
  guest_enable=YES
  guest_username=test
  max_clients=
  max_per_ip=
  pasv_min_port=
  pasv_max_port=
  listen=YES
  listen_address=
  ========================== nf============================
  
  . 建立VSFTPD的启动脚本
  # vi /etc/rcd/Svsftpd
  
  ================================= Svsftpd ============================
  #!/sbin/sh
  #
  # Copyright (c) by LLZQQ
  # All rights reserved
  #
  #ident @(#)vsftpd //
  
  case $ in
  start)
  /usr/sbin/vsftpd &
  ;;
  stop)
  pkill vsftpd
  ;;
  *)
  echo Usage: $ { start | stop }
  exit
  ;;
  esac
  exit