![]() |
LINUX |
Maildirの作製
*Maildir形式でユーザ登録とディレクトリを作成します
*複数のユーザを一括して登録できるスクリプトを作ります
*perlコマンドで平文パスワードをmd5crypt暗号化します
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
Maildirディレクトリ形式*postfix、dovecot起動時にMaildirは作成されません
*新規のメッセージをpostfixが受信した時、Maildirが存在しない場合に作成されます
*新しいユーザに対して、mailコマンド等でWelcomeメッセージを送信するか、
*前もって、Maildirディレクトリを作成します
メール専用ユーザを登録します*簡単な登録用スクリプトを作ってみます
*"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
ユーザの登録*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. |

