Как мне изменить / сбросить права доступа ssh debian
Недавно я выполнил команду chmod -R 666 /
вместо того, чтобы поместить каталог для команды, после того, как я понял, что я сделал, я сделал CTRL + Z как можно скорее, но некоторые необходимые разрешения от пользователя root были отменены, что привело к тому, что мой VPS не работал после перезапуска.
Я размещаю свой VPS с сайта ovh.com ( https://www.ovh.com/us/g920.rescue_mode), и это должно позволить мне исправить проблемы с разрешениями, однако я понятия не имею, какие команды использовать, поскольку я не профессионал, когда дело доходит до этого.
PS: Это действительно необходимо для меня, и я не хочу сбрасывать свой VPS, потому что он имеет весь сервер TS3 и +10 веб-сайтов, базы данных.
2 ответа
I hate to be that guy but there's no real way to fix this.
You've essentially set the entire system to read/write so things that need to execute cannot be executed including the commands that let you set permissions.
Итак, чтобы это исправить - вам нужно загрузиться в рабочей среде и исправить права доступа для каждого отдельного файла. Кажется, это правильная ссылка для получения VPS.
Первый шаг, который я бы предпринял, если SSH работает, - это подключиться к серверу и загрузить все через sftp или rsync (для этого я использовал cyberduck на windows). Также упоминается опция "выполнить резервное копирование или восстановление данных", которую я бы проверил. РЕЗЕРВНОЕ КОПИРОВАНИЕ ДО ТОГО, ЧТО ВЫ ДЕЛАЕТЕ НИЧЕГО. Я также предполагаю, что существует некоторая разновидность среды восстановления, независимой от вашей сломанной системы.
Теперь я попробую исправить разрешения. Этот вопрос AU предполагает, что chmod 0755 будет работать. Попробуйте, протестируйте и создайте дамп базы данных.
Переустановите, восстановите дампы базы данных и данные и сделайте резервную копию, прежде чем делать что-либо подобное.
Говорят, что на самом деле нет правильного решения, но это практически выполнимо, учитывая условия спасения.
Как и во всех операциях восстановления, вы должны сделать все возможное, чтобы у вас была резервная копия, или сделать ее сейчас из всех данных, к которым у вас есть доступ, на случай, если вы случайно нанесете дополнительный ущерб.
Во-первых, если у вас есть недавняя резервная копия, вам лучше восстановить ее из резервной копии. Даже если вы не хотите восстанавливать файлы (возможно, некоторые из них были обновлены с тех пор), восстановление с правами доступа является выполнимым и достаточно безопасным способом - если вы не установили ничего нового или не изменили какие-либо конфигурации с тех пор, вы ' Я имею чистое восстановление + изменения данных с тех пор.
Чтобы сделать это из резервной копии, вы должны сначала восстановить резервную копию во временный каталог, а затем скопировать разрешения.
Другой вариант - настроить простую базовую систему (возможно, временно развернуть новый VPS), выполнить резервное копирование разрешений оттуда и восстановить эти разрешения на существующем сервере. Однако это, очевидно, не будет включать какие-либо изменения в пакетах, которые вы установили с тех пор, как и какие-либо изменения конфигурации, которые вы сделали. Это, вероятно, вернет вас в загрузочную систему, но вы не должны продолжать ее использовать - запланируйте полную перестройку как можно скорее.
Общий метод резервного копирования, восстановления или копирования разрешений заключается в использовании getfacl
а также setfacl
команды.
Первый, cd
в корень пораженной системы (либо /
на работающем или везде, где вы смонтировали диск в спасательной системе, или во временный каталог, из которого вы хотите скопировать разрешения), а затем:
Резервное копирование с
getfacl -R . >permissions.facl
и восстановить с
setfacl --restore=permissions.facl