Linux のユーザー一括削除をスクリプトで
入社、退社が激しい会社や学校のサーバのメンテナンスをしていると、ユーザーの一括登録や一括削除をしたい時があります。
userdel コマンド manより
名前
userdel - ユーザのアカウントと関連ファイルを削除する書式
userdel [-r] login説明
userdel コマンドは、システムアカウントファイルを修正し、ユーザ login に対応するすべてのエントリを削除する。削除されるユーザは存在していなければならない。 userdel コマンドに適用できるオプションは以下の通り。-r ユーザのホームディレクトリ中のファイルを削除する。ホームディレクトリ自体とユーザのメールスプールも消去する。ファイルシステム中のほかの場所にあるそのユーザのファイルは、手作業で探し出して削除しなければならない。
ファイル
/etc/passwd - ユーザアカウント情報
/etc/shadow - 安全なユーザアカウント情報
/etc/group - グループ情報警告
userdel は、削除されるユーザが現在ログインしている場合は、そのアカウントの削除を許可しない。削除しようとしているアカウントに属する実行中のプロセスは、すべて kill しなければならない。 NIS のクライアントからは、NIS の属性値は削除できない。削除は NIS のサーバで行わなければならない。関連項目
chfn(1), chsh(1), passwd(1), groupadd(8), groupdel(8), groupmod(8),
useradd(8), usermod(8)著者
Julianne Frances Haugh (jockgrrl@ix.netcom.com)
一括削除スクリプト
#!/bin/sh
LIST=./user.txt
while read USER
do
/usr/sbin/userdel -r {USER}
don < ${LIST}
userdel の -r オプションで、アカウントの削除と同時にホームディレクトリ中のファイルも削除しています。
vpopmailを使っている方は userdel 部分を変更すれば一括削除ができますね。