NOTICE: This is beta level software. Do not run in a production environment. This beta software is meant only for testing purposes. Hethmon Brothers reserves the right to modify any and all parts and behaviors of this program.
Now that the warning is out of the way, we do not expect to change this program in any meaningful way before it's production release. The server itself is not likely to change, only the web interface to it. The web interface does not present the best interface to manage the server and we would like to improve it. The way in which user's and directory permissions are stored will only change if a defect is found which requires it. No changes are planned from this release forward.
6 June 2000
Ftpd 2.0 Beta Build 37
This is build 37 of the updated Hethmon Ftpd for OS/2. This version is not compatible with any previous version of Hethmon Ftpd for OS/2, either beta or released versions. You may run this version alongside version 1.0. You should delete any previous beta versions before installing this version. This beta version defaults to using a listen port of 2100 and a web server port of 8000. Both may be changed once the server is running. The server must be restarted once the port configuration is changed.
Place the contents of the unzipped archive in the desired location. The Http subdirectory must be located relative to the home directory of the program. The program will default to using the startup directory as the home directory, therefore it is easiest to move all of the files to the desired location first.
The program may be started in a command window by simply typing "ftpd". Optionally, you may use the following command line flags:
Through the command line server, only two configuration options may be set:
root passwordThe root password is used to gain access to the web server interface which configures the ftp server. You may set it by using the command "set pass" at the "ftpd>" prompt.
The http listen port is used to set the listen port the web server operates on. You may set it by using the command "set port" at the "ftpd>" prompt. Note that the first time the server starts, it will start the web server on port 8000. If you set the port here, you will need to shutdown and restart the program for it to be effective.
The main configuration is accessed through a standard web browser such as Netscape Navigator. The ftpd program includes a built-in specialized web server for this purpose. Once the Ftpd program is running, point your web browser at port 8000 (or the default port you have previously configured) on that machine. If, for example, your machines hostname is warp.hethmon.com, then tell your browser to load the url http://warp.hethmon.com:8000. The initial login screen will then load. Also note that you may access the web configuration from any computer running a web browser and connected to the network.
To login, use the username of "root" and the password of "godoggo" (unless you have changed the root password as explained in 4). In this beta version, only root access to the web configuration is supported. The user "root" has access to change any configuration option.
Please note that access to all pages other than the login page is authenticated by the web server. An encoded authentication token is sent with all page requests and must be verified by the web server. This token is tied to the user and the ip address the initial login came from. Further, the token automatically expires after 2 hours whether in use or not. No page other than the login page should ever be bookmarked since the web server will refuse access without a current authentication token.
The first page seen upon logging in is the Start Page. This page gives access to either the General Settings or the Virtual Domains pages. The first step should be the General Settings page.
From this page, you may configure the general characteristics of the server:
Once you change the settings, you must choose to "Submit Changes" for them to take affect. All changes are immediate except where marked. The "Cancel" button will take you back to the Start Page.
From this page you may edit, create, and remove virtual domains. Each virtual domain supported by this server MUST have it's own unique ip address.
To edit a virtual domain, simply highlight it in the drop down box and choose the edit button. To create a new one, simply choose the Create button. To remove a virtual domain, highlight it in the drop down box and choose the Remove button.
For each virtual domain, you must supply a domain name (hostname) and a unique ip address. You must also supply a unique Domain Path and and User Path to store the per domain information. Choose the Add Domain button to create a virtual domain.
From this page, you may modify the virtual domain settings. You may also create the VFS or Virtual File System for this domain and Manage the users.
A virtual file system is a map of physical to logical directories. The ftp user is presented with this virtual file system instead of the actual directory structure. Any directory listed in the VFS makes up the root or / directory of the server. It is what the user will see upon logging in. Permissions are granted separately from the VFS.
Some examples would be:
Physical: | f:\ftppub |
Logical: | /pub |
Physical: | h:\project\usda\cotton |
Logical: | /cotton |
The VFS exactly mimics a Unix server in operation to a ftp client.
From this page you may create and edit users and manage their permissions. To create a user, fill in the appropriate information in the center section. The change password and web admin checkboxes are currently ignored (though the values are saved).
To edit a user, highlight the username and pick the Edit button.
To delete a user, highlight the username and pick the Delete button.
To manage a user's directory permissions, highlight the user and pick the Edit Directory button.
Directory permissions are granted based on the VFS of the domain. You may separately grant permissions for:
If a directory in the VFS is not listed as Read, then that user will not be able to see it, nor change to it.
Files may also be listed here and the Read/Write/Delete permissions applied to them. The Create/Delete directory permissions have no meaning for a file.
Permissions are inherited from the parent directory and do not have to be explicitly set for each subdirectory. You may set permissions for a subdirectory to override the parent directory permissions.
These instructions do not explain everthing in full detail. Please experiment with the settings and test things out to get a feel for how the server operates.
If you do have questions, we do request that you ask them on the Ftpd mailing list ftpd@hethmon.com. To subscribe to this list, please send an email to ftpd-request@hethmon.com. In the body of the message put the command:
subscribeThe mailing list software will pick up your email address from the message headers. More information on the mailing list can be found at http://www.hethmon.com/ftpdlist.html.
Please report bugs on the mailing list. This build of the server includes full compiler debug support. If it crashes, it should print out information to the console window detailing the crash. Please be sure to include this information as well as the information from the popuplog.os2 file.
If at all possible, include detailed instructions for reproducing the error. Also include your OS/2 version and fixpack level. Also your tcp/ip stack revision.