Top

A Linux User Reference

Search tips
  • search ignores words that are less than 4 characters in length
  • searches are case insensitve
  • if a search does not return anything try it in Boolean mode then Query expansion mode by checking the appropriate radio button e.g. searching for 'cron' in just the Administration category returns nothing - presumably because the 50% threshold is reached. Boolean mode ignores this threshold so a search for 'cron' returns several hits
  • in Boolean mode preceding a word with a '+' means the result must include that word, a '-' means it must not
  • in Boolean mode '+crontab -anacron' means match articles about crontab that DO NOT mention anacron
  • to match a phrase e.g. 'manage system' check the Boolean mode radio button and enclose the phrase in quotes "some phrase ..."
  • in Query expansion mode the search context is expanded beyond the keywords you entered - relevancy of hits may well be degraded

MAIL

Mailing lists

  • GNU Mailman
    • is free software for managing electronic mail discussion and e-newsletter lists
    • it is integrated with the web allowing users to manage their accounts and for list owners to administer their lists
    • it supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters and more
    • Mailman is written in the Python programming language, with a little bit of C code for security

    GNU Mailman documentation

    These notes were written in 2009.

    Mailman directory tree - /etc/mailman

    |-- /etc/mailman/apache.conf
    |-- /etc/mailman/en/
    |-- /etc/mailman/en/admindbdetails.php
    .....
    |-- /etc/mailman/leftover
    |-- /etc/mailman/mm_cfg.py
    |-- /etc/mailman/postfix-to-mailman.py* 
    `-- /etc/mailman/qmail-to-mailman.py*
    
  • Mailman
    add group account

    These notes were written in 2009.

    % groupadd mailman
    % useradd -c "GNU mailman" -s /no/shell -d /no/home -g mailman mailman
    % cd /usr/local/mailman
    % chgrp mailman .
    % chmod a+rx,g+ws .
    
  • Mailman
    create a site list

    These notes were written in 2009.

    Mailman must have a site list, it will not start without one

    Create site list

    # newlist mailman
    Enter the e-mail of the person running the list: admin@my-local-lan.com
    Initial mailman password:
    
  • Mailman
    configure /etc/aliases

    These notes were written in 2009.

    /etc/aliases mailman entries

    # mailman mailing list
    mailman:              "|/var/lib/mailman/mail/mailman post mailman"
    mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
    mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
    mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
    mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
    mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
    mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
    mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
    mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
    mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"
    

    If not '/etc/aliases' then which aver file on your system acts as its equivalent.

    Run 'newaliases' after any change to /etc/aliases

    # newaliases
    
  • Mailman
    'withlist' an interactive shell-like interface

    Do all manner of programmatic changes to mailing lists or look at and interactively inspect almost any aspect of Mailman.

    Using witlist

    % cd /home/mailman
    % python -i bin/withlist mylist
    Loading list: mylist (unlocked)
    >>>
    
  • Mailman
    run cron scripts manually
    % cd /home/mailman
    % python -S cron/<cron script>
    
  • Mailman
    some commands

    These notes were written in 2009.

    Run command in mailman's bin directory - '/usr/local/mailman/bin'

    add_members         Mass add members to a mailing list. Input files are plain 
                        text, with one address per line.
    change_pw           Change the password for a specific mailing list.
    check_db            Check the integrity of a list's config.pck and 
                        config.pck.last database files.
    check_perms         Check and optionally fix, the permissions of the various 
                        files in a Mailman installation.
    cleanarch           Check a .mbox file for unescaped From_ lines in the message
                        bodies prior to input to arch.
    clone_member        Someone is changing email addresses and wants to keep all
                        their old configuration options
    config_list         View and modify a list's configuration variables from the 
                        command line.
    discard             Discard held messages for a list or lists.
    dumpdb              Dumps to plain text any .db  file. Print out  contents of 
                        a pickled message file .pck
    find_member         Search all the lists, or some subset of lists, for an 
                        address matching a regex.
    genaliases          Regenerate the plain text and db alias files for Postfix
    inject              Inject a message into a Mailman queue.
    list_admins         List all the owners of a mailing list.
    list_lists          List all, or some subset of, the mailing lists in the system.
    list_members        List the members of a mailing list.
    list_owners         Variant of list_admins that can also list moderators and can
                        select a subset of lists.
    mailmanctl          Main qrunner control script. Use this to start, stop and
                        restart the qrunner.
    mmsitepass          Set the site password
    newlist             Create new mailing list.
    qrunner             Run a single qrunner once (for debugging).
    remove_members      Remove members from a mailing list.
    rmlist              Remove a mailing list. A list's archives are not removed
                        unless the --archives option is given.
    show_qfiles         Display the message contained in one or more Mailman queue 
                        entry files.
    sync_members        Combines the functionality of add_members and remove_members.
    unshunt             Reprocess shunted messages after fixing the underlying 
                        problem that caused the shunting.
    
  • Majordomo

    There is a version 2 in alpha release - follow this link for up to-date info, documentation.

    A mailing list manager (MLM) - main file:

    File Description
    /etc/majordomo.cf Configuration file
    /usr/local/Majordomo/create Command to create a list name
    /usr/local/Majordomo/Archive Directory of list server configuration files
    /usr/local/Majordomo/<list server name> Files contains config info for the specific mailing list group

    Majordomo password types:

    Administrative password

    Required to change characteristics of an entire group

    User password

    Required to change user's preferences

    Set up an alias for Majordomo administrator - /etc/aliases

    majordomo-owner: <majordomo admin account name>        # username of administrator
    owner-majordomo: <majordomo admin account name>
    majordomo:  "| /usr/local/majordomo<version>/wrapper majordomo"
    

    For sendmail - /etc/mail/sendmail.cf

    OA/usr/local/majordomo<version>/majordomo.aliases
    Tmajordomo
    

    If sendmail is using 'smrsh' environment

    # ln -s /usr/local/majordomo-<version>/wrapper /etc/smrsh/wrapper
    
  • Majordomo
    create, modify a mailing list

    Manually create a new list

    # touch /usr/local/majordomo-<version>/lists/new-list
    

    Add aliases for 'new-list' - /etc/aliases

    owner-newlist:     <domo admin account name>             # Name of who will manage list
    
    new-list-request:  "|/usr/local/majordomo-<version>/wrapper request-answer newlist"
    new-list-approval: <domo admin account name>
    

    Create a new list using 'create', no need for previous two actions

    # create new-list <administrator's password>
    

    Customise the list - /usr/local/majordomo-<version>/lists/new-list.config

    enable/disable moderation
    require user passwds
    set administrator passwd
    enable/disable
    message digesting
    

    Enable moderation - /usr/local/majordomo-<version>>/lists/new-list.config

    moderate = yes
    
  • Majordomo
    some commands
    newconfig new-list-digest <password>       Create a digest once moderation has been enabled
    subscribe new-list-digest                  Issued by end-user in body of e-mail
    unsubscribe new-list                       Issued by end-user in body of e-mail
    which <username>                           Lists mailing lists <username> is subscribed to
    who <list name>                            Lists subscribers of <list name>
    info <list name>                           Provide info on <list name>
    lists                                      Lists all lists on server
    
  • EZMLM (dated)

    This stuff seems well dated now - should use their docs etc. at ezmlm-idx Home

    First steps

    • Qmail MTA has to be installed
    • Create a user 'eztest' for testing (If you use another name, add the switch -u to the ezmlm-test command.)
    • Unpack the ezmlm-0.53 distribution
    • Unpack the ezmlm-idx distribution (The most recent version of ezmlm-idx is 7.1.1)
    • Move the ezmlm-idx files to the ezmlm-0.53 directory
    • Edit 'conf-bin' and 'conf-man' to reflect the target directories

    Build and install

    % cd ezmlm-0.53
    % patch < idx.patch
    % make; make man
    % su
    # su eztest
    % ./ezmlm-test
    % exit
    # make setup
    # exit
    

    Make a list and digest list

    % ezmlm-make -rdugm -5 <user-name>@host ~/list ~/.qmail-list <user-name>-list host
    % ezmlm-sub ~/list <user-name>@host
    % ezmlm-sub ~/list digest <user-name>@host
    % ezmlm-sub ~/list mod <user-name>@host
    
    /* Where:
     * host      - the name of the system the list is on.
     * user-name - the owner, remote administrator and subscriber of both list@host and the accompanying digest.
     * list      - list-digest@host
     */
    

    Only subscribers are allowed to access the archive and to post.

  • EZMLM
    using lists (dated)
    Post to the list

    mail to 'list@host'

    User subscribe, unsubscribe

    mail to 'list-digest-subscribe@host'

    mail to 'list-subscribe@host'

    mail to 'list-digest-unsubscribe@host'

    mail to 'list-unsubscribe@host'

    Getting help

    mail to 'list-help@host'

    mail to 'list-info@host' (Provide - list owner defined - information on list)

    Get a mailing list

    mail to 'list-get@host'

    mail to 'list-get.45-49@host' (Get messages 45-49 from list archive)

    Am I (my address) subscribed to list?

    mail to 'list-query@host'

  • EZMLM
    some commands (dated)

    Modifying an existing list - ezmlm-make

    ezmlm-make
    ezmlm-make -+ [changed_switches] dir
    
    Some changed_switches:
     -d                    Create a digest list
     -s                    Allow subscriptions
     -r                    Allow remote admin
     -m                    Enable moderation
    

    'ezmlm-make' stores configuration info in 'dir/config' and uses that info as the default when the '-+' switch is used.

    Files ezmlmrc or .ezmlmrc can contain default switches used by 'ezmlm-make'. This allows the creation of standard lists.

    Some other commands

    ezmlm-clean
    ezmlm-get
    ezmlm-manage
    ezmlm-moderate
    ezmlm-send
    ezmlm-store
    ezmlm-sub
    ezmlm-unsub
    ezmlm