Userdel returned error code 8

Удалить пользователя показывает код ошибки (Ubuntu 17.10) Когда я пытаюсь удалить пользователя с помощью этот код sudo deluser username, чем это

Содержание

  1. Удалить пользователя показывает код ошибки (Ubuntu 17.10) [duplicate]
  2. 3 ответа
  3. Как удалить пользователя в Linux (и удалить все его «хвосты»)
  4. Учётные записи пользователей в Linux
  5. Наш сценарий
  6. Проверка входа
  7. Просмотр процессов пользователя
  8. Блокировка учётной записи
  9. Остановка процессов пользователя
  10. Архивирование домашнего каталога пользователя
  11. Удаление заданий cron
  12. Удаление заданий на печать
  13. Удаление учётной записи пользователя
  14. невозможно удалить пользователя
  15. 4 ответа

Удалить пользователя показывает код ошибки (Ubuntu 17.10) [duplicate]

Когда я пытаюсь удалить пользователя с помощью этот код sudo deluser username, чем это сообщение, появляется

Warning: group `username’ has no more members. userdel: user username is currently used by process 14804 /usr/sbin/deluser: `/usr/sbin/userdel username’ returned error code 8 Exiting.

, поэтому, что я могу сделать для этого?

3 ответа

Процесс с PID 14804 работает как пользователь username. Этот процесс должен завершиться, прежде чем вы сможете удалить пользователя. Вы можете использовать

, чтобы узнать, что это за процесс, и

, чтобы убить его, если вы уверены, что вам это больше не нужно, и нет лучшего способа

В «Предупреждении» говорится, что существует группа с именем username, членом которой является username пользователя. Вероятно, вы тоже захотите удалить его:

Процесс с PID 14804 работает как пользователь username. Этот процесс должен завершиться, прежде чем вы сможете удалить пользователя. Вы можете использовать

ps -o pid,args -p 14804

, чтобы узнать, что это за процесс, и

sudo kill -9 14804

, чтобы убить его, если вы уверены, что вам это больше не нужно, и нет лучшего способа

В «Предупреждении» говорится, что существует группа с именем username, членом которой является username пользователя. Вероятно, вы тоже захотите удалить его:

sudo delgroup username

Процесс с PID 14804 работает как пользователь username. Этот процесс должен завершиться, прежде чем вы сможете удалить пользователя. Вы можете использовать

ps -o pid,args -p 14804

, чтобы узнать, что это за процесс, и

sudo kill -9 14804

, чтобы убить его, если вы уверены, что вам это больше не нужно, и нет лучшего способа

В «Предупреждении» говорится, что существует группа с именем username, членом которой является username пользователя. Вероятно, вы тоже захотите удалить его:

Источник

Как удалить пользователя в Linux (и удалить все его «хвосты»)

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

Если вы просто хотите удалить учётную запись пользователя из своей системы и не беспокоитесь о завершении каких-либо запущенных процессов и других задачах очистки, выполните действия, описанные в разделе «Удаление учётной записи пользователя» ниже. Вам понадобится команда userdel (у этой команды есть альтернатива deluser). Команду userdel необходимо запускать в Linux от имени пользователя root.

Учётные записи пользователей в Linux

С тех пор как в начале 1960-х годов появились первые системы разделения времени, которые дали возможность нескольким пользователям работать на одном компьютере, возникла необходимость изолировать и отделить файлы и данные каждого пользователя от всех остальных пользователей. Так родились учётные записи пользователей и пароли.

Учётные записи пользователей связаны с работой системного администратора. Их нужно создавать, когда пользователю впервые нужен доступ к компьютеру. Их необходимо удалить, когда этот доступ больше не требуется. В Linux существует последовательность шагов, которые необходимо выполнить, чтобы правильно и методично удалить пользователя, его файлы и его учётную запись с компьютера.

Если вы системный администратор, то ответственность ложится на вас. Эта статья расскажет, как это сделать.

Наш сценарий

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

Худший сценарий — это когда учётная запись используется для несанкционированной деятельности. Такие события обычно происходят внезапно, без особого предупреждения. Это даёт системному администратору очень мало времени на планирование и срочную необходимость заблокировать, закрыть и удалить учётную запись оставив резервную копию файлов пользователя на случай, если они понадобятся для любой последующей криминалистической экспертизы.

В нашем сценарии мы предположим, что пользователь Эрик, сделал что-то, что требует его немедленного удаления из помещения. При этом в данный момент он выполнил вход в Linux и всё ещё работает.

Проверка входа

Давайте посмотрим, действительно ли он вошёл в систему, и если он есть в ней, то с каким количеством сессий он работает. Команда who выведет список активных сеансов.

Эрик авторизован. Посмотрим, какие процессы он запускает.

Просмотр процессов пользователя

Мы можем использовать команду ps для вывода списка процессов, запущенных этим пользователем. Параметр -u (пользователь) позволяет нам указать ps ограничить его вывод процессами, выполняемыми под владельцем этой учётной записи.

Мы можем увидеть те же процессы с дополнительной информацией, используя команду top. top также имеет опцию -U (пользователь), чтобы ограничить вывод процессами, принадлежащими одному пользователю. Обратите внимание, что на этот раз это заглавная буква «U».

Мы можем видеть использование памяти и ЦП каждой задачей и можем быстро найти что-либо с подозрительной активностью. Мы собираемся принудительно завершить все его процессы, поэтому безопаснее всего воспользоваться моментом, чтобы быстро просмотреть процессы, а также проверить и убедиться, что другие пользователи не будут испытывать неудобств, если вы завершите процессы учётной записи пользователя eric.

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

Блокировка учётной записи

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

Зашифрованные пароли пользователей хранятся в файле /etc/shadow. Обычно вы не беспокоитесь о следующих шагах, но чтобы вы могли видеть, что происходит в файле /etc/shadow, когда вы блокируете учётную запись, мы чуть отклонимся от темы. Мы можем использовать следующую команду, чтобы просмотреть первые два поля записи для учётной записи пользователя eric.

Команда awk анализирует поля из текстовых файлов и при необходимости манипулирует ими. Мы используем параметр -F (разделитель полей), чтобы указать awk, что файл использует двоеточие «:» для разделения полей. Мы будем искать строку включающей «eric». Для сопоставления строк мы напечатаем первое и второе поля. Это имя учётной записи и зашифрованный пароль (точнее говоря, это хеш пароля).

Для нас напечатана запись для учётной записи пользователя eric.

Чтобы заблокировать учётную запись, мы используем команду passwd. Мы воспользуемся параметром -l (блокировка) и передадим имя учётной записи пользователя для блокировки.

Если мы ещё раз проверим файл /etc/shadow, мы увидим, что произошло.

В начале зашифрованного пароля добавлен восклицательный знак. Он не перезаписывает первый символ, он просто добавляется в начало пароля. Это всё, что нужно, чтобы пользователь не мог войти в эту учётную запись.

Теперь, когда мы предотвратили повторный вход пользователя в систему, мы можем убить его процессы и выйти из системы.

Остановка процессов пользователя

Есть разные способы убить процессы пользователя, но показанная здесь команда широко доступна и является более современной реализацией, чем некоторые из альтернатив. Команда pkill найдёт и завершит процессы. Мы передаём сигнал KILL и используем параметр -u (пользователь).

Команда ничего не вывела. Чтобы убедиться, что что-то произошло, давайте ещё раз проверим командой who:

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

Архивирование домашнего каталога пользователя

Не исключено, что в подобном сценарии в будущем потребуется доступ к файлам пользователя. Либо в рамках расследования, либо просто потому, что их замене, возможно, придётся обратиться к работе их предшественника. Мы будем использовать команду tar для архивации всего домашнего каталога.

Мы используем следующие опции:

  • c: создать архивный файл.
  • f: использовать указанное имя файла в качестве имени архива.
  • j: использовать сжатие bzip2.
  • v: Предоставлять подробный вывод при создании архива.

Большая часть вывода на экран будет прокручиваться в окне терминала. Чтобы проверить, создан ли архив, используйте команду ls. Мы используем параметры -l (длинный формат) и -h (удобочитаемый).

Создан файл размером 722 МБ. Его можно скопировать в безопасное место для последующего просмотра.

Удаление заданий cron

Нам лучше проверить, не запланированы ли какие-либо задания cron для учётной записи пользователя eric. Задание cron — это команда, которая запускается через определённое время или через определённые промежутки времени. Мы можем проверить, есть ли какие-либо задания cron для этой учётной записи пользователя, используя ls:

Обратите внимание, что задания cron в Debian и производных дистрибутивах помещены в папку вида «/var/spool/cron/crontabs/ПОЛЬЗОВАТЕЛЬ». В Arch Linux и производных дистрибутивах эти задания помещены в папку вида «/var/spool/cron/ПОЛЬЗОВАТЕЛЬ».

Если что-то существует в этом месте, это означает, что для этой учётной записи пользователя поставлены в очередь задания cron. Мы можем удалить их с помощью этой команды crontab. Параметр -r (удалить) удаляет задания, а параметр -u (пользователь) сообщает crontab, чьи задания следует удалить.

Задания автоматически удаляются. Насколько нам известно, если бы Эрик подозревал, что его собираются выселить, он мог бы добавить в расписание злонамеренную задачу. Не стоит пренебрегать этим шагом.

Удаление заданий на печать

Возможно, у пользователя были отложенные задания на печать? На всякий случай мы можем очистить очередь печати от любых заданий, принадлежащих учётной записи пользователя eric. Команда lprm удаляет задания из очереди печати. Параметр -U (имя пользователя) позволяет удалять задания, принадлежащие указанной учётной записи пользователя:

Задания будут удалены, и вы вернётесь в командную строку.

Удаление учётной записи пользователя

Мы уже создали резервные копии файлов из каталога /home/eric/, поэтому мы можем продолжить и одновременно удалить учётную запись пользователя и каталог /home/eric/.

Имеется две разных команды с одинаковыми функциями: userdel и deluser. Проверьте, какая из них присутствует в вашей системе. На проверенных мной дистрибутивах всегда присутствовала userdel, поэтому я покажу на её примере, как на более универсальной утилите.

Поскольку мы также хотим, чтобы их домашний каталог был удалён, мы используем флаг —remove:

Можно добавить опцию -f для принудительного удаления файлов, даже если они не принадлежат указанному пользователю:

Все следы учётной записи пользователя eric были стёрты. Мы можем проверить, что каталог /home/eric/ был удалён:

Группа eric также была удалена, поскольку учётная запись пользователя eric была единственной записью в ней. Мы можем довольно легко это проверить, передав содержимое /etc/group через grep:

Чтобы найти все файлы пользователя eric, выполните команду:

Вы можете найти файлы пользователя eric и поменять разрешения на них следующим образом:

Источник

невозможно удалить пользователя

Я пытался удалить пользователя:

Это только показывает, что я вошел. Мне действительно нужно удалить этого пользователя, но я не У меня есть пароль, но у меня есть пароль sudo. Как я могу удалить это?

4 ответа

Если вы не можете удалить пользователя, потому что какой-то процесс все еще выполняется, принадлежите ему.

Firt вы можете перечислить его процесс с помощью:

Если это так, вы можете убить весь его процесс с помощью

Затем выполните deluser снова

На странице руководства deluser написано, что код ошибки 8 указывает на то, что perl-paquet «perl-modules» не установлен, возможно, вы можете проверить это .

В любом случае, если вы хотите принудительно удалить, вы можете использовать deluser с опцией -f

, но делать это только в том случае, если вы не найдете другого пути, это может привести к нестабильности . Смотрите man страница для получения дополнительной информации

Я столкнулся с той же проблемой, когда пытался удалить пользователя, который вошел в систему в первый раз, когда я пытался удалить его. Для меня решение проблемы состояло в том, чтобы подождать несколько секунд:

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

, но снова появился

. На этот раз с каким-то идентификатором процесса, который в данный момент отправляется в очередь для использования «username2delete».

Я проверил, какие пользователи вошли в систему, и в «user2stay» вошел только один пользователь.

Затем я прочитал ваши посты и через 2 минуты снова попробовал ту же команду, что и раньше:

На этот раз она работала без проблем. Не было необходимости ни в перезагрузке, ни в принудительном использовании deluser . Может быть, это поможет вам.

Источник

невозможно удалить пользователя

Я пытался удалить пользователя:

# deluser someuser
Removing user `someuser' ...
Warning: group `someuser' has no more members.
userdel: user someuser is currently logged in
/usr/sbin/deluser: `/usr/sbin/userdel someuser' returned error code 8. Exiting.

Я побежал, кто

# who
myuser pts/0        2013-12-19 23:00 ...

Это только показывает, что я вошел. Мне действительно нужно удалить этого пользователя, но я не У меня есть пароль, но у меня есть пароль sudo. Как я могу удалить это?

задан
20 December 2013 в 08:09

поделиться

4 ответа

Если вы не можете удалить пользователя, потому что какой-то процесс все еще выполняется, принадлежите ему.

Firt вы можете перечислить его процесс с помощью:

ps -aux | grep someuser

Если это так, вы можете убить весь его процесс с помощью

sudo pkill -u someuser

Затем выполните deluser снова

deluser someuser

или

sudo deluser someuser

ответ дан jmarina
20 December 2013 в 08:09

поделиться

На странице руководства deluser написано, что код ошибки 8 указывает на то, что perl-paquet «perl-modules» не установлен, возможно, вы можете проверить это …

В любом случае, если вы хотите принудительно удалить, вы можете использовать deluser с опцией -f

deluser -f

, но делать это только в том случае, если вы не найдете другого пути, это может привести к нестабильности … Смотрите man страница для получения дополнительной информации

ответ дан Gwaka
20 December 2013 в 08:09

поделиться

Я столкнулся с той же проблемой, когда пытался удалить пользователя, который вошел в систему в первый раз, когда я пытался удалить его. Для меня решение проблемы состояло в том, чтобы подождать несколько секунд:

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

sudo deluser -remove-home <username2delete>

, но снова появился

/usr/sbin/deluser: `/usr/sbin/userdel <username2delete>' returned error code 8. Exiting.

. На этот раз с каким-то идентификатором процесса, который в данный момент отправляется в очередь для использования «username2delete».

Я проверил, какие пользователи вошли в систему, и в «user2stay» вошел только один пользователь.

Затем я прочитал ваши посты и через 2 минуты снова попробовал ту же команду, что и раньше:

sudo deluser -remove-home <username2delete>

На этот раз она работала без проблем. Не было необходимости ни в перезагрузке, ни в принудительном использовании deluser. Может быть, это поможет вам.

ответ дан whtyger
20 December 2013 в 08:09

поделиться

Я встретился с той же проблемой при попытке удалить пользователя, который был соединен через ssh сессию. Решение было, сначала создайте нового пользователя и добавьте его к желаемым группам (т.е. sudo в случае, если у Вас только есть одна учетная запись). Затем выйдите из системы как текущий пользователь, которого Вы хотите удалить, ssh снова с новым пользователем и удалить старую учетную запись. Конечно, если у Вас будут другие сервисы, все еще работающие при старом пользователе, то необходимо будет закрыть их также.

ответ дан Henry Graterol
2 December 2019 в 01:38

поделиться

Другие вопросы по тегам:

Похожие вопросы:

Version-Release number of selected component (if applicable):
RHEL-7.0-20140109.n.0

Steps to Reproduce: 
Add a user account you won't mind deleting


 1. Go to User Accounts (Settings)
 2. Unlock settings
 3. Click on the account you'd like to delete
 4. Click on the - sign below.
 5. Click 'Keep files'



Actual results: 
dialog window pops-up: running '/usr/sbin/userdel' failed: Child process exited with code 8

Expected results:
The account should be removed and his home directory shouldn't be deleted


Comment 1


Martin



2014-01-10 14:16:35 UTC

When I choose "delete files" instead, I don't get any error.


Comment 2


Matthias Clasen



2014-01-10 17:20:35 UTC

Exit code 8 means: user is still logged in. We could certainly provide a better error message here. If you choose 'delete', we pass -f to userdel, so it goes ahead even though the user is still logged in.


Comment 4


Martin



2014-01-13 14:30:49 UTC

(In reply to Matthias Clasen from comment #2)
> Exit code 8 means: user is still logged in. We could certainly provide a
> better error message here. If you choose 'delete', we pass -f to userdel, so
> it goes ahead even though the user is still logged in.

The only problem is that user was not logged in, when I tested this.


Comment 6


Michael Boisvert



2014-01-28 20:22:59 UTC

Using the reproducer in the description, I was able to delete a user and keep their files without an error message. The home folder also remained on the system correctly.

Verified.


Comment 7


Michael Boisvert



2014-01-31 15:04:56 UTC

I should clarify that with a user logged into the machine via SSH, the error message when trying to delete the user has been appropriately changed. Still verified.


Comment 8


Ludek Smid



2014-06-13 09:19:48 UTC

This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

Понравилась статья? Поделить с друзьями:
  • User32 dll ошибка windows 7
  • User validation error как переводится
  • User validation error street registered field is required перевод
  • User validation error credit7
  • User status may not be up to date как исправить