Bricked мой сервер Ubuntu больше не может ни запускаться, ни входить в систему

310
Mkay

Я установил виртуальный хост (KVM) с Ubuntu Server 14.04.3 LTS. Сейчас я провожу последнюю неделю, настраивая apache, модули owncloud и другие вещи.

Однако все работало отлично, пока я не последовал рекомендации Owncloud https://doc.owncloud.org/server/8.0/admin_manual/installation/installation_wizard.html#setting-strong-directory-permissions

Они написали, что проще всего было бы создать свой сценарий со следующим содержанием

#!/bin/bash ocpath='/var/www/owncloud' htuser='www-data' htgroup='www-data' rootuser='root' # On QNAP this is admin  find $/ -type f -print0 | xargs -0 chmod 0640 find $/ -type d -print0 | xargs -0 chmod 0750  chown -R $:$ $/ chown -R $:$ $/apps/ chown -R $:$ $/config/ chown -R $:$ $/data/ chown -R $:$ $/themes/  chown $:$ $/.htaccess chown $:$ $/data/.htaccess  chmod 0644 $/.htaccess chmod 0644 $/data/.htaccess 

Ну, я не видел никакого критического контента, только обычные chmods для root и www-data. Поэтому я создал script.sh с указанным выше содержимым в своей папке www и запустил его с помощью sudo ./script.sh.

Так что это заняло много времени, а затем появились пропущенные ошибки привилегий во время работы скрипта (что было очень забавно, так как sudo хорошо работал с правильным паролем).

После того, как скрипт завершил выполнение своих задач, я попытался переключить per sudo su в корневой режим, и затем я увидел, что произошло: мой основной пользователь Ubuntu потерял право выполнять sudo su, и даже больше sudo было невозможно.

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

Есть идеи, что случилось? Может ли этот скрипт следовать символической ссылке на мой корневой каталог? Видите ли вы какой-либо шанс исправить мой сервер. В противном случае я теряю неделю работы :(

0
Все, что сделано в этом скрипте, похоже, заблокировано по пути $ ocpath - sudoer и системные файлы находятся в / etc. Я не вижу, как этот скрипт может обновить этот файл. У вас может быть повреждение данных? Попробуйте Ubuntu Live CD и проверьте с помощью fsck? bshea 8 лет назад 0
На первый взгляд скрипт выглядит правильно настроенным. `find` в debian не возвращает и не следует по символическим ссылкам, если не используется` -L`. Frank Thomas 8 лет назад 0
Не для того, чтобы исправить это, но 1) Сначала используйте простую распечатку, прежде чем запускать такую ​​команду. Например, `find $ / -type f -ls` 2) Я не уверен, почему они используют` find $ / -type f -print0 | xargs -0 chmod 0640`. Почему бы просто `find $ / -type f -exec hmod 0640 +` (короче и эффективнее). 3) Проверьте Ocpath. ocpath = '/ вар / WWW / OwnCloud. Убедитесь, что нет случайного места. Например, ocpath = '/ var / www / owncloud' или подобное. Hennes 8 лет назад 1
Кроме того, вам лучше использовать кавычки для переменных в сценариях оболочки. Вы можете сделать большой беспорядок, если, например (как сказал @Hennes), вы помещаете дополнительный пробел в определения переменных. Например: `chown -R $ : $ " $ / "` emi 8 лет назад 0
По предложению @bshea, если вы потеряли свой корневой доступ к Linux, загрузите его с Live System (на CD, на USB, через PXEBoot и т. Д.). Если эта система находится внутри KVM, то у вас, вероятно, есть доступ к ее виртуальному жесткому диску. Если да, то вы можете установить его и попытаться восстановить. Если вам нужно что-то установить, вы, вероятно, захотите использовать `chroot`. emi 8 лет назад 2
согласен со всем вышесказанным - chown НЕ должен был проходить * любые типы * символических ссылок в вашем скрипте. Только другое объяснение: вы либо случайно / root прошли @Hennes / emi ^, либо у вас повреждены данные. В любом случае вам потребуется либо https://help.ubuntu.com/community/LiveCdRecovery, либо, возможно, полная * переустановка * https://help.ubuntu.com/community/UbuntuReinstallation (теперь у вас есть возможность переустанавливать, а также обновлять вопреки образы) просто используйте тот же диск, который вы использовали для первоначальной установки. Много информации уже есть на эти темы .. bshea 8 лет назад 0

0 ответов на вопрос

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