Невозможно удалить пользователя: “пользователь в настоящее время вошел в систему”

Вопрос или проблема

При попытке удалить пользователя появляется сообщение “пользователь в настоящее время вошел в систему”.
Я уже убил пользователя, используя pkill -KILL -u usernameHere и несколько других команд, но это не помогает.

Как я могу удалить этого пользователя?

Запускаю CentOS 6.

Перейдите к пользователю su - username и выполните kill -9 -1 от имени пользователя.

Выйдите из оболочки и попробуйте снова userdel -r username.

Или вы можете проверить процессы пользователя с помощью lsof -u username и убить соответствующие PID.

Или pkill -u username или pkill -u uid

Или ps aux | grep <username> и kill процессы, которые выполняет пользователь.

Если вышеуказанные шаги не помогают! (Предполагая, что вы используете уровень выполнения 5)

Вы можете попробовать следующее:

  1. Измените уровень выполнения на 3 (init 3)
  2. войдите под другим пользователем, отличным от удаляемого аккаунта (root/другой аккаунт)
  3. userdel -r username

Я пробую шаги, чтобы удалить user1

  1. su user1

  2. kill -9 -1

  3. su

  4. sudo deluser user1

Ответ или решение

Проблема: Невозможно удалить пользователя: "пользователь в данный момент вошёл в систему"

При попытке удалить пользователя в CentOS 6 вы столкнулись с ошибкой, сообщающей о том, что пользователь в данный момент находится в системе. Эта проблема может возникать по нескольким причинам, и существует множество методов для её решения.

Шаги по устранению проблемы

1. Прекращение всех процессов пользователя

Первый шаг заключается в завершении всех процессов, запущенных пользователем. Для этого используйте:

  • pkill:

    pkill -u username

    или

    pkill -u uid
  • lsof:
    Позволяет увидеть все открытые файлы и процессы пользователя:

    lsof -u username

    Затем, используя команды kill, завершите соответствующие процессы, указанные в выводе.

  • ps и grep:
    С помощью следующей команды вы можете найти все процессы от имени пользователя:

    ps aux | grep username

    Завершите их, использовав команду kill.

2. Принудительное завершение сеансов

Если пользователь всё ещё зарегистрирован в системе, попробуйте выполнить вход от его имени и завершить сеанс. Для этого выполните следующие команды:

su - username
kill -9 -1
exit

Это приведёт к завершению всех процессов, запущенных пользователем.

3. Изменение уровня выполнения

Если предыдущие шаги не помогли, проверьте, на каком уровне выполнения вы находитесь. Если вы работаете на уровне выполнения 5 (графический интерфейс), попробуйте перейти на уровень 3:

init 3

После этого выполните вход в систему под другой учетной записью (например, root), а затем попробуйте снова удалить пользователя:

userdel -r username

Другие варианты

Если вышеупомянутое всё ещё не помогает, можно использовать следующие альтернативные методы:

  • Перезагрузка системы в безопасном режиме или однопользовательском режиме и попытка удаления пользователя.
  • Убедитесь, что пользователь не подключён по SSH или другим удалённым протоколам.

Заключение

Удаление пользователя, который в данный момент зарегистрирован в системе, может быть затруднительным, но следуя указанным шагам, вы сможете успешно удалить пользователя. Если ни один из предложенных методов не сработал, возможно, стоит рассмотреть необходимость вручную редактировать конфигурационные файлы или обратиться в техподдержку для более детального анализа ситуации.

Оцените материал
Добавить комментарий

Капча загружается...