Рейтинг:1

Я случайно сделал chmod неправильно, и некоторые команды показывают отказ в доступе

флаг cl

Я хотел установить chmod 644 для некоторых файлов в моей Ubuntu, как это

судо chmod 644 ./*

но я случайно сделал

судо чмод 644 /*

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

Я новичок в Ubuntu, и я совершенно не знаю, как вернуться. введите описание изображения здесь

флаг in
Для этого нет простой отмены. Вам было бы быстрее начать заново с новой установки Ubuntu.
флаг hr
@matigo похоже, что они не сделали этого *рекурсивно* - так что, может быть, `/usr/bin/sudo chmod ...` будет достаточно, чтобы это исправить?
game lover avatar
флаг cl
@steeldriver, значит, вы имеете в виду попытку запустить /usr/bin/sudo chmod ... в моем терминале?
флаг hr
@gamelover сложная часть заключается в том, чтобы решить, что заменить `...` на - к сожалению, для этого нет общей "отмены", вам нужно посмотреть, какие правильные разрешения для каждого каталога (и файла - если они есть в `/`) должно быть
Рейтинг:3
флаг cn

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

Самый простой выход, который я могу себе представить, это:

  1. загрузите живую систему с компакт-диска или USB-накопителя
  2. смонтируйте корневую файловую систему в /mnt
  3. снова установите биты разрешения на выполнение с помощью sudo chmod a+X /mnt/*

Обратите внимание на заглавную букву X, которая гарантирует, что бит разрешения будет установлен только для каталогов.

Также обратите внимание, что в стандартной установке Ubuntu есть два каталога верхнего уровня (/потеряно+найдено и /корень), у которых нет разрешения на выполнение для всех. Вы можете исправить это позже, когда ваша система снова станет пригодной для использования.

game lover avatar
флаг cl
Хорошо, тогда я думаю, переустановить Ubuntu будет проще всего, если у меня там только небольшой проект? У меня уже есть резервная копия моих кодов и личных файлов
Tilman avatar
флаг cn
Да, это действительно может быть быстрее.
game lover avatar
флаг cl
Спасибо. Но я не уверен, что больше не повторю ту же ошибку. Можно ли как-то заблокировать chmod / ?
Tilman avatar
флаг cn
Нет. Но вы можете сделать привычкой дважды подумать, прежде чем запускать команду, начинающуюся с «sudo». Это то, что мы все делаем.
cocomac avatar
флаг cn
@gamelover Как сказал Тилман, всегда дважды проверяйте команду `sudo`. Я узнал об этом [трудным путем] (https://askubuntu.com/questions/1383168/how-to-repair-ubuntu-after-messing-up-permissions-on-critical-directories). Но теперь вы больше не совершите эту ошибку. Хорошей новостью является то, что, поскольку вы ничего не удаляли, восстановление любых файлов, которые вам нужны, должно быть простым с помощью живого USB (хотя также возьмите это как урок, чтобы регулярно делать резервные копии...)
game lover avatar
флаг cl
@cocomac и Тилман, спасибо за помощь!
vanadium avatar
флаг cn
В этом случае действительно изменения ограничиваются только каталогами в корневой папке, так что это действительно может восстановить систему. При рекурсивных изменениях, то есть при включении всех подкаталогов, потребовалась бы переустановка.

Ответить или комментировать

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