○ Maildirの作製

・Maildir形式でユーザ登録とディレクトリを作成します
・複数のユーザを一括して登録できるスクリプトを作ります
・perlコマンドで平文パスワードをmd5crypt暗号化します

・ソースの取得、削除は略します
・エディタ、ファイラーの操作は省略します
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます



○Maildirディレクトリ形式

・postfix、dovecot起動時にMaildirは作成されません
・新規のメッセージをpostfixが受信した時、Maildirが存在しない場合に作成されます
・新しいユーザに対して、mailコマンド等でWelcomeメッセージを送信するか、
・前もって、Maildirディレクトリを作成します

Maildir-Layout



○メール専用ユーザを登録します

・簡単な登録用スクリプトを作ってみます
・"nkf -w -Lu"オプションは UTF8に対応させるものです
nkfのインストールを参照
・"split -l" ← (小文字のエル)
・splitの--suffix-length (default 2) により出力ファイル数が限定されます
・機能しない場合、一人ずつユーザを登録してMaildirディレクトリを作成して下さい

・コンソールログインはできませんが、FTPアクセスは可能です

:/usr/local/sbin/imap-useradd (root root 700)

#!/bin/bash

TMPDIR=imtmp
mkdir $TMPDIR

nkf -w -Lu $1 | split -l 1 $1 $TMPDIR/add.

for i in $TMPDIR/*
do
    IMUSR=$(cut -d , -f 1 $i)
    USRID=$(cut -d , -f 2 $i)
    IMPWD=$(cut -d , -f 3 $i)

    SALT=$(dd if=/dev/urandom count=10 2>/dev/null | strings | \
    tr -d '\n[:punct:][:cntrl:][:blank:]' | cut -b 1-8)
    MD5CRYPT=$(perl -e "print crypt('$IMPWD','\$1\$'.'$SALT'.'\$')")

    useradd -M -u $USRID -d /home/$IMUSR -s /sbin/nologin -p $MD5CRYPT $IMUSR

    mkdir -m 700 /home/$IMUSR
    mkdir -m 700 /home/$IMUSR/Maildir
    mkdir -m 700 /home/$IMUSR/Maildir/{tmp,new,cur}
    chown -R $IMUSR:$IMUSR /home/$IMUSR
done
rm -R $TMPDIR

imap-useradd

○ユーザの登録

・rootディレクトリに mailadd.listを作り読み込みます

[root@jupiter:~]
# imap-useradd mailadd.list

:mailadd.list 例

・ユーザ名,ユーザID,パスワードの順に, (カンマ) を入れ、Enterキーで改行
・userIDは/etc/passwdファイルを参照して未使用の番号を使用します

luna,2000,xxxxxxxxxx
star,2001,yyyyyyyyyy
moon,2002,zzzzzzzzzz←改行しない

○ selinuxヘの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

[root@jupiter:~]
# restorecon -Rv /usr/local
# restorecon -RFv /home

○ Copyright(c) 528p.com All Rights Reserved.