Donation from David Carlier
[ikiwiki.git] / docs / newhandbook / FTP / index.mdwn
index bcecae5..1d3e650 100644 (file)
@@ -1,6 +1,6 @@
-# FTP
+# FTP Server on Dragonfly
 
-FTP protocol is a true BSD heritage and it originated in the 1970's at Berkeley University. FTP (file transfer protocol) is widely used to copy files from one host to another. FTP is based on the client-server model. Thus, if a user need to make changes to the file he/she must download/get it from the server. Depending on how a user wants to share the files, the FTP server can be configured to provide anonymous access or access chrooted to users home directory.  Anonymous ftp server are configured to provide an access to a repository or files to be shared with the world. On the other hand chrooted ftp server is configured to let a person access his/her dedicated space.
+The FTP protocol is a true BSD heritage and it originated in the 1970's at Berkeley University. FTP (file transfer protocol) is widely used to copy files from one host to another. FTP is based on the client-server model. Thus, if a user needs to make changes to the file he/she must download from the server. Depending on how a user wants to share the files, the FTP server can be configured to provide anonymous access or access chrooted to users home directory.  Anonymous ftp server are configured to provide an access to a repository or files to be shared with the world. On the other hand chrooted ftp server is configured to let a person access his/her dedicated space.
 
 Other challenge is whether to configure it in active mode or passive mode. 
 
@@ -13,7 +13,7 @@ Other challenge is whether to configure it in active mode or passive mode.
 
 ### Adding the FTP user account
 
-First you need a ftp account on your system. This account should not have a usable password. We will set the login directory to /home/ftp but it's totally your choice. when using anonymous ftp, the ftp daemon will chroot itself in the /home/ftp directory. We also need to add a shell to be provided to ftp user. The account can be added with the adduser(8) or pw(8).
+First you need a ftp account on your system. This account should not have a usable password. We will set the login directory to */home/ftp* but it's totally your choice. when using anonymous ftp, the ftp daemon will chroot itself in the */home/ftp* directory. We also need to add a shell to be provided to ftp user. The account can be added with the adduser(8) or pw(8).
 
     # echo /usr/bin/false >> /etc/shells
     
@@ -23,24 +23,26 @@ First you need a ftp account on your system. This account should not have a usab
     Full name []: anonymous ftp 
     Uid (Leave empty for default): <Enter>
     Login group ftp [ftp]: <Enter>
-    Login group is "ftp". Invite ftp into other groups? []: no
+    Login group is "ftp". Invite ftp into other groups? []: <Enter>
     Login class [default]: <Enter>
     Shell (sh csh tcsh false nologin) [sh]: false 
     Home directory [home/ftp]: <Enter>
     Lock out the account after creation? [n]: no 
     
-    Username   :       ftp 
-    Password   : 
-    Full Name  : anonymous ftp 
-    Uid         : 1002 Class    : default 
-    Groups      : ftp 
-    Home        : /home/ftp 
-    Shell       : /usr/bin/false 
+    Username : ftp 
+    Password : 
+    Full Name : anonymous ftp 
+    Uid : 1002
+    Class : default 
+    Groups : ftp 
+    Home : /home/ftp 
+    Shell : /usr/bin/false 
     Locked : no 
-    OK? (yes/no)       :       yes 
+    OK? (yes/no) : yes 
     adduser: INFO: Successfully added (ftp) to the user database. 
     Add another user? (yes/no):        no 
-    Goodbye! 
+    Goodbye!
 Note: For chrooted user ftp server you need to enter a password , change the full name and make a separate home directory
     
 Alternate way to add user would be:
@@ -64,7 +66,10 @@ Note: For chrooted user ftp server you need to enter a password, change the comm
 Along with the user, this created the directory /home/ftp. We need to change the permissions to make it equip for the anonymous user (it is totally administrators choice). 
 
 */home/ftp* - This is the main directory. It should be owned by root and have permissions of 555. 
-*/home/ftp/etc* - This is entirely optional and not recommended, as it only serves to give out information on users which exist on your box. If you want your anonymous ftp directory to appear to have real users attached to your files, you should copy */etc/pwd.db* and */etc/group* to this directory. This directory should be mode 511, and the two files should be mode 444. These are used to give owner names as opposed to numbers. There are no passwords stored in pwd.db, they are all in spwd.db, so don't copy that over.    */home/ftp/pub* - This is a standard directory to place files in which you wish to share. This directory should also be mode 555.
+
+*/home/ftp/etc* - This is entirely optional and not recommended, as it only serves to give out information on users which exist on your box. If you want your anonymous ftp directory to appear to have real users attached to your files, you should copy */etc/pwd.db* and */etc/group* to this directory. This directory should be mode 511, and the two files should be mode 444. These are used to give owner names as opposed to numbers. There are no passwords stored in pwd.db, they are all in spwd.db, so don't copy that over.
+
+*/home/ftp/pub* - This is a standard directory to place files in which you wish to share. This directory should also be mode 555.
 
     # cd /home/ftp 
     # mkdir pub 
@@ -75,11 +80,11 @@ Along with the user, this created the directory /home/ftp. We need to change the
 
 ### Configuring The Server
 
-*/etc/ftpwelcome* – Welcome message to the people connected to ftp server before login. 
-*/etc/motd* – Contains a message displayed to the client after login.
-*/etc/ftpchroot* – Lists users who have permission to login into their chrooted directories. 
-*/etc/ftpusers* – Lists users disallowed any ftp access.
-*/etc/ftpd.conf* – Contains various configuration options and fine tuning 
+    */etc/ftpwelcome* – Welcome message to the people connected to ftp server before login. 
+    */etc/motd* – Contains a message displayed to the client after login.
+    */etc/ftpchroot* – Lists users who have permission to login into their chrooted directories. 
+    */etc/ftpusers* – Lists users disallowed any ftp access.
+    */etc/ftpd.conf* – Contains various configuration options and fine tuning 
 
 ### Starting The FTP Server
 
@@ -93,10 +98,11 @@ You can add following line or even check for the existence of similar one in the
 
 
 Following are the options you need to consider:
--A – anonymous access allowed.
--l – logs access, if repeated logs more details such as transfers, etc.
--D – runs as a daemon (standalone).
--S – logs all anonymous access.
+
+    -A – anonymous access allowed.
+    -l – logs access, if repeated logs more details such as transfers, etc.
+    -D – runs as a daemon (standalone).
+    -S – logs all anonymous access.
         
 If you wish to start the inetd  - internet super server during system boot, add the following line into */etc/rc.conf*
 
@@ -122,12 +128,7 @@ A packet filter setting for example can be configured as follows, concerning FTP
 
 ### Client Side of FTP
 
-Their are numerous ftp clients available. Now-a-days any browser can be use as ftp client. Nautilus and Konqueror can also be used for complex ftp transfers. Screenshots of anonymous and chrooted user ftp access can be found below. Attachments look ugly :)
-
-Anonymous ftp client through command line and Firefox.
-
-Chrooted ftp client through command line and Firefox.
-
+Their are numerous ftp clients available. Now-a-days any browser can be use as ftp client. Nautilus and Konqueror can also be used for complex ftp transfers. 
 
 ### Done