команда источника не найдена

Вам придется вручную находить файлы, которые, вероятно, были бы выполнены deluser.

Обратите внимание, что --remove-all-files не совпадает с rm -r /home/user. Последний удаляет только homedir (который может включать файлы, не принадлежащие этому пользователю, хотя и не обычные), первый удаляет все файлы, принадлежащие этому пользователю из системы. По крайней мере, если manpage заслуживает доверия.

GNU find имеет -user тест, поэтому вы можете find / -user xxx найти все файлы, принадлежащие пользователю xxx. xxx будет именем пользователя и может (и в этом случае not должен, поскольку пользователь больше не существует), является числовым идентификатором пользователя. find также имеет параметр -delete, поэтому

find / -user xxx -delete

Должен сделать это, хотя я не тестировал команду со всеми параметрами одновременно.

EDIT: Цифровой идентификатор: причина, по которой я сказал, что вы должны использовать числовой идентификатор, заключается в том, что, поскольку вы уже удалили пользователя, его запись в /etc/passwd была удалена (у нее были, наряду с другими элементами, идентификатор пользователя, а также его имя пользователя).

Итак, если вы не удалили его homedir, одним из самых простых способов является просто запрос идентификатора владельца этого homedir:

stat -c %u /home/user/
[d11 ] (stat - это инструмент для чтения данных файловой системы. -c %u сообщает stat, как писать свой вывод, здесь я прошу просто вывести идентификатор пользователя)

Если вам нравится -liners, вы можете даже объединить обе команды:

find / -user $(stat -c %u /home/user/) -delete

(Конечно, вы можете сначала запустить его, не имея -delete, чтобы убедиться, что вы ничего не хотите сохранить, и поймать любую ошибку вы написали остальную часть команды. Ошибки при выполнении операций рекурсивного удаления на / не для слабонервных.)

1
задан 13 April 2017 в 15:24

0 ответов

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

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