チップス

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 部分を変更すれば一括削除ができますね。


   チップス