○ 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を作り読み込みます

# imap-useradd mailadd.list

:mailadd.list 例

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

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

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

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

# restorecon -Rv /usr/local
# restorecon -RFv /home

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