🐧 Опасные последствия команды chmod 777

Мануал

В этой статье мы рассмотрим команду chmod 777, последствия ее выполнения, а также причины, по которым вы должны редко выполнять эту команду для любого файла или каталога.

Системы Linux обычно считаются менее удобными для пользователей, чем такие операционные системы, как Windows.

Хотя это утверждение может вызвать различные мнения, особенно у сторонников Linux, в нем обычно есть доля правды.

Например, при установке приложения, загруженного из Интернета, пользователям Windows достаточно дважды щелкнуть по файлу и следовать инструкциям на экране.

У пользователей Linux процедура немного отличается и всегда включает в себя выполнение некоторых команд в терминале.

Однако за это приходится платить, особенно новичкам.

Всякий раз, когда вы сталкиваетесь с проблемой при использовании Linux, первым шагом будет поиск решения в Интернете.

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

Однако, задавались ли вы вопросом, как влияют некоторые из этих команд?

🐧 Использование команд Chown и Chmod на Linux

В этой заметке вы найдете подробное руководство о влиянии команды chmod 777 на вашу систему.

chmod – это утилита Linux, используемая для назначения прав доступа к файлам и каталогам.

Прежде чем углубиться, давайте сначала рассмотрим основы разрешений на файлы и права собственности на файлы в системах Linux.

Это два уровня авторизации, применяемые в системах Linux в целях безопасности.

🛑 Команды Linux, которые вы никогда не должны запускать в своей системе

Понимание владения файлами в Linux

Каждый файл в вашей системе Linux назначается 3 типам владельцев.

Эти владельцы включают:

  • Пользователь
  • Группа
  • Остальные

Пользователь

User – это слово часто используется вместо ‘Owner’.

Это потому, что каждый файл принадлежит пользователю/владельцу, который его создал.

Давайте рассмотрим практический пример этого на примере команд, приведенных ниже:

touch fileOne.txt

sudo touch fileTwo.txt

touch – это утилита командной строки, которую можно использовать для создания пустого файла.

Когда вы выполните первую команду touch fileOne.txt в терминале, touch создаст файл и назначит его текущему пользователю, вошедшему в систему.

При выполнении второй команды, sudo touch fileTwo.txt, файл будет создан и назначен пользователю root.

Вы можете убедиться в этом, выполнив команду ls -l, как показано ниже.

Группа

Считайте, что группа – это группа пользователей.

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

Например, у вас есть десять пользователей, которые хотят получить доступ к определенному файлу.

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

Вы можете просмотреть все группы в вашей системе, выполнив приведенную ниже команду в терминале.

groups

Остальные

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

Его также называют “разрешением для всего мира”, поскольку вы устанавливаете разрешения для всех, кто хочет получить доступ.

Вот главный вопрос: “Как Linux различает этих разных пользователей?”.

Например, если пользователь ‘A’ создал файл, содержащий частную информацию, как система предотвратит доступ пользователя ‘B’ к этому файлу?

Вот тут-то и приходят на помощь разрешения файлов.

Понимание прав на файлы Linux

Все три владельца файлов, рассмотренные выше (Пользователь, Группы, Остальные), управляются с помощью трех разрешений:

  • Чтение
  • Запись
  • Выполнение

Давайте обсудим их подробнее:

Чтение

  • Файлы: С этим разрешением пользователь может открывать и читать файлы.
  • Каталог: Пользователь может открывать и просматривать различное содержимое в каталоге.

Запись

  • Файлы: Это разрешение позволяет пользователю изменять и модифицировать содержимое файла.
  • Каталог: В каталоге это разрешение позволяет пользователю создавать, удалять, перемещать или переименовывать файлы и подкаталоги.

Выполнение

  • Файлы: С помощью этого разрешения пользователь может испортить исполняемый файл. Например, скрипт bash.
  • Каталог: Пользователь может установить каталог в качестве своего текущего каталога

Как назначить числовые разрешения

До этого момента, я знаю, у вас был один вопрос – как назначаются эти разрешения?

Это подводит нас к следующему разделу, ‘ Числовые разрешения’.

Давайте посмотрим на команду chmod 777.

Число 777 представляет различные разрешения для трех пользователей.

  • Первая цифра представляет права, назначенные пользователю.
  • Вторая цифра представляет права, назначенные группе.
  • Последняя цифра представляет права, установленные для всех остальных пользователей.

Эти разрешения определяются тремя числами:

  • 1: Разрешение на выполнение
  • 2: Разрешение на запись
  • 4: Разрешение на чтение

Чтобы назначить разрешение определенному пользователю или группе, нужно сложить эти числа.

Например, чтобы дать пользователю права на чтение, запись и выполнение, мы сложим 1 + 2 + 4 = 7.

Таким образом, мы назначим ему право 7.

Из этих трех чисел мы можем придумать другие разрешения, например:

  • 3 (1 + 2): Разрешения на выполнение и запись
  • 5 (1 + 4): Разрешения на выполнение и чтение
  • 6 (2 + 4): Разрешения на запись и чтение
  • 7 (1 + 2 + 4): Разрешения на чтение, запись и выполнение

Что значит иметь права 777?

В предыдущем разделе мы рассмотрели различные числовые разрешения и то, как получить больше разрешений из трех основных чисел (1,2,4).

Разрешение 777 может повлиять на вашу систему, поскольку оно дает всем пользователям права на чтение, запись и выполнение.

Это позволяет неавторизованным пользователям получить доступ к файлам или каталогам, которые могут содержать жизненно важную информацию.

Кроме того, они могут эффективно выполнять файлы и программы в вашей системе.

Например, вы создаете скрипт bash в своей системе и назначаете файлу разрешение 777.

Если произойдет нарушение безопасности и хакеры получат доступ к этому файлу, они смогут легко отредактировать скрипт, добавить свой вредоносный код и выполнить его на вашей системе.

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

Поэтому вы должны редко или никогда не устанавливать разрешение 777 на любой файл или каталог в вашей системе, так как вы просто предоставляете доступ к нему всем группам пользователей.

Что делать вместо этого?

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

Давайте рассмотрим пример с веб-сервером.

Для файлов веб-сервера мы назначим разрешение 644.

Это означает, что владелец может читать и записывать файлы, а группы пользователей и все остальные имеют права только на чтение.

Для каталогов разрешения будут немного другими, и мы будем использовать 755.

Это означает, что владелец имеет полный контроль над каталогом, он может входить в каталог, создавать, изменять, перечислять файлы или удалять файлы в каталоге.

Однако другие пользователи могут только входить в каталог и просматривать находящиеся в нем файлы.

Кроме того, вы должны понимать разрешения файлов в Linux и команду chown, используемую для изменения прав собственности на файлы и каталоги.

Заключение

В этой статье вы получили подробное руководство по разрешениям файлов в Linux и влиянию команды chmod 777.

Linux считается одной из самых безопасных операционных систем; однако эта безопасность определяется двумя основными параметрами – владением файлом и правами доступа к файлам.

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

Назначение разрешения 777 дает всем пользователям полный контроль над файлами и каталогами, представляя угрозу безопасности системы.

Есть ли у вас вопросы по этой теме?

Если да! Пожалуйста, не стесняйтесь оставить комментарий ниже.

Добавить комментарий