Как отменить случайный chmod 777 в домашних каталогах
В мире Linux команда chmod — это мощный инструмент, позволяющий изменять права доступа к файлам и каталогам. Однако нередко случайно запускается такая команда, как chmod 777 *, которая меняет разрешения всех файлов и каталогов в текущем каталоге на 777. Это дает всем права на чтение, запись и выполнение, что может представлять серьезную угрозу безопасности. . В этой статье мы расскажем, как отменить это случайное изменение и восстановить для ваших домашних каталогов разрешения по умолчанию.
Чтобы отменить случайный ввод chmod 777 в домашних каталогах Linux, вы можете использовать команду chmod с соответствующими разрешениями. Верните права доступа к каталогу на 755, используя sudo chmod -R 755 /home/$USER, и верните права доступа к файлам на 644, используя sudo chmod -R 644 /home/$USER. Кроме того, вы можете использовать команду find для выборочного изменения разрешений для определенных файлов и каталогов.
Понимание chmod и прав доступа к файлам
Прежде чем мы углубимся в решение, важно понять, что делает chmod и что означают цифры (например, 777 или 755).
В Linux каждый файл и каталог имеет три типа разрешений:
- Чтение (r): файл можно открыть и прочитать.
- Написать (w): файл можно изменить.
- Выполнить (x): файл может быть выполнен как программа.
Эти разрешения могут быть установлены для трех типов пользователей:
- Пользователь (u): владелец файла.
- Группа (g): другие файлы в группе файлов.
- Другое (o): Все остальные в системе.
Команда chmod позволяет вам изменить эти разрешения. Числа представляют разрешения в двоичной форме. Например, 7 — двоичное число 111, которое представляет разрешения на чтение, запись и выполнение.
Отмена разрешений каталога
Если вы случайно изменили разрешения всех каталогов в вашей домашней папке на 777, вы можете вернуть их обратно к значению по умолчанию 755 (что дает права на чтение, запись и выполнение пользователю, а также разрешения на чтение и выполнение группе и другие), используя следующую команду:
sudo chmod -R 755 /home/$USER
Вот что делает каждая часть этой команды:
- sudo: Эта команда запускает следующую команду от имени суперпользователя, что необходимо, поскольку изменение прав доступа к файлам является привилегированной операцией.
- chmod: это команда, которая изменяет права доступа к файлу.
- -R: этот параметр делает команду рекурсивной, то есть она будет применяться к целевому каталогу и всем его подкаталогам.
- 755: Это разрешение, которое мы хотим установить. Он дает пользователю разрешения на чтение, запись и выполнение, а группе и другим лицам — права на чтение и выполнение.
- /home/$USER: это целевой каталог. $USER — это переменная, представляющая текущего пользователя, поэтому эта команда будет применяться к домашнему каталогу текущего пользователя.
Возврат прав доступа к файлу
Приведенная выше команда изменяет только права доступа к каталогам, а не к файлам. Чтобы также вернуть права доступа к файлам, вы можете использовать следующую команду:
sudo chmod -R 644 /home/$USER
Разрешение 644 дает пользователю права на чтение и запись, а группе и другим — только права на чтение.
Использование команды find для большего контроля
Если вам нужен больший контроль над тем, какие файлы и каталоги имеют измененные разрешения, вы можете использовать команду find в сочетании с chmod. Например:
cd /home/$USER найти. -type d -exec chmod -fv 755 {} \;
Эта команда найдет все каталоги в вашей домашней папке и изменит их разрешения на 755. Параметр -type d гарантирует, что выбраны только каталоги, а параметр -exec выполняет команду chmod для каждого найденного каталога.
Заключение
Случайное изменение разрешений для всех файлов и каталогов в вашей домашней папке может быть пугающим событием, но оно не является необратимым. Используя команду chmod с соответствующими разрешениями, вы можете восстановить для своих файлов и каталогов разрешения по умолчанию и обеспечить безопасность вашей системы.
Разрешение по умолчанию для домашних каталогов в Linux — 755, что дает пользователю разрешения на чтение, запись и выполнение, а также права на чтение и выполнение группе и другим пользователям.
Да, вы можете отменить изменения, внесенные командой chmod 777*. Используя команду chmod с соответствующими разрешениями, например chmod -R 755 /home/$USER для каталогов и chmod -R 644 /home/$USER для файлов, вы можете восстановить настройки разрешений по умолчанию.
Опция -R в команде chmod означает «рекурсивный» и применяет указанные изменения разрешений не только к целевому каталогу, но также ко всем его подкаталогам и файлам.
Чтобы вернуть права доступа только к каталогам в вашей домашней папке, вы можете использовать команду sudo chmod -R 755 /home/$USER. Эта команда изменит права доступа всех каталогов, включая подкаталоги, на 755.
Чтобы вернуть права доступа как к каталогам, так и к файлам в вашей домашней папке, вы можете использовать команду sudo chmod -R 644 /home/$USER. Эта команда изменит права доступа для всех каталогов на 755, а для файлов — на 644.
Да, вы можете выборочно изменять права доступа к определенным файлам или каталогам, используя команду find в сочетании с chmod. Например, вы можете использовать команду find /home/$USER -name “*.txt” -exec chmod 644 {} \; изменить права доступа для всех файлов с расширением «.txt» на 644 в вашей домашней папке.