ADMINISTERING MAJORDOMO

This document is not designed to be an introduction to the Majordomo system. For a general introduction to Majordomo and what it can do please review the Majordomo FAQ.


Overview

The majordomo server is currently titania.ckp.edu. The majordomo software is in the site collection (/usr/local/depot/site/majordomo-1.93) and is installed in /usr/local/majordomo. It stores the various log files in /var/log/majordomo/majordomo.log. There is a user "majordom" with uid 56 and a group majordom with gid 56 on the server.

The directory, /var/log/majordomo/, must be set with permission of 0775, a uid of majordom, and a gid of majordom. The file, /usr/local/wrapper, must be set with permissions of 4755 and a suid of root.

The directory, /var/maillist/, is where all of the majordomo information is kept. It must be set with permission of 0775, a uid of majordom, and a gid of majordom. Everything contained in the directories below /var/maillist it must be set with permissions of at least 0660, a usid of majordom and a gid of majordom. Anything "sensitive" should be set to a permission level of 0660, other files (such those containing subscriber addresses) must be set to a permission of 0664. If not, unprivileged programs (sendmail when delivering) will not be able to use them.

Aliases

On all machines but the Majordomo server, you must have the following aliases for each list. In this example, mserver is the name of the server, listname is the name of the list, /wrapper is the pathname to the wrapper program, (currently /usr/local/majordomo/wrapper), and owner_name is the e-mail address of the owner of the list. It does not need to have a hostname if they have a CKP account.

listname: listname@mserver.pps.pgh.pa.us
listname-request: listname-request@mserver.pps.pgh.pa.us
owner-listname: owner-listname@mserver.pps.pgh.pa.us

That is, the lists are all forwarded to the server.

On the server, you have the following aliases:

listname: |/wrapper resend -l listname -h pps.pgh.pa.us listname-outgoing
listname-outgoing: :include:/var/maillist/lists/listname
listname-request: /wrapper majordomo -l listname
listname-approval: owner-listname
owner-listname: owner_name
listname-owner: owner_name
listname-archive: /wrapper archive -m -a -f /var/maillist/archive/listname

Sending mail to listname will pipe the mail through resend which does some simple checks. Resend sends it to listname-outgoing which actually sends it to the list subscribers. Note that people could get around the checks in resend by sending directly to listname-outgoing. Nothing is 100% secure! The Majordomo FAQ has suggestions for dealing with that if it occurs, but it is more of a human/policy issue than a technical one.

You could remove listname-owner; it is redundant. I have it in there since it is no extra effort.

These aliases are automatically created by /usr/local/sbin/mkalias-list on titania.ckp.edu.

Archiving the lists

Every list has listname-archive as a member of the list. This 'fake' username will save a copy of each message by calling the program archive -f 'filename' -m. It uses the -f option to specify the base filename and -m to save the message in the format of filename.YYMM .

Adding a list or creating a new list

The automated way to add or create a list is to type: /usr/local/mail/bin/newlist listname

This is an automated script which does the following steps:

If necessary you can also do this by hand. Simply follow the above steps.

After you have added the list change these lines in listname.config:

sender = owner-listname
owner = whoever
digest_name = listname
description = The Name of This List

The next day the alias entries for each list will be automatically generated.

List Digests

While Majordomo can do digest lists, work needs to be done to test the digest feature and to make the other software support it. The CK:P has not done any work in this area so you would be on your own. If you are interested in doing this start with the Majordomo FAQ.

Removing a list

To remove a list:

  1. Telnet to titania.pps.pgh.pa.us
  2. type cd /var/maillist/lists
  3. remove the appropriate lists using sudo rm [maillist_name]. For example
    sudo rm jostens-c
    sudo rm jostens-c.config
    sudo rm jostens-c.info
    sudo rm jostens-c.passwd
  4. Type cd /www/system
  5. Edit the file alias.list.server and remove the appropriate entries
  6. You can now wait 24 hours for the changes to be commited or you can run the command /usr/local/sbin/aliasbuild -q

Customizing a list

You may make any changes to /var/maillist/lists/listname.config. This file is not generated automatically so your changes will not be overwritten.

Return to CK:P Internal Documents

 

Revision 1.2: May 7, 1996:CJR