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

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

Случайно запущенная команда

sudo chmod -R o+x /home

на моем Ubuntu 12.10.

Что мне теперь делать? Это опасно? У меня нет резервной копии раздела, поэтому я думаю, что эта команда необратима. ТАК ЧТО мне переустановить всю систему из-за этой ошибки?

решение1

Лучший способ исправить это зависит от деталей настройки вашей системы. К счастью, вы, вероятно, знаете эти детали.

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

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

Это было o+x. oозначаетдругой. Это контролирует разрешения пользователей, которые не являются владельцами файла или папки, а также тех, кто не является членами «группы владельцев» файла или папки.

Если вы в настоящее время не используете разрешения на обмен файлами с другими локальными пользователями

Если пользователю (например, вам) не нужно делиться файлами с другими пользователями, то можно безопасно лишить его прав на исполнение.другой, пока вы делаете это тольковезде внутри вашей домашней папки. Ваша домашняя папка — это место, где/home/usernameusernameзаменяется на ваше фактическое имя пользователя. /homeЭто не ваша домашняя папка, а скорее папка, в которой находитсясодержитвсе домашние папки. Поскольку /homeсам по себе он фактически не принадлежит ни одному человеку-пользователю компьютера,крайне важно, чтобы разрешения на исполнение длядругойне может быть удален от /homeсебя.

Итак, вы можете запустить:

cd ~

~представляет вашу домашнюю папку. (Оболочка интерпретирует это именно так, вы можете ввести именно это.)

Затем вы можете запустить:

chmod -R o-x .* *

Или если вы хотите запретить другим пользователям изменять каталог и входить в вашу домашнюю папку:

chmod -R o-x ~

Я намеренно не написал sudo. Вы по-прежнему являетесь владельцем файлов в своей домашней папке, поэтому вам не нужен sudo, а отключение этого параметра поможет избежать случайного изменения разрешений для неправильных файлов и папок. (В частности, /homeвладельцем является root, поэтому отключение этого параметра sudoгарантирует, что вы случайно не измените разрешения для /homeи не сделаете свою систему непригодной для использования.)

Если выДелатьВ настоящее время используются разрешения на обмен файлами с другими локальными пользователями

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

Чтобы отменить разрешения на выполнение длядругойиз всехфайлыв домашней папке вашего пользователя, но не в каталогах, выполните:

find ~ -type f -exec chmod o-x \{\} \;

(Вы заметите, что это похоже на одно изПредложения Сенгстрома. Видетьman find(Для получения информации о том, как это работает.)

решение2

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

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

Если система новая, я бы рассмотрел переустановку, чтобы сделать ее чистой и аккуратной :)

Связанный контент