server-memo.net

ユーザの削除方法

   

linuxでのユーザ削除方法です。
「userdel」コマンドを使用する方法と、手動で削除する方法について説明しています。

usrdelコマンドを使用する方法

「userdel」コマンドを使用するとでユーザのアカウントを削除することが出来ます。

書式

「userdel」コマンドは非常にシンプルなコマンドで、「-r」オプションを「使用する」「使用しない」の2通りしかありません。

userdel [-r] ユーザ名

-r オプション

-r を使用しない場合

アカウントの情報だけが削除され、ホームディレクトリやメールスプールは削除されません。

-r オプションを使用する場合

アカウント情報を削除する際にユーザのホームディレクトリとメールスプールもあわせて削除することが出来ます。

ただし、それ以外のディレクトリやファイルは削除されませんので、必要であればfindコマンドなどで探して別途削除するなり、所有者を変更するなりしてください。

検索例

ユーザのuidからfindコマンドを使用して、削除対象ユーザが所有者であるファイルやディレクトリを検索する例です。

# find / -uid ユーザid -print0 | xargs -0 ls -l | grep -v /home/ユーザ名 | grep -v /var/spool/mail/ユーザ名

ホームディレクトリやメールスプールは「grep -v」で表示結果から除外しています。

「-r」オプションを使用する場合は十分に注意をしましょう!!

「-r」オプションを使用する場合は十分に注意して作業を行ってください。
誤ってデータを削除してしまうと取り返しがつきませんので…

私がユーザを削除する場合は「-r」オプションは使用せずに、「/home」ディレクトリ内に「/home/deluser」といったディレクトリを作成し、そこに一時的に削除対象ユーザのデータを退避しておいて、ある程度時期が経過したあとに問題がなければ削除するというようにしています。

こうすることで、削除するユーザを間違った場合などや、やっぱりアカウントをもとに戻してほしいという要望があった際にも、データを復元できるようにしています。
(消去したデータは戻ってこないので、念には念を入れて作業を行いましょう)

手動で削除

ユーザのアカウント情報は下記のファイルに設定されているので、「vipw」や「vigr」コマンドでファイルを編集しユーザの情報を削除することで、アカウント情報を削除することもできます。

  • /etc/passwd 「vipw」 コマンドで編集
  • /etc/shadow 「vipw -s」 コマンドで編集
  • /etc/gropu 「vigr」 コマンドで編集
  • /etc/gshadow 「vigr -s」 コマンドで編集

それぞれのコマンドを実行すると、編集画面が表示されるので「vi」と同様の操作でファイルを編集することが出来ます。

ホームディレクトリやメールスプール等は削除されませんので、必要であれば手動で削除等を行ってください。

 - システム設定