home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / filesbbs / dos / pmail340.exe / README.NDS < prev    next >
Encoding:
Text File  |  1996-08-29  |  33.3 KB  |  693 lines

  1. Using Pegasus Mail and Mercury in NDS Mode under NetWare 4.1
  2. ------------------------------------------------------------------
  3.  
  4. Introduction
  5.  
  6. This document covers the operating theory of Pegasus Mail in the NetWare
  7. 4.1 environment using Novell's NDS user database structure. The target
  8. audience for this file is system administrators and those who are charged
  9. with maintaining the mail system. Because of the complexity of the
  10. NetWare 4.1 environment, we strongly recommend that you take some time to
  11. read this document thoroughly. We do, however, realise that many sites
  12. would prefer to get straight into things, so if you wish, you can bypass
  13. the theory and go straight to a step-by-step setup procedure by reading
  14. the file QSETUP.TXT supplied in this archive.
  15.  
  16. ** IMPORTANT NOTE: **
  17. Because many of the NDS support files for Pegasus Mail for DOS are the
  18. same as those used by Pegasus Mail for Windows, they are not included in
  19. the basic Pegasus Mail/DOS v3.4x distribution archive in order to conserve
  20. space. To get the NDS support files if you do not already have them, look
  21. in these locations:
  22.  
  23.    FTP:    risc.ua.edu, in /pub/network/pegasus/wpmndsxx.zip
  24.            ftp.let.rug.nl, in /pmail/wpmndsxx.zip
  25.    WWW:    ftp://risc.ua.edu/pub/network/pegasus/wpmndsxx.zip
  26.            ftp://ftp.let.rug.nl/pmail/wpmndsxx.zip
  27.  
  28. Note that "xx" in the filenames above refers to the version number of the
  29. NDS enabler module. At the time of writing, the current version is 1.0,
  30. so you would retrieve "wpmnds10.zip" from any of these sites.
  31.  
  32.  
  33. Contents:
  34.  
  35.    1:   Summary
  36.    2:   Overview and operating requirements
  37.    3:   Contexts and operation
  38.    4:   Addresses
  39.    5:   Synonyms (alternative addressing formats)
  40.    6:   Installing Pegasus Mail in NDS Mode
  41.      6.1:   Installing Pegasus Mail for Windows in NDS Mode
  42.      6.2:   Installing Pegasus Mail for DOS in NDS Mode
  43.      6.3:   Steps common to all versions of Pegasus Mail in NDS Mode
  44.    7:   Installing Mercury in NDS Mode
  45.      7.1:   Modifying MERCURY.INI for NDS use.
  46.    8:   Allowing Local User Lookup
  47.    9:   Extended Features
  48.    10:  Security Considerations
  49.    11:  POP3 server considerations
  50.    12:  Troubleshooting
  51.  
  52.  
  53. 1: Summary
  54.  
  55. This document provides information on running NDS-aware versions of
  56. Pegasus Mail for Windows and the Mercury MTS on NetWare 4.1 systems. 
  57. Because NetWare 4.1 does not have some of the features of NetWare 3.x 
  58. that made it possible to create a maintenance-free mail system, some
  59. extra work is required to set it up for optimum use, so you should
  60. take the time to familiarise yourself with this document thoroughly
  61. before attempting the installation.
  62.  
  63. In brief, installing Pegasus Mail for Windows entails following these 
  64. steps:
  65.  
  66.    * Install WPNNW4.DLL into the same directory as WINPMAIL.EXE
  67.    * Make sure current versions of the Novell API DLLs are installed
  68.      on your system
  69.    * Run the NDS-Aware version of PCONFIG to configure WinPMail for
  70.      each context on your server that needs its own configuration.
  71.    * Run the Pegasus Mail MAKEMBOX utility to create user mail
  72.      directories as required in each configured context.
  73.    * [Optional] Run the PMIGRATE utility to copy the mailbox contents
  74.      of any user who has previously run Pegasus Mail in Bindery Emulation
  75.      mode on your server to the new mailbox location.
  76.    * Install PMUSER.NLM, the mailbox maintenance utility, on your file
  77.      server.
  78.    * [Optional] Make a small change to NDS to allow local user lookup
  79.      (see section 7 in this file).
  80.  
  81. Installing the NDS-Aware version of Mercury on your file server is a 
  82. simpler process requiring these steps:
  83.  
  84.    * If you have never installed Mercury before, run SETUP.EXE
  85.      -- or --
  86.    * Install MERCNDS.NLM and MERCNDSS.NLM in SYS:SYSTEM
  87.    * Add a couple of new sections to your MERCURY.INI file
  88.    * [Optional] Install MERCNDSP.NLM in SYS:SYSTEM for POP3 support.
  89.  
  90. Installing Pegasus Mail and Mercury in NDS mode is slightly more complex
  91. than it is in Bindery Mode, but the ultimate aim is to produce a system
  92. with little or no ongoing maintenance or management requirement at the
  93. expense of a small amount of relatively simple extra initial setup and
  94. configuration.
  95.  
  96.  
  97. 2: Overview and operating requirements
  98.  
  99. In NDS mode, Pegasus Mail no longer uses the old NetWare 3.x SYS:MAIL
  100. directory structure to deliver and store mail: instead, it expects to
  101. deliver mail to a directory called PMAIL in each user's home directory on
  102. the file server. The MAKEMBOX utility creates the necessary directories
  103. for existing users, while the PMUSER NLM creates them automatically for
  104. each user that is created in future. The aim is to produce a system that
  105. is as nearly maintenance-free as possible, and to isolate Pegasus Mail
  106. from further disastrous changes in Novell system policy in future.
  107. Clearly, though, there are a couple of specific requirements that must
  108. be met in order to make this work:
  109.  
  110.    * All mail users must have a writable home directory in which they
  111.      have full rights.
  112.    * PMUSER.NLM must be run on every file server containing a partition
  113.      where Pegasus Mail users could be created.
  114.  
  115. PMUSER.NLM uses one service connection and about 10KB of server RAM in 
  116. normal use, and introduces almost no load on your server when it is idle. 
  117. PMUSER.NLM is not required if you use the NDS-Aware version of Mercury 
  118. to handle all of your mail delivery, since Mercury can duplicate the 
  119. functionality of PMUSER. Running PMUSER, however, allows Pegasus Mail's 
  120. local delivery agent to function normally, just as it always has under 
  121. NetWare 3.x and earlier.
  122.  
  123.  
  124. 3: Contexts and operation
  125.  
  126. NDS provides a tree structure which can contain many organizational
  127. units. Pegasus Mail's NDS-awareness supports the full idea of NDS,
  128. allowing different configurations for specific organizational units
  129. within your NDS tree. You can also create configurations that apply to a
  130. particular subtree of the NDS hierarchy, or even to the whole NDS tree by
  131. choosing where you place the configuration information.
  132.  
  133. To find its configuration information, Pegasus Mail starts in the user's 
  134. "Home context" - the organizational unit in the tree where the user was 
  135. created, and looks for a "Profile" object called "Pegasus Mail". If it 
  136. finds it, it parses the object's "Login script" attribute for its 
  137. configuration information. If it does not find the object, it changes up 
  138. one level in the NDS tree and repeats the search. The search continues 
  139. until either a configuration object is found, or else the root of the 
  140. tree is reached without finding a record. The NDS-aware version of 
  141. PCONFIG creates and maintains the "Pegasus Mail" profile object for you, 
  142. ensuring that all users have the rights necessary to be able to read its 
  143. login script. The Profile Object Pegasus Mail uses is, however, a 
  144. standard NDS data type, and can be easily manipulated using standard 
  145. Novell tools such as NWADMIN or NETADMIN, provided the user doing so has 
  146. sufficient rights.
  147.  
  148. Unlike running in NetWare 3.x mode, Pegasus Mail MUST find at least one 
  149. configuration record somewhere in the tree or it will refuse to run. The 
  150. context where Pegasus Mail finds its configuration record is known as the 
  151. "Configuration context" and is important for other reasons: Pegasus 
  152. Mail's control groups, such as GROUPMAIL, MAILUSERS and NOMAIL must all 
  153. be located in the configuration context in order to operate. Similarly, a 
  154. simple mail address, such as "Peter" is presumed to be relative to the 
  155. configuration context. This brings us to the next topic...
  156.  
  157.  
  158. 4: Addresses
  159.  
  160. Just as it does under NetWare 3.x, Pegasus Mail uses the native NetWare
  161. user naming structure when running in NDS mode. So, you can enter
  162. addresses like "Admin.pmail", or "CN=Admin.O=PMAIL" and Pegasus Mail will
  163. accept these as normal addresses, routing the mail as required. You can
  164. also use "relative addresses" - so if there is an organizational unit
  165. called "Dev" in the configuration context and it contains a user called
  166. "David", you can use "David.Dev" as an address as well.
  167.  
  168. Provided you install Pegasus Mail correctly in NDS mode, it can easily
  169. act as a low-maintenance enterprise-wide mail system providing mail
  170. services to all users throughout your NDS hierarchy.
  171.  
  172.  
  173. 5: Synonyms (alternative addressing formats)
  174.  
  175. Many sites have policies mandating that particular addressing formats
  176. should be used in their outgoing Internet mail - for example, a site may
  177. want its users' Internet addresses to consist of their initials and
  178. surname, like this: D.L.Harris@pmail.gen.nz. Basic address changes like
  179. this are beyond the scope of simple aliasing - they require the
  180. co-operation of both the mail program (Pegasus Mail) to ensure that the
  181. "from" field of the message is written properly in outgoing mail, and also
  182. of the Mail Transport System (Mercury) to ensure that incoming mail using
  183. the alternative address format is routed to the proper user. In the Pegasus
  184. Mail and Mercury systems, an address of this kind, which is completely
  185. different from the user's actual login name, is called a Synonym.
  186.  
  187. Creating synonyms in NDS mode is an easy two-stage process. The first stage
  188. involves using standard NetWare tools to give users their synonyms, while
  189. the second stage involves running a utility supplied with this archive to
  190. build a reverse lookup database allowing Mercury to match synonyms to their
  191. users. Note that using synonyms is NOT an all-or-nothing process - you can
  192. define synonyms for only some of your users if you wish. To create synonyms
  193. under NDS mode simply follow these steps:
  194.  
  195. 1:  Run the NetWare NWADMIN utility. Open the details screen for the user
  196.     whose synonym you wish to set.
  197. 2:  Select the Foreign Email Address button at the right of the dialog
  198. 3:  Click the Set button beneath the Foreign Email Address field
  199. 4:  Type in the address you want the user to have - the address can contain
  200.     a domain if you wish, but if you do not add a domain, Pegasus Mail will
  201.     add the proper domain for you.
  202. 5:  Set the Type field to SMTP.
  203. 6:  Save the entry.
  204.  
  205. Repeat steps 1 to 6 for as many users as need synonyms. Once you have
  206. finished adding synonyms, start a DOS shell and run the NSYNONYM.EXE
  207. utility supplied with this archive. This utility processes the information
  208. in the NDS tree and builds a reverse synonym database Mercury can use to
  209. match incoming synonyms to the proper users. NSYNONYM has the following
  210. syntax:
  211.  
  212.     NSYNONYM <starting_domain> <synonym_file> [SUB]
  213.  
  214. "Starting_domain" is the point in your NDS tree at which NSYNONYM should
  215. start looking for users with synonyms defined. You can enter [Root] here if
  216. you want NSYNONYM to process the whole NDS tree.
  217.  
  218. "Synonym_file" is the name of the database file NSYNONYM should create:
  219. this will be the same file you have defined in the Synfile entry of the
  220. [Mercury] Section of your MERCURY.INI file. You should always delete the
  221. existing file before running NSYNONYM.
  222.  
  223. "Sub" If you add the word "sub" at the end of the NSYNONYM command line, it
  224. will search in all contexts below the starting context for users with
  225. synonyms.
  226.  
  227. Example: to have NSYNONYM create a synonym database for all users in the
  228. context Dev.PMail and in all contexts below that and write the results to
  229. the default synonym database file, you would use the commandline:
  230.  
  231.     NSYNONYM Dev.PMail \\SERVER\SYS\SYSTEM\MERCURY\SYNONYM.MER sub
  232.  
  233.  
  234.  
  235. 6: Installing Pegasus Mail in NDS Mode
  236.  
  237. Complete the normal installation process for Pegasus Mail, then follow 
  238. these additional steps:
  239.  
  240.  
  241. 6.1: Installing Pegasus Mail for Windows in NDS Mode
  242.  
  243. a) Install WPNNW4.DLL into the same directory as WINPMAIL.EXE. Note that 
  244. if any of your users have "-P <server>" commandlines in use for WinPMail 
  245. under Bindery Emulation mode, these options must be removed because the 
  246. -P option forces Pegasus Mail to run in Bindery mode.
  247.  
  248. b) Pegasus Mail is supplied with three Novell DLL files that provide
  249. the Interface into NetWare for NDS-aware utilities. These files are:
  250. NWCALLS.DLL, NWNET.DLL and NWLOCALE.DLL. You should ensure that you have
  251. exactly one copy of each of these files loadable on your system. The
  252. safest approach is to make sure that they appear in your \WINDOWS\SYSTEM
  253. directory and that all other copies on your system are deleted or
  254. removed. If you have more recent versions of these files than the ones
  255. supplied with Pegasus Mail, always use the newer versions and discard
  256. the Pegasus Mail versions.
  257.  
  258.  
  259. 6.2: Installing Pegasus Mail for DOS in NDS Mode
  260.  
  261. a) Copy PMAILNDS.EXE and PEGASUS.RSC into a directory accessible by those
  262. users who are to have access to the DOS version.
  263.  
  264. b) Ensure that the directory SYS:PUBLIC/NLS is mapped into the DOS PATH.
  265. This is essential, since otherwise the Novell API libraries used in the
  266. DOS version will not be able to initialize their unicode tables.
  267.  
  268.  
  269. 6.3: Common steps in installing Pegasus Mail in NDS Mode
  270.  
  271. a) Run the NDS-aware version of PCONFIG to configure Pegasus Mail for
  272. the specific contexts in which it is to run. The only difference between
  273. running the NDS version of PCONFIG and the standard Bindery version is
  274. that it will ask you at startup for the name of the context in which you
  275. want the configuration Profile Object to be placed. Provided you have
  276. the necessary privileges, you can create or edit configuration objects in
  277. any context in your NDS tree. Apart from this, the screens and general
  278. operation of PCONFIG are identical to the way they operate under Bindery
  279. mode.
  280.  
  281. b) Run MAKEMBOX to create user mail directories. MAKEMBOX performs the 
  282. following tasks:
  283.  
  284.    * It ensures that the target user has a "Home Directory" attribute
  285.      and issues an error if not.
  286.    * It creates a directory called PMAIL in the user's home directory
  287.    * It grants [C] (File create) rights to mail users in that directory:
  288.      by default, the grant of rights is to [Root] (any logged-in user),
  289.      but you can if you wish specify a NetWare group to which the grant
  290.      of rights should be made instead.
  291.    * It adds an ACL entry (ACLs are "Access Control Lists", and are the
  292.      equivalent of Trustee Rights for NDS itself, controlling who can
  293.      see or change what in the NDS database) that allows either [Root]
  294.      or your designated mail group to read the specified user's NDS
  295.      "Home Directory" attribute.
  296.    * It creates an empty extended features file (PMXF.INI) in each user's
  297.      new mailbox and grants [RF] rights to all mail users for it. It also
  298.      grants the owning user only [RF] rights, preventing the user from
  299.      modifying his/her extended features without permission.
  300.  
  301. MAKEMBOX can be run in a number of ways:
  302.  
  303.    * MAKEMBOX <username>
  304.      - simply creates the mailbox for the single specified user
  305.    * MAKEMBOX -s <context>
  306.      - creates mailboxes for every user in the context specified in
  307.        the <context> parameter.
  308.        Example:  "MAKEMBOX -s dev.pmail" creates mailboxes for all
  309.        user objects in the context "dev.pmail".
  310.    * MAKEMBOX -r -s <context>
  311.      - creates mailboxes for every user in the specified context and in
  312.        every organizational unit below it in the NDS tree.
  313.  
  314. In order to run MAKEMBOX you must be logged in as a user with full 
  315. administrative privilege over every organizational unit in which you
  316. run the program.
  317.  
  318. c) [Optional] Run PMIGRATE: if you have previously run Pegasus Mail in 
  319. Bindery Emulation mode under NetWare 4.1, you can run PMIGRATE to 
  320. transfer the mailbox information from the old SYS:MAIL directories to the 
  321. new mailboxes for affected users. The PMIGRATE commandline syntax is
  322. simply
  323.  
  324.    * PMIGRATE <search mask>
  325.  
  326. - where "search mask" is a pattern matching the names of bindery-based
  327. users you want to migrate. Example: to migrate all users, use the
  328. commandline "PMIGRATE *"; to migrate all Bindery Users whose bindery
  329. username starts with "JOHN", use the commandline "PMIGRATE JOHN*".
  330.  
  331. d) Install PMUSER.NLM on your file server. PMUSER is a very small NLM
  332. which asks NDS to notify it every time a user is created on the file
  333. server. When a user is created, PMUSER attempts to create the necessary
  334. mailbox directory for that user via the same method as MAKEMBOX. PMUSER
  335. logs into your file server using a privileged account name and uses one
  336. licensed connection on your server while it runs. If your user creation
  337. process is automated, you can duplicate the functionality of PMUSER by
  338. running MAKEMBOX for each user as you create it - the advantage of PMUSER
  339. is that if you use utilities such as NWADMIN or NETADMIN to create your
  340. users, it will automatically ensure that the necessary mailbox
  341. information is created for them without further intervention from you.
  342. PMUSER can be loaded using the following syntax
  343.  
  344.    * LOAD PMUSER [-u username] [-p password] [-g group]
  345.  
  346. - where "username" is the NDS username PMUSER should use when logging
  347. in to NDS, "password" is the password for the account and "group" is
  348. the name of the user group PMUSER should give access to the mail
  349. properties of new user mailboxes. "group" defaults to "[Root]" (that is,
  350. all users logged-in to the file server); "username" and "password" can
  351. be omitted, in which case PMUSER will prompt you for them.
  352.  
  353.  
  354. 7: Installing Mercury in NDS Mode
  355.  
  356. Installing Mercury for operation in NDS mode is only slightly different 
  357. from installing it for normal Bindery-mode operation. Complete all the 
  358. steps in the normal installation process, then do the following:
  359.  
  360. a) If there are copies of MERCURY.NLM, MERCURYP.NLM or MERCURYS.NLM in
  361. SYS:SYSTEM, remove them; they are not used in NDS mode.
  362.  
  363. b) Make sure MERCNDS.NLM and MERCNDSS.NLM have been installed in 
  364. SYS:SYSTEM on your file server.
  365.  
  366. c) Edit your MERCURY.INI: add the [NDS] section and modify the [Domains] 
  367. section as described below.
  368.  
  369. d) Load MERCNDS.NLM, MERCNDSS.NLM and MERCURYC.NLM on your server. 
  370. Optionally, load MERCNDSP.NLM if you want to make POP3 services available 
  371. for your server.
  372.  
  373.  
  374. 7.1: Modifying MERCURY.INI for NDS use.
  375.  
  376. At startup, Mercury parses your MERCURY.INI file as it has always done, 
  377. except that it expects to find a new section, [NDS], and to find 
  378. different entries in the [Domains] section.
  379.  
  380. a) The [NDS] section. Mercury uses this section to work out who it should 
  381. log in as. In order to operate in NDS mode, Mercury needs to login to 
  382. Directory Services using a privileged user account. See the section 
  383. entitled "Security considerations" at the end of this document for 
  384. discussion of the type of usercode Mercury should be given. The NDS 
  385. section can contain four entries:
  386.  
  387.    USERID - the NDS "Distinguished Name" of the user identity Mercury
  388.       should use to login to NDS. Example "USERID : Admin.pmail". There
  389.       is no default for this section - it must be provided. The name you
  390.       use should be expressed relative to the root of the NDS tree.
  391.    PASSWORD - the password for the account given in "USERID". If you
  392.       omit this field, or leave it blank, Mercury will prompt you for a 
  393.       password when it loads and will not process any mail until you 
  394.       respond.
  395.    MAILBOX_MODE - should be either 0 or 1. If 0 (the default), Mercury
  396.       will use the mailbox methods described in section 5d above. If 1,
  397.       Mercury will assume that you have installed the Novell MHS Services
  398.       product on your server and will use the mailboxes created by that
  399.       system instead.
  400.    AUTOMAINTENANCE - should be either 0 or 1. If 0 (the default), Mercury
  401.       will NOT attempt to create mailboxes for users that do not have
  402.       them already. If 1, Mercury will use the same creation method as
  403.       MAKEMBOX and PMUSER to create mailboxes for users when it detects
  404.       a user without a mailbox. If "Automaintenance" is set to 0 and 
  405.       mail is sent to a user without a mailbox, a delivery error occurs.
  406.  
  407. It is legal to omit the [NDS] section; if you do so, Mercury will prompt
  408. you to enter a username and password when it starts up.
  409.  
  410. b) The [Domains] Section.
  411.  
  412. In NDS mode, Mercury uses the [Domains] section to associate an NDS 
  413. organizational unit with an Internet domain. The syntax of the section is 
  414. basically the same as under Bindery mode, but with one or two extra 
  415. capabilities. Each entry in the [Domains] section must have an NDS 
  416. context on the left and an Internet domain name on the right. The NDS 
  417. context name must be expressed relative to the root of the NDS tree. 
  418. If you wish to apply an entry to an entire subtree rather than to a 
  419. single specific context, add a '/' character at the start of the NDS 
  420. context name.
  421.  
  422. Example:
  423.  
  424. The Organization "Acme Inc", has two separate divisions in the same NDS
  425. tree, "Sales" and "Manufacturing". The "Manufacturing" division contains
  426. three more organizational units, "Development", "Futures" and 
  427. "Production". The Sales division has only one organizational unit,
  428. "Marketing". The NDS tree for Acme Inc looks like this:
  429.  
  430.         Acme Inc --+-- Sales ----------+-- Marketing
  431.                    |
  432.                    +-- Manufacturing --+-- Development
  433.                                        |
  434.                                        +-- Futures
  435.                                        |
  436.                                        +-- Production
  437.  
  438. The Internet domain name for Acme Inc is "acme.com". Because the Sales 
  439. and Manufacturing Divisions are administratively separate, they want to 
  440. have the domain names "sales.acme.com" and "mfg.acme.com" respectively.
  441. Because of political divisions within the Sales group, the Marketing 
  442. division also wants to have its own domain name, "mktg.acme.com". The 
  443. Manufacturing Division, however, is happy to have "mfg.acme.com" apply to 
  444. all its sub-divisions. The [Domains] section that achieves this 
  445. organizational structure would be as follows:
  446.  
  447. [Domains]
  448. Marketing.Sales.Acme Inc   :  mktg.acme.com
  449. Sales.Acme Inc             :  sales.acme.com
  450. /Manufacturing.Acme Inc    :  mfg.acme.com
  451.  
  452. Note the use of the '/' in the last entry to indicate that "mfg.acme.com" 
  453. should apply to all the organizational units beneath "Manufacturing" in 
  454. the NDS tree.
  455.  
  456. c) Restrictions
  457.  
  458. There are certain restrictions you must observe when running Mercury in 
  459. NDS mode:
  460.  
  461. i:   Your users' names must only contain standard ASCII characters. If you
  462.      have usernames that contain special or extended ASCII characters, 
  463.      then you must create ASCII-only synonyms for those users.
  464.  
  465. ii:  If you use the '/' character to apply an Internet domain name to an 
  466.      NDS subtree then your users' names must be unique throughout that
  467.      subtree. If you have two users with the same names in different 
  468.      organizational units of a subtree served by Mercury, then one of the
  469.      users must be given a synonym that distinguishes him or her from the
  470.      other user.
  471.  
  472. iii: Usernames may contain spaces; Mercury and Pegasus Mail will convert
  473.      the space characters to underscores when writing the user's address
  474.      into Internet mail. NDS regards spaces and underscores as exactly
  475.      equivalent - if this condition ever changes in future versions of
  476.      NetWare, then users whose names contain spaces must be given 
  477.      synonyms.
  478.  
  479. iv:  You may have more than one Internet domain name mapped to a single
  480.      NDS context, but you may not have multiple NDS contexts mapped to
  481.      a single Internet domain name except by using the '/' operator.
  482.  
  483.  
  484. 8: Local User Lookup
  485.  
  486. WinPMail supports local user lookup directly from the NDS database (via
  487. the "Local users" option on the "Addresses" menu). Unfortunately, Novell
  488. made some curious design decisions about default access rights when they
  489. implemented NDS - most notably that users cannot by default access any
  490. information about other users other than their surnames and their default
  491. servers. By default, the PMUSER.NLM and MAKEMBOX utilities will add an ACL
  492. (ACLs are the same as trustee rights except they apply to the NDS database
  493. and control who can see what information) allowing all users to see other
  494. users' full names, but this grant of rights can be suppressed on the
  495. commandline if you wish. An alternative way of allowing all users to see
  496. other users' full names involves making a small global change to the NDS
  497. database one time. If you would prefer to use this option to enable local
  498. user lookup within Pegasus Mail, follow these steps:
  499.  
  500.    1: Login as ADMIN
  501.    2: Run the NetWare NWADMIN administrator tool.
  502.    3: Highlight the first context below the root context (i.e, the
  503.       highest level context other than "Root").
  504.    4: Choose "Trustees of this object" from the "Object" menu.
  505.    5: Click on "Add trustee"
  506.    6: Change your context to "[Root]" and double-click "[Root]" in the
  507.       "Objects" list.
  508.    7: Click OK to save the trustee assignment.
  509.    8: Highlight "[Root]" in the "Trustees" list, then check the
  510.       controls labelled "Browse" (on the left) and "Read" and
  511.       "Compare" (on the right).
  512.  
  513. The effect of this change is to permit all users the default right to
  514. browse information about other users.
  515.  
  516.  
  517. 9: Extended Features
  518.  
  519. Pegasus Mail has a number of specialised features that are not normally 
  520. enabled for every user. In NetWare 3.x mode, these features were stored 
  521. in the NetWare Bindery, where they were readable by all users. Under 
  522. NetWare 4.1, the only equivalent way of doing this involves modifying the 
  523. base NDS schema to add a new object type: unfortunately, at the time of 
  524. writing, modifying the base schema has far-reaching consequences (most 
  525. specifically that it is impossible to merge two NDS trees where either 
  526. has a modified schema) and hence we have had to rule out this approach. 
  527.  
  528. Instead, WinPMail and Mercury look for a file called PMXF.INI in each 
  529. user's new mail directory. This file must be world-readable to be 
  530. effective. PMUSER and MAKEMBOX will automatically create a zero-length
  531. version of this file when creating a new mail directory for a user, and
  532. will grant [RF] rights to all users, as well as making an explicit grant
  533. of [RF] to the user himself; this latter grant prevents the user from
  534. modifying the file, thus keeping compatibility with Pegasus Mail under
  535. NetWare 3.x (where by default users are not permitted to modify their
  536. extended feature sets).
  537.  
  538. To allow a user to modify his/her extended features, grant all rights
  539. to PMXF.INI. Note that if you manually edit a PMXF.INI file, you will
  540. probably alter the rights grants to the file. Make sure you grant [RF]
  541. to [Root] (all logged-in users) each time you modify the file manually.
  542.  
  543. PMXF.INI is a simple text file that contains statements, one per line.
  544. The following statements are recognized:
  545.  
  546.    "Local autoforward = <address>"
  547.       - Sets a forwarding address for mail delivered by Pegasus Mail
  548.         itself. "<address>" can be any valid address to which you could
  549.         normally send mail using Pegasus Mail.
  550.  
  551.    "Internet autoforward = <internet_address>"
  552.       - Sets a forwarding address for mail delivered by Mercury. The
  553.         address can only be a local NDS address or an Internet address.
  554.  
  555.    "Deliver even when forwarding = <Y or N>"
  556.       - Determines whether or not a copy of mail that is automatically
  557.         forwarded by Mercury or Pegasus Mail should be left in the
  558.         recipient's new mailfolder as well.
  559.  
  560.    "Allow confirmation of reading = <Y or N>"
  561.       - If 'N', then Pegasus Mail will not honour requests for confirm-
  562.         ation that a message has been read.
  563.  
  564.    "Disable mail delivery = <Y or N>"
  565.       - If 'Y', then no mail can be delivered to this account.
  566.  
  567.    "Send delivery broadcasts = <Y or N>"
  568.       - If 'Y', then NetWare broadcast messages will be sent to the
  569.         recipient when new mail arrives.
  570.  
  571. Lines beginning with '#', ';' or '*' in PMXF.INI are regarded as comments
  572. and are ignored.
  573.  
  574.  
  575. 10: Security Considerations
  576.  
  577. Running Pegasus Mail in NDS mode does not compromise the security of your 
  578. server, but it does create some conditions of which you should be aware.
  579.  
  580. Firstly, Mercury and PMUSER must login to Directory Services using 
  581. privileged usercodes. The most expedient approach is to have them login 
  582. using the ADMIN account: this creates a security issue in that the 
  583. passwords for these accounts must be given to the programs in some way. 
  584. Mercury will prompt for a password if none is provided in MERCURY.INI and 
  585. PMUSER will also prompt for the password if it is not passed on the
  586. commandline; you may want to consider carefully how these applications
  587. are loaded in this light.
  588.  
  589. Another alternative is to create a user account that can be used by 
  590. PMUSER and Mercury but which is more limited in privilege than the ADMIN 
  591. account. If you do this, the account you create must be able to do the 
  592. following things:
  593.  
  594.   * Read and set the Home Directory attribute for any mail user
  595.   * Create directories in any user's home directory
  596.   * Grant trustee rights in any user's home directory
  597.   * Browse the entire NDS tree without restriction
  598.   * Grant ACLs covering any mail user's "Home Directory" attribute
  599.   * Create, rename, delete, read and write files in any mail user's
  600.     home directory.
  601.   * Change the ownership of any file on the system
  602.   * Read SYS:SYSTEM/MERCURY.INI
  603.   * Verify any user's NDS password
  604.  
  605. Pegasus Mail and Mercury require grants of rights to all mail users, but 
  606. only at the smallest possible rights levels. The only viable security 
  607. consideration that can arise from these extra grants of rights is a 
  608. fairly standard service denial attack - because all mail users have [C] 
  609. rights in all other mail users' new mail directories, it is possible for 
  610. someone to exhaust a user's disk space allocation by repeatedly creating 
  611. files in that user's new mail directory. This is not much of an attack, 
  612. though, because you can always see the owner of the files that are 
  613. created in the process and trace back to the culprit that way.
  614.  
  615. The only other security consideration arising from the use of Pegasus 
  616. Mail and Mercury in NDS mode is a provision of information consideration: 
  617. by default, NetWare NDS permits users to read their own home directory 
  618. information from the Directory Services database, but not to read the 
  619. location of other users' home directories. MAKEMBOX, Mercury and PMUSER 
  620. can all alter this so that all mail users can see all other mail users' 
  621. home directory locations in the database. While it is unlikely that this 
  622. information could really have much consequence, some sites may prefer not 
  623. to make it available for some reason. In cases like this, you should 
  624. consider using Mercury to handle all your mail.
  625.  
  626.  
  627. 11: POP3 server considerations
  628.  
  629. Under NDS, it is possible to have exactly the same username defined in
  630. multiple contexts in your NDS tree. This can pose a problem for MERCNDSP,
  631. the POP3 server, in that when presented with a name like "david", it may
  632. be unable to tell which of several possible "david"s in your NDS tree is
  633. the proper user. To get around this, you can take one of two approaches:
  634.  
  635.   * Require your users to give a full NDS distinguished name when
  636.     logging in to the server (for example, "david.dev.pmail").
  637.  
  638.   * Create a POP3 alias file, POPALIAS.MER, in SYS:SYSTEM. This file
  639.     simply equates a simple username (like "david") to the full NDS
  640.     format used for logging in (like "david.dev.pmail"). POPALIAS.MER
  641.     is a simple text file where each line has the form:
  642.  
  643.         <pop3_login_name> = <nds_username>
  644.  
  645.     As an example, using the names above, you would have the line
  646.  
  647.         david = david.dev.pmail
  648.  
  649.     NDS usernames must be expressed as full paths relative to the root
  650.     of your NDS tree. Each line must begin hard against the left margin.
  651.     Lines beginning with #, * or ; are regarded as comments and are
  652.     ignored.
  653.  
  654.  
  655. 12: Troubleshooting
  656.  
  657. "When I run MAKEMBOX or the other commandline utilities, they complain
  658. about failing to initialize unicode tables."
  659.  
  660.    This is a problem with the NetWare API library. Novell provide a
  661.    suite of files to handle the conversion from unicode to local
  662.    character sets and back - these files are the ones in SYS:PUBLIC/NLS
  663.    on your NetWare 4.1 file server, and have names like 1250_UNI.042
  664.    or UNI_MON.061. These files MUST be on your DOS PATH before you
  665.    run any of the Pegasus Mail support utilities, and when running
  666.    Pegasus Mail itself.
  667.  
  668.  
  669. "WinPMail complains about a Locale Failure at startup"
  670. "WinPMail appears to start up, but when I look in the 'Info' screen
  671. in the 'About Pegasus Mail' dialog it hasn't picked up any of my NDS
  672. information."
  673.  
  674.    This problem can be caused by unicode table failure - see above for
  675.    more information on this. There is also a more subtle cause for this
  676.    problem: if you are running Windows 95, it is possible for you to
  677.    select a country setting (using the "Regional Settings" control
  678.    panel) for which Novell have not provided Locale support. An example
  679.    of this is New Zealand, which Microsoft supports as a separate
  680.    country, but which Novell seems to regard as part of Australia.
  681.    Unfortunately, the ONLY known solution for this at this stage is to
  682.    change your regional setting to one for which Novell DO offer support.
  683.  
  684.  
  685. "I've granted extended features to a user and can see the PMXF.INI file
  686. in his new mail directory, but none of the settings are being used."
  687.  
  688.    Have you edited the file manually? If so, the rights settings for the
  689.    file have probably been disturbed. Make sure that [Root] (all
  690.    logged-in users) has [RF] rights to the file - you can do this using
  691.    the command:   RIGHTS PMXF.INI RF /name=[Root]
  692.  
  693.