@JunDevTest
Контакты: thejundev@gmail.com | @juniordev

Как откатить права на файлы на час назад в Ubuntu?

Ребят, выручайте. Имею панель VestaCP, еще 15 минут назад всё работало отлично. Потом перезапустил nginx и получил ошибку "500" на одном из хостов, мне сказали что дело в правах на файлы. Дело в том, что файлы я закидывал через wget под своим юзером и потом поменял на права и владельца, которые vesta ставит по дефолту. Это к сожалению не помогло. После этого я решил выставить права 777 на ВСЮ систему, то есть chmod -R 777 / но не дождавшись результата, отменил часть операции.

Потом применил права 777 к папкам /home и /etc, после чего перестала работать команда sudo. Я понял что сотворил великую х*ню и решил исправить положение командой chmod -R 755 /. Sudo заработала, я перезагрузился...

Как итог, Vesta пишет "Internal vesta error", все хосты упали с ошибкой "500", при попытке подключения к SSH пишет ошибку "Server unexpectedly closed network connection".
Но другая панель работает нормально, есть шелл и рут доступ.
Как можно откатить систему на 15 минут назад? Возможно как-то можно отменить chmod или как-то ещё это решить?
  • Вопрос задан
  • 844 просмотра
Решения вопроса 1
@JunDevTest Автор вопроса
Контакты: thejundev@gmail.com | @juniordev
Вопрос не актуален.
Решение в моём случае ( может подойти и в вашем ):

Восстановление работы Vesta:
/usr/local/vesta/upd/add_sudo.sh && chmod 0440 /etc/sudoers && chown root:root /etc/sudoers
 && chmod 0440 /etc/sudoers.d/admin && chown root:root /etc/sudoers.d/admin && chown root:root /usr/bin/sudo
 && chmod 4755 /usr/bin/sudo

Восстановление работы SSH сервера:
cd /etc/ssh && chmod 400 *
И так по аналогии, что-то работало, теперь не работет или работает некорректно? Попробуйте поменять права на файлы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
Есть подозрение, что "откатить права в системе на "15 минут назад" - никак, если до этого не был сделан снапшот системы или что-то в таком духе... но, решение, относительно не сложное есть.

1. Берёте такую же точно систему (аналогичный сервер например)
2. Пишите скрипт, который будет перебирать всю файловую систему и записывать в текстовый файл, в строчку: путь до файла (каталога) + права на него
3. Закидываете на сервер готовый файл с получившимся результатом и запускаете обратную операцию, аналогичным скриптом (установка прав в соотв. с указанным путём)

Либо, берёте аналогичный работающий сервер и перекидываете все данные туда...

P.S. Возможно, есть более красивые решения, или даже какие-то системные скрипты (готовые), которые установят нужные права правильно, но, "по быстрому" мне в голову приходит решение которое я озвучил выше.
Ответ написан
customtema
@customtema
arint.ru
Потом перезапустил nginx и получил ошибку "500" на одном из хостов, мне сказали что дело в правах на файлы.


Жесть. А зачем лезть туда, в чем вот настолько прям не разбираешься?

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

Когда появится время, почитайте Ubuntu Server Guide какой-нибудь, что-ли.

P.S. Реально ничего сложного нет, но разобраться надо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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