IT・ICT

メールアカウント作成作業を短縮!bashスクリプトによるメールアカウント一括作成

投稿日:2017年12月14日 更新日:

メールサーバー新規構築時等、メールアカウント作成作業って単純だけど手間ですよね・・

メールアカウント数が10とか20とかならまだしも1000とかあったら地獄!しかもメールアカウント作成に加え、パスワードの設定もしなければいけません。

企業や自治体のメールサーバ運用業務を実施していると、年度明けに新しいアカウントの作成がドカッと依頼され、めんどくせっと思うことがしばしばです。

 

毎回毎回作成するのも大変なので、色々しらべてbashスクリプトを作成してみました。同じ悩みをお持ちの方の解決方法になれば幸いです。

 

実施した環境

OS:Centos7(Centos6でも動作確認ずみ)

postfix Version:2.10.1

dovecot Version:2.2.10

基本的にはただのユーザ作成のスクリプトなので上記環境は関係ないですが、とりあえず記載しておきます。

 

メールアカウント作成方法

メールアカウント作成は基本的には(ヴァーチャルドメイン等を利用していない場合)はOSのユーザを作成する作業となります。

また、作成したユーザに対してパスワードを付与してあげないといけません。なので実施するコマンドは下記となります。

ユーザ作成

useradd -d /home/新ユーザ名 -s /sbin/nologin 新ユーザ名

※"-d"オプションでホームディレクトリを決め、"-s /sbin/nologin"でサーバへは
ログインできないユーザを作成しています。


作成したユーザにパスワードを付与

passwd 新ユーザ名

上記のコマンドを自動でアカウント分実行しましょうというのが下記のスクリプトになります。

 

メールアカウント作成のbashスクリプト

bashスクリプトとユーザ情報を記載した2つのファイルで実施します。

bashファイルの中身は下記となります。

”list.txt”に記載されたユーザ情報を読み込んでコマンド実行。終わったら次のユーザへという感じです。

vi mailUserAdd.sh

#!/usr/bin/bash

numline=1
cat list.txt | while read line
do
        USERNAME=`echo ${line} | awk '{print $1}'`
		PASSWORD=`echo ${line} | awk '{print $2}'`

	    useradd -d /home/${USERNAME} -s /sbin/nologin ${USERNAME}
		echo "${PASSWORD}" | passwd --stdin ${USERNAME}

		numline=$((numline + 1))
done

※初めの”/usr/bin/bash”は環境によって変わる可能性があります。サーバ上で”which bash”コマンドを実行して調べることができます。”which bash”コマンドで出力された結果にて適宜スクリプトを修正して下さい。

[root@localhost ~]# which bash
/usr/bin/bash

 

ユーザ情報を記載したファイルは以下のフォーマットで記載します。ユーザ名とパスワードを羅列していくだけです。

※ユーザ名とパスワードの間は半角スペースです。

vi list.txt

username1 pass
username2 pass
・
・
・
・
・

 

あとは実行するだけです。

# sh -x./mailUserAdd.sh

※”ーx”をつけるとスクリプトの動作を出力することができます。もしユーザ名の被りなどで失敗した場合はエラー内容を確認してみて下さい。

 

あまり頻繁に利用するものでは無いかもしれませんがユーザ作成をスクリプト化するだけで

業務を圧縮することができると思いますのでぜひお試し下さい!

 

以上、皆さんのお役にたてれば幸いです。

-IT・ICT


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ローカルユーザからドメインユーザへの移行方法(バッチ使用)

ある環境でActiveDirectory(以下AD)を導入する機会がありました。 そこで課題となったのが、ローカルユーザからドメインユーザへのデータ引き継ぎです。 たとえばデスクトップ上のファイルや、 …

Sakura Editor(サクラエディタ)の便利な使い方(新規テキスト・置換)

前回の記事ではサクラエディタのインストール方法や便利な使い方をご紹介しました。 引き続き、サクラエディタの便利な使い方を紹介していきます。 今回は新しいテキストファイルの開き方や置換方法をご紹介したい …

WindowsUpdate後にリモートデスクトップができないときの対処法

2018/05/に実施されたWindowsUpdate後にリモートデスクトップが利用できない事象が発生しているようです。 運用業務でリモデを利用している方は致命傷ですよね・・・ 私の場合はリモデできる …

サンダーバード(Thunderbird)で宛先一括入力!コピペで作業圧縮

みなさんはメーラソフトは何を利用していますか? 私は使いやすいのでサンダーバード(Thunderbird)を利用しています。   サンダーバードはとても使いやすいのですが、大量にある宛先(メ …

Zabbix色々なトリガーの書き方

皆さんは運用・保守業務で監視サーバは利用していますでしょうか。 私の業務では監視サーバとしてZabbixを利用しており、ネットワーク機器、サーバ機器の監視業務を実施しています。 Zabbixは状況に応 …