Puppet - ログインしているユーザーを削除しますか?

Puppet - ログインしているユーザーを削除しますか?

私は Puppet を学び始めたばかりですが、問題に遭遇しました。解決方法を知っている人がいたら教えてください。ユーザーを削除しようとすると、ログインしているため削除できないというエラー メッセージが表示されます。

この場合、ユーザーがログインしているサーバーがわかっているので、ユーザーをログアウトさせてそこから先に進むことができます。しかし、ユーザーがログインしているサーバーがわからない場合はどうすればいいかという質問です。サーバーが複数ある可能性もあることを念頭に置いてください。

Puppet で強制削除オプションまたはユーザーをログアウトする方法はありますか?

以下のコード:

user {'art':

ensure => absent,

}

エラー:

エラー: ユーザー art を削除できませんでした: '/usr/sbin/userdel art' の実行で 8 が返されました: userdel: ユーザー art は現在ログインしています

エラー: /Stage[main]/Main/Node[demo]/User[art]/ensure: 存在から不在への変更に失敗しました: ユーザー art を削除できませんでした: '/usr/sbin/userdel art' の実行で 8 が返されました: userdel: ユーザー art は現在ログインしています

答え1

ユーザーが所有するすべてのプロセスを強制終了する exec リソースを作成できます。

次のようになります:

   exec {'kill-art':
     command => 'pkill -u art',
     onlyif  => 'pgrep -u art',
   }

   user {'art':
     ensure  => absent,
     require => Exec['kill-art'],
   }

関連情報