На этот вопрос уже есть ответ:
У меня проблема с моей Ubuntu, я установил сервер Tomcat и настроил его, но мне нужно было изменить один каталог и предоставить текущему пользователю права на чтение на это, поэтому я выполнил:
chmod -R 644 /bin
И с этого момента я продолжал получать ошибки, например, если бы я попытался сменить каталог, я бы получил вывод, что такой команды нет, поэтому я попытался снова открыть его (терминал), теперь, когда я пытаюсь снова открыть терминал, он автоматически закрывается, может ли кто-нибудь объяснить, почему это происходит и есть ли способ отменить это?
Пожалуйста, не меняйте права доступа для чтения файлов, принадлежащих корню . В будущем, если вы хотите прочитать файл, к которому у вас нет доступа, используйте sudo cat
или sudo less
или откройте текстовый редактор с правами root. Если вы считаете, что вам действительно необходимо изменить права доступа по какой-либо причине, то сначала проведите исследование или задайте вопрос об этом. Слишком легко разбить вашу систему с помощью chown
и chmod
.
В любом случае, у вашего пользователя уже было разрешение на чтение для этого каталога и всего его содержимого. Каталог /bin
имеет разрешения 755
или rwxr-xr-x
, как и подавляющее большинство его содержимого. Они могут быть прочитаны и выполнены любым пользователем.
Вы удалили биты выполнения (644
= rw-r--r--
), сделав файлы доступными для чтения для всех, доступными для записи для пользователя root и исполняемыми для пользователя.
Когда вы удаляете биты выполнения из каталога, вы делаете невозможным вход в каталог, кроме root.
Когда вы удаляете биты выполнения из файла, вы делаете невозможным выполнение файла даже для пользователя root.
Программа Bash расположена по адресу /bin/bash
. Вы сделали каталог, в котором он находится, недоступным, и сделали бинарный файл неисполнимым, так что даже root не может его запустить. chown
и chmod
также находятся в /bin
, поэтому вы даже не можете использовать другую оболочку для их запуска, если у вас есть такая, которой нет в /bin
.
Переустановка системы - это лучший способ убедиться, что у вас все в порядке, но если вы хотите попробовать исправить это или вы действительно хотите этого избежать, то вы можете сделать это при загрузке с работающей системы (например, USB) установочный носитель или восстановление системы), смонтируйте корневой раздел и измените разрешения оттуда. См. ответ Тердона здесь для лучшего способа сделать это (замените /etc
на /bin
и используйте chmod
вместо chown
).