Puppet - удаление пользователя, который вошел в систему?

Puppet - удаление пользователя, который вошел в систему?

Я только начал изучать Puppet и столкнулся с проблемой, и мне было интересно, знает ли кто-нибудь, как ее исправить. Я пытаюсь удалить пользователя, но получаю сообщение об ошибке, в котором говорится, что он вошел в систему, поэтому его нельзя удалить.

Теперь в этом случае я знаю, на какой сервер они вошли, поэтому я могу просто выйти из системы пользователя и продолжить работу. Однако мой вопрос заключается в том, что вы делаете, когда вы не знаете, на какие серверы они вошли? Имея в виду, что это может быть много серверов.

Есть ли возможность принудительного удаления или способ выхода пользователей из системы в Puppet?

Код ниже:

user {'art':

ensure => absent,

}

Ошибки:

Ошибка: Не удалось удалить пользовательское искусство: Выполнение '/usr/sbin/userdel art' вернуло 8: userdel: пользователь art в данный момент вошел в систему

Ошибка: /Stage[main]/Main/Node[demo]/User[art]/ensure: смена с присутствующего на отсутствующий не удалась: Не удалось удалить пользовательское искусство: Выполнение '/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'],
   }

Связанный контент