Проблема с настройкой UFW на Ubuntu

Вопрос или проблема

У меня есть инстанс, созданный в моей учетной записи AWS. Этот инстанс был создан с образом системы Ubuntu. Последовательность установки пакетов следующая: Java и MySQL. После установки MySQL я настраиваю UFW для порта 3306, чтобы связать Workbench Windows с MySQL на Ubuntu. Когда я вводлю команду “ufw enable”, UFW говорит, что SSH может быть заблокирован и спрашивает меня “да” или “нет”. После ответа “да” я теряю свою систему Ubuntu. Если я открываю другое соединение с моим IP-адресом, результат такой:

 "Команда 'lesspipe' доступна в следующих местах
 * /bin/lesspipe
 * /usr/bin/lesspipe
Команда не может быть найдена, потому что '/bin:/usr/bin' не включен в переменную окружения PATH.
lesspipe: команда не найдена
Команда 'dircolors' доступна в следующих местах
 * /bin/dircolors
 * /usr/bin/dircolors
Команда не может быть найдена, потому что '/usr/bin:/bin' не включен в переменную окружения PATH.
dircolors: команда не найдена" 

Но у меня нет доступа к какой-либо команде системы Ubuntu. У меня нет идей, как решить эту проблему. Спасибо и с наилучшими пожеланиями.

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

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

Я не уверен, как выполнение ufw могло повлиять на вашу систему, но если вы сможете зайти и выполнить /bin/ufw reset (как root), это отменит все изменения, которые вы внесли, и вернет все к настройкам по умолчанию. Однако если ваша среда не работает, это, вероятно, не поможет.

Вы говорите “я открываю другое соединение с моим IP-адресом”, но также “у меня нет доступа к какой-либо команде системы Ubuntu”. Это означает, что вы все еще можете подключиться к созданной вами ВМ, но, когда вы входите, получаете ошибку о ‘lesspipe’ и т.д.?

Если у вас есть командный промпт, когда вы вновь подключаетесь к ВМ, можете ли вы выполнить echo $PATH? echo – это встроенная команда в оболочке, поэтому для этого не требуется установка PATH.

Вот как должен выглядеть вывод (могут быть и другие директории, это просто набор по умолчанию):

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Если он ничего не печатает или печатает строку директорий, не содержащую /usr/bin и /bin, попробуйте выполнить это (первые два символа – точка и пробел) . /etc/environment. Это не должно ничего печатать, но это установит PATH в вашей оболочке обратно к системному стандарту и позволит вам запускать вещи.

Если это сработало, вы можете запустить . ~/.bashrc. Это также не будет ничего печатать, но должно правильно настроить вашу оболочку. Это не перманентно, вам нужно будет сделать это снова, если вы выйдете из оболочки и войдете снова, но это должно убрать немедленные ошибки, чтобы вы могли увидеть, что пошло не так и вызвало их.

Ответ или решение

Конечно! Чтобы решить вашу проблему с UFW на вашем сервере Ubuntu и восстановить доступ к системе, выполните следующие шаги:

  1. Подключение к вашему серверу:
    Если вы по-прежнему можете подключаться к вашему серверу по SSH, это хорошо. Если вы не можете подключиться, вы можете воспользоваться консолью управления AWS (например, через EC2).

  2. Проверка переменной PATH:
    После подключения к серверу введите следующую команду, чтобы проверить значение переменной PATH:

    echo $PATH

    Вы должны увидеть что-то подобное:

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

    Если переменная PATH пуста или не содержит /usr/bin и /bin, это объясняет ваши ошибки в оболочке.

  3. Восстановление переменной PATH:
    Чтобы временно восстановить переменную PATH, выполните следующую команду:

    . /etc/environment

    Это установит PATH в значения по умолчанию. После этого попробуйте снова ввести echo $PATH, чтобы убедиться, что переменная была установлена правильно.

  4. Восстановление конфигурации UFW:
    Если вы хотите сбросить настройки UFW, выполните команду:

    sudo ufw reset

    Это вернет UFW к его начальному состоянию. После этого вы можете снова включить UFW, добавив необходимые правила.

    Например, чтобы разрешить соединения по SSH, выполните:

    sudo ufw allow ssh

    И затем откройте порт 3306 для MySQL:

    sudo ufw allow 3306
  5. Включение UFW:
    После настройки правил включите UFW:

    sudo ufw enable

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

  6. Проверка состояния UFW:
    После выполнения всех изменений проверьте состояние UFW:

    sudo ufw status

    Вы должны увидеть список разрешенных правил.

  7. Восстановление .bashrc:
    Если вы продолжаете испытывать проблемы после выполнения указанных шагов, можно также попытаться восстановить настройки вашего .bashrc файла, если он был поврежден. Для этого выполните:

    cp ~/.bashrc ~/.bashrc.bak
    nano ~/.bashrc

    Убедитесь, что там есть строки, относящиеся к настройкам PATH, и добавьте нужные директории, если они отсутствуют. Затем примените изменения:

    . ~/.bashrc

Если вы все еще сталкиваетесь с проблемами:

Если после всех этих шагов вам все равно не удаётся получить доступ к системе, возможно, будет разумно запускать «перезагрузку» (reboot) экземпляра в AWS или восстановить его из резервной копии, если такая доступна.

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

Оцените материал
Добавить комментарий

Капча загружается...