Классическая ошибка
По ошибке мы сделали sudo chown -R ubuntu:www-данные /
на сервере Ubuntu 20.04 AWS EC2. Хотя есть много сообщений, указывающих на то, что я не могу спасти машину и должен переустановить новую, я хочу сделать копию postgres, которая работает на этом сервере. В настоящее время мы не можем выполнить какую-либо команду с помощью sudo. Следовательно, мы не смогли запустить postgres или войти через phppgadmin.
Мы сделали следующее:
- Остановил экземпляр
- Отсоединил том
- Создал новый экземпляр
- Прикрепил том
- Смонтировал том
- Изменено на root в новом экземпляре
- сделал
chown -R root:root /mnt/rescue
(изменил это на корень: убунту
, убунту: убунту
, и т.д)
- сделал
чмод -R 4755 /mnt/спасение
(также сделал 0755
, уг-с
, и т.д)
- Исключенный корень
размонтировать /mnt/rescue
- Закройте спасательный экземпляр
- Отсоединить том
- Прикрепите том к поврежденной машине. Машина указывает нового владельца - но sudo не работает.
- Мы попытались создать новый экземпляр — прикрепить этот исправленный том, обновить /etc/fstab — перезагрузить экземпляр. Получили слияние тома с машиной. После перезагрузки - та же проблема - не могу sudo.
Мы, конечно, можем воссоздать машину или сделать резервную копию и восстановить. Однако некоторые критически важные данные находятся в файле postgres. Как мне sudo или получить файлы из мертвого postgres.
Мы постоянно сталкиваемся с ошибкой:
sudo: /usr/bin/sudo должен принадлежать uid 0 и иметь установленный бит setuid
однако, когда я делаю ls -l где-либо внутри /usr или /usr/bin - полное право собственности на весь файл остается за ubuntu:ubuntu или другими комбинациями, которые мы пробовали.