находить файлы с несуществующими пользователями

Я сделал резервный рестарт, но теперь в разных местах я нахожу пользователей или группы, которые не существуют. они выглядят как User # 1034 group # 1010 или user # 501, и я сутулят, поэтому многие вещи не работают. Как TCP-порт 80, поэтому мой сервер больше не доступен. Как найти и исправить эти ошибки? Fsck. Я нашел find -user 1034 | больше, но это занимает слишком много просмотров. Возможно, лучшее выражение, как я использовал для разрешений

find . -user old-user -exec chown new-user:new-group {} \; or sudo find . -type f ! -user 501 -exec chown 0 {} \;

, но как я могу получить вывод для подтверждения?

Мне бы очень понравилась страница о том, как укусить эти выражения в одном месте, поскольку помощь не дает всем операторам, и мне приходится всматриваться в разные части, чтобы найти разные части для файловых манипуляций и grep-вещей

-1
задан 21 October 2017 в 19:59

2 ответа

Если я правильно понимаю, для вас может работать следующее

. Создайте командные строки с более чем одной частью -exec в соответствии со следующим примером: первая часть, показывающая target-file:, и следующие часть (ы) для выполнения действий (ы).

$ sudo find /home/sudodus/Backup/ -user sudodus -exec printf "%s:\n" {} \; -exec echo do-this {} \; -exec echo do-that {} \; [sudo] password for nio: /home/sudodus/Backup/: do-this /home/sudodus/Backup/ do-that /home/sudodus/Backup/ /home/sudodus/Backup/5: do-this /home/sudodus/Backup/5 do-that /home/sudodus/Backup/5 /home/sudodus/Backup/7: do-this /home/sudodus/Backup/7 do-that /home/sudodus/Backup/7 /home/sudodus/Backup/6: do-this /home/sudodus/Backup/6 do-that /home/sudodus/Backup/6 /home/sudodus/Backup/4: do-this /home/sudodus/Backup/4 do-that /home/sudodus/Backup/4

, где вы можете заменить /home/sudodus/Backup/ на соответствующий каталог, который вы хотите найти; -user с -nouser, -group, -nogroup; sudodus с соответствующим пользователем или группой; echo do-this и echo do-that с соответствующими командами. Таким образом, вы можете создавать командные строки, которые будут делать то, что вы хотите, и показывать, какие файлы будут затронуты.

-nouser, -nogroup не имеют параметра, команда может выглядеть так

sudo find /home -nouser -exec printf "%s:\n" {} \; -exec echo do-this {} \; -exec echo do-that {} \;

Рекомендуется начать с echo как «сухой ход», чтобы показать, что правильные вещи, вероятно, произойдут, и после этого удалите части echo команд для выполнения действие (s).

1
ответ дан 18 July 2018 в 04:53

Если я правильно понимаю, для вас может работать следующее

. Создайте командные строки с более чем одной частью -exec в соответствии со следующим примером: первая часть, показывающая target-file:, и следующие часть (ы) для выполнения действий (ы).

$ sudo find /home/sudodus/Backup/ -user sudodus -exec printf "%s:\n" {} \; -exec echo do-this {} \; -exec echo do-that {} \; [sudo] password for nio: /home/sudodus/Backup/: do-this /home/sudodus/Backup/ do-that /home/sudodus/Backup/ /home/sudodus/Backup/5: do-this /home/sudodus/Backup/5 do-that /home/sudodus/Backup/5 /home/sudodus/Backup/7: do-this /home/sudodus/Backup/7 do-that /home/sudodus/Backup/7 /home/sudodus/Backup/6: do-this /home/sudodus/Backup/6 do-that /home/sudodus/Backup/6 /home/sudodus/Backup/4: do-this /home/sudodus/Backup/4 do-that /home/sudodus/Backup/4

, где вы можете заменить /home/sudodus/Backup/ на соответствующий каталог, который вы хотите найти; -user с -nouser, -group, -nogroup; sudodus с соответствующим пользователем или группой; echo do-this и echo do-that с соответствующими командами. Таким образом, вы можете создавать командные строки, которые будут делать то, что вы хотите, и показывать, какие файлы будут затронуты.

-nouser, -nogroup не имеют параметра, команда может выглядеть так

sudo find /home -nouser -exec printf "%s:\n" {} \; -exec echo do-this {} \; -exec echo do-that {} \;

Рекомендуется начать с echo как «сухой ход», чтобы показать, что правильные вещи, вероятно, произойдут, и после этого удалите части echo команд для выполнения действие (s).

1
ответ дан 24 July 2018 в 18:11

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

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