INSTALL
上传用户:ig0539
上传日期:2022-05-21
资源大小:181k
文件大小:5k
源码类别:

Ftp客户端

开发平台:

C/C++

  1. INSTALL
  2. =======
  3. This file details how to build and install / run vsftpd from the vsftpd
  4. distribution .tar.gz file.
  5. Step 1) Build vsftpd.
  6. Switch to the directory created when you unpacked the vsftpd .tar.gz file.
  7. e.g.:
  8. cd vsftpd-1.1.2
  9. edit "builddefs.h" to handle compile-time settings (tcp_wrappers build,
  10. etc).
  11. Just type "make" (and mail me to fix it if it doesn't build ;-).
  12. This should produce you a vsftpd binary. You can test for this, e.g.:
  13. [chris@localhost vsftpd]$ ls -l vsftpd
  14. -rwxrwxr-x    1 chris    chris       61748 Sep 27 00:26 vsftpd
  15. Step 2) Satisfy vsftpd pre-requisites
  16. 2a) vsftpd needs the user "nobody" in the default configuration. Add this
  17. user in case it does not already exist. e.g.:
  18. [root@localhost root]# useradd nobody
  19. useradd: user nobody exists
  20. 2b) vsftpd needs the (empty) directory /usr/share/empty in the default
  21. configuration. Add this directory in case it does not already exist. e.g.:
  22. [root@localhost root]# mkdir /usr/share/empty/
  23. mkdir: cannot create directory `/usr/share/empty': File exists
  24. 2c) For anonymous FTP, you will need the user "ftp" to exist, and have a
  25. valid home directory (which is NOT owned or writable by the user "ftp").
  26. The following commands could be used to set up the user "ftp" if you do not
  27. have one:
  28. [root@localhost root]# mkdir /var/ftp/
  29. [root@localhost root]# useradd -d /var/ftp ftp
  30. (the next two are useful to run even if the user "ftp" already exists).
  31. [root@localhost root]# chown root.root /var/ftp
  32. [root@localhost root]# chmod og-w /var/ftp
  33. Step 3) Install vsftpd config file, executable, man page, etc.
  34. Running "make install" will try to copy the binary, man pages, etc. to
  35. somewhere sensible.
  36. Or you might want to copy these things by hand, e.g.:
  37. cp vsftpd /usr/local/sbin/vsftpd
  38. cp vsftpd.conf.5 /usr/local/man/man5
  39. cp vsftpd.8 /usr/local/man/man8
  40. "make install" doesn't copy the sample config file. It is recommended you
  41. do this:
  42. cp vsftpd.conf /etc
  43. Step 4) Smoke test (without an inetd).
  44. vsftpd can run standalone or via an inetd (such as inetd or xinetd). You will
  45. typically get more control running vsftpd from an inetd. But first we will run
  46. it without, so we can check things are going well so far.
  47. Edit /etc/vsftpd.conf, and add this line at the bottom:
  48. listen=YES
  49. This tells vsftpd it will NOT be running from inetd.
  50. Right, now let's try and run it!
  51. Log in as root.
  52. Make sure you are not running other FTP servers (or vsftpd will not be able
  53. to use the FTP port, 21).
  54. Run the binary from wherever you put it, e.g.:
  55. [root@localhost root]# /usr/local/sbin/vsftpd &
  56. [1] 2104
  57. If all is well, you can now connect! e.g.:
  58. [chris@localhost chris]$ ftp localhost
  59. Connected to localhost (127.0.0.1).
  60. 220 (vsFTPd 1.1.1)
  61. Name (localhost:chris): ftp
  62. 331 Please specify the password.
  63. Password:
  64. 230 Login successful. Have fun.
  65. Remote system type is UNIX.
  66. Using binary mode to transfer files.
  67. ftp> ls
  68. 227 Entering Passive Mode (127,0,0,1,229,133)
  69. 150 Here comes the directory listing.
  70. d--x--x--x    2 0        0            4096 Jan 14  2002 bin
  71. d--x--x--x    2 0        0            4096 Apr 21 20:52 etc
  72. drwxr-xr-x    2 0        0            4096 Apr 21 20:52 lib
  73. drwxr-sr-x    2 0        50           4096 Jul 26 22:58 pub
  74. 226 Directory send OK.
  75. ftp>
  76. Step 5) Run from an inetd of some kind (optional - standalone mode is now
  77. recommended)
  78. You may want to run the binary from an inetd of some kind, because this can
  79. give you extra features - e.g. xinetd has a lot of settings. (Note that
  80. vsftpd's inbuilt listener covers most of the more useful xinetd settings).
  81. 5a) If using standard "inetd", you will need to edit /etc/inetd.conf, and add
  82. a line such as:
  83. ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd
  84. (Make sure to remove or comment out any existing ftp service lines. If you
  85. don't have tcp_wrappers installed, or don't want to use them, take out the
  86. /usr/sbin/tcpd part).
  87. inetd will need to be told to reload its config file:
  88. kill -SIGHUP `pidof inetd`
  89. 5b) If using "xinetd", you can follow a provided example, by looking at the
  90. file EXAMPLE/INTERNET_SITE/README. Various other examples show how to leverage
  91. the more powerful xinetd features.
  92. Step 6) Set up PAM for local logins (optional)
  93. If you are running vsftpd on a PAM enabled machine, you will need to have a
  94. /etc/pam.d/ftp file present, otherwise non-anonymous logins will fail. [NOTE -
  95. if you have an older version of PAM, that file might be /etc/pam.conf]
  96. For a standard setup, you can just copy a provided example file:
  97. cp RedHat/vsftpd.pam /etc/pam.d/ftp
  98. Step 7) Customize your configuration
  99. As well as the above three pre-requisites, you are recommended to install a
  100. config file. The default location for the config file is /etc/vsftpd.conf.
  101. There is a sample vsftpd.conf in the distribution tarball. You probably want
  102. to copy that to /etc/vsftpd.conf as a basis for modification, i.e.:
  103. cp vsftpd.conf /etc
  104. The default configuration allows neither local user logins nor anonymous
  105. uploads. You may wish to change these defaults.
  106. Other notes
  107. ===========
  108. Tested platforms (well, it builds)
  109. - Any modern, well featured platform should work fine! Recent versions of
  110. the platforms listed below, and often older ones, should work fine.
  111. - Fedora Core
  112. - RedHat Linux
  113. - RedHat Enterprise Linux
  114. - Solaris / GNU tools (Solaris 8 or newer)
  115. - SuSE Linux
  116. - Debian Linux
  117. - OpenBSD
  118. - FreeBSD
  119. - NetBSD
  120. - HP-UX / GNU tools
  121. - IRIX / GNU tools
  122. - AIX / GNU tools
  123. - Mac OS X (note; older versions have setgroups() problem. 10.3.4 reported OK)