VSFTPd自架Linux网络服务器方法

  约定:
  1。本帖操作环境是Redhat 9.0,vsFTPd的版本是Redhat 9.0所带的vsftpd-1.1.3-8.i386.rpm,在安装盘的第三张中
  
  2。vsFTPd实现的最基本的目的:用系统中存在的真实用户能登入FTP,能用匿名访问。
  
  3。本帖中vsFTPd运行模式是在standalone模式下运行的,也就是说,本帖中vsFTPd所有的功能都是在standalone模式下运行的。至于有些功能是否能在xinetd模式下运行,您就得测试了,不能照搬照抄。因为有些功能是必须运行在特定的模式下的。
  
  3。服务器的IP和和DNS设定
  
  第一块网卡
  IP:192.168.0.1
  子掩码:255.255.255.0
  网关不设置:
  第二块网卡:
  IP:192.168.0.2
  子掩码:255.255.255.0
  网关不设置
  
  因为我的操作环境是一个小型的局域网,所以其它的机器的IP都是在192.168.0这个网段上。ADSL是接在服务器的第一个网卡上。服务器的第二个网卡是接集线器,其它的客户机都是接在集线器上。为了能让ADSL访问internet,因为自己手动设置了IP,所以DNS也要自己来设置,DNS如下:
  
  202.96.134.133
  202.96.168.68
  
  设置工具是:
  [root@linuxsir001 root]# redhat-config-network
  
  一。用vsFTPd来架设FTP服务器,vsFTPd服务器是目前最好的FTP服务器软件,优点是体积小,可定制强,效率高
  
  1。查看是否安装了vsFTPd软件
  [root@linuxsir001 root]# rpm -qa | grep vsftpd
  如果没有任何显示,说明没有把vsFTPd安装上,如果出现的是下面的这样的提示,就证明已经安装上了。
  
  [root@linuxsir001 root]# rpm -qa | grep vsftpd
  vsftpd-1.1.3-8
  
  我以Redhat 9.0,以其自带的vsFTPd包vsftpd-1.1.3-8版本来为本帖约定。
  
  [root@linuxsir001 root]# rpm -ivh vsftpd*.rpm
  
  2。打开vsFTPd服务器。
  
  [root@linuxsir001 root]# ntsysv
  
  把vsftpd服务器打开,也就是在运行 ntsysv命令后,把vsftpd服务选中。
  
  
  • vsftpd
      
      3。运行/etc/init.d/vsftpd start
      
      [root@linuxsir001 root]# /etc/init.d/vsftpd start
      为 vsftpd 启动 vsftpd: [ 确定 ]
      [root@linuxsir001 root]#
      
      4。配制vsFTPd,vsFTPd的运行有两种模式,一种是standalone "initd"模式,另外一种是xinetd模式,上面我们所说的就是standalone "initd"运行模式。两种模式运行机制不是相同的,stardard initd模式,适合专业FTP,且FTP总是一直有人访问,占用资源也是比较大,如果您的FTP总是有人访问和登入。就要用这种模式。如果您的FTP访问人数比较小,建议您用xinetd模式。xinetd模式,是当用户请求时,vsFTPd才会启动。
      
      不同的环境,当然得用不同的启动模式。
      
      如果想了解更多的,请在本帖后面跟帖,我会慢慢补充xinetd模式,以及虚拟用户如何设置方面的问题。
      
      1]我们主要把vsFTPd的配制文件改一下就行了。配制文件在/etc/vsftpd/vsftpd.conf,用您喜欢的编辑器打开。请参考下面的配制文件。
      
      # Example config file /etc/vsftpd.conf
      #
      # The default compiled in settings are very paranoid. This sample file
      # loosens things up a bit, to make the ftp daemon more usable.
      #
      # Allow anonymous FTP?
      anonymous_enable=YES
      #
      # Uncomment this to allow local users to log in.
      local_enable=YES
      #
      # Uncomment this to enable any form of FTP write command.
      write_enable=YES
      #
      # Default umask for local users is 077. You may wish to change this to 022,
      # if your users expect that (022 is used by most other ftpd's)
      local_umask=022
      #
      # 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=YES
      #
      # Uncomment this if you want the anonymous FTP user to be able to create
      # new directories.
      #anon_mkdir_write_enable=YES
      #
      # 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 20 (ftp-data).
      connect_from_port_20=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=whoever
      #
      # You may override where the log file goes if you like. The default is shown
      # below.
      #xferlog_file=/var/log/vsftpd.log
      #
      # 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=600
      #
      # You may change the default value for timing out a data connection.
      #data_connection_timeout=120
      #
      # 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 non-trivial). 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 blah FTP service.
      #
      # You may specify a file of disallowed anonymous e-mail addresses. Apparently
      # useful for combatting certain DoS attacks.
      #deny_email_enable=YES
      # (default follows)
      #banned_email_file=/etc/vsftpd.banned_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/vsftpd.chroot_list
      #
      # 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=YES
      
      pam_service_name=vsftpd
      userlist_enable=YES
      #enable for standalone mode
      listen=YES
      tcp_wrappers=YES
      
      2]更改完配制文件后,我们可以用下面的命令来重启vsFTPd服务器
      
      [root@linuxsir001 root]# /etc/init.d/vsftpd restart
      关闭 vsftpd: [ 确定 ]
      为 vsftpd 启动 vsftpd: [ 确定 ]
      [root@linuxsir001 root]#
      
      3]以匿名方式来访问测试,在text模式下:
      
      注意:在text模式下,要用用户名ftp,密码ftp来访问,这才是在text中匿名访问FTP。看如下的操作:
      
      [root@linuxsir001 root]# ftp 192.168.0.1
      Connected to 192.168.0.1.
      220 (vsFTPd 1.1.3)
      530 Please login with USER and PASS.
      530 Please login