Chmod 777: Что это на самом деле означает?

Вы пользователь Linux или веб-мастер, управляющий собственным веб-сайтом (который, вероятно, размещен на сервере Linux)? Рано или поздно вы попытаетесь загрузить файл или изменить документ и получите следующую ошибку: «У вас нет прав для загрузки файла в папку». После некоторого поиска в Google решение часто бывает так же просто, как установить разрешение файла на «775» или «777». Но что означает «777»? И почему это должно быть «7», а не «8» или «9»?

Понимание прав доступа к файлам

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

Механизм управления файлами состоит из двух частей: «Классы» и «Разрешения». Классы определяют, кто может получить доступ к файлу, а разрешения определяют, что пользователь может делать с этим файлом.

Есть три класса: владелец, группа и другие.

  • Владелец обычно является создателем файла или папки. В Linux любые файлы или папки, которые вы создаете в своем домашнем каталоге, обычно принадлежат вам, если вы специально не измените владельца.
  • Группа содержит группу пользователей с одинаковыми разрешениями и привилегиями.
  • Другие означают широкую публику.

Вы можете просмотреть права доступа к файлам Linux.

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

  • Читать. Вы не можете каким-либо образом изменять содержимое файла. При применении к папке вы можете просматривать только файлы в этой папке; вы не можете удалять или изменять файлы каким-либо образом или добавлять файлы в папку.
  • Напишите. Вы можете изменить файл. Если у вас есть права на запись в папку, вы можете удалять и добавлять файлы в эту папку.
  • Выполнить. Execute в основном используется, когда вам нужно запустить файл, и чаще всего используется, когда вам нужно запустить скрипт.

В раскрывающемся списке «Доступ» отображаются текущие права доступа к файлу.

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

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

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

777: Что в номере?

Теперь, когда у нас есть базовое представление о классах и разрешениях, давайте посмотрим, почему «777» и «775» так важны.

Каждый файл и папка содержат 8-битные данные, управляющие разрешениями. В своей базовой двоичной форме «000» означает, что не предоставляются никакие разрешения в любой форме.

Когда вы устанавливаете разрешение «Чтение», к данным добавляется 4 бита, в результате чего получается «100» (в двоичном формате) или «4» в обычном десятичном формате. При установке разрешения «Запись» к данным добавляются 2 бита, в результате чего получается «010» и «2» в десятичной форме. Наконец, установка разрешения «Выполнить» добавляет к данным 1 бит, что приводит к «001» или «1» в десятичной форме. Короче говоря:

  • Чтение эквивалентно «4».
  • Запись эквивалентна «2».
  • Выполнить эквивалентно «1».

Когда мы хотим установить разрешения, мы просто добавляем число. Например, чтобы установить разрешения на «чтение и запись», мы используем «6» (4 + 2) для разрешения. Для чтения, записи и выполнения мы будем использовать «7» (4 + 2 + 1) для разрешения.

Вот другая перестановка:

0 — нет разрешения
1 — выполнить
2 — написать
3 — написать и выполнить
4 — читать
5 — прочитать и выполнить
6 — читать и писать
7 — читать, писать и выполнять

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

Что это означает для «777»? Первая цифра назначается Владельцу, вторая цифра — Группе, а третья цифра — Другим. Если файл имеет разрешение «777», то каждый может читать, писать и выполнять файл.

Вот некоторые из наиболее часто используемых разрешений:

  • 755. Этот набор разрешений обычно используется веб-серверами. Владелец имеет все права на чтение, запись и выполнение. Все остальные могут читать и выполнять, но не могут вносить изменения в файл.
  • 777. Каждый может читать, писать и выполнять. На веб-сервере не рекомендуется использовать разрешение «777» для ваших файлов и папок, поскольку это позволяет кому-либо добавлять вредоносный код на ваш сервер. Однако в некоторых случаях вам необходимо установить разрешения 777, прежде чем вы сможете загружать любой файл на сервер — например: загрузка изображений в WordPress.
  • 644. Только владелец может читать и писать. Все остальные могут только читать. Никто не может выполнить этот файл.
  • 655. Только владелец может читать и писать и не может выполнять файл. Все остальные могут читать и выполнять, но не могут изменять файл.

Установка прав доступа к файлам в командной строке

В Linux вы можете легко изменить права доступа к файлу, щелкнув файл или папку правой кнопкой мыши и выбрав «Свойства». Откроется вкладка «Разрешение», где вы можете изменить права доступа к файлу.

Если вы пользователь Mac, вы можете изменить настройки разрешений, щелкнув правой кнопкой мыши нужный файл или папку и выбрав «Получить информацию». В следующем окне вы можете щелкнуть, чтобы развернуть раздел «Общий доступ и разрешения». Здесь отображаются настройки разрешений для каждой учетной записи, зарегистрированной на вашем Mac.

Вы можете изменить права доступа к файлу в меню MacOS «Дополнительная информация».

Чтобы изменить эти разрешения, щелкните любую из маленьких стрелок и выберите «Чтение и запись» или «Только чтение».

Вы можете изменить права доступа к файлу в macOS ' "Получить информацию" меню.

Вы также можете изменить разрешения с помощью команды chmod в Терминале. Короче говоря, «chmod 777» означает сделать файл доступным для чтения, записи и выполнения для всех.

Надеюсь, эта статья помогла вам лучше понять права доступа к файлам в системах Unix и происхождение магического числа «777».

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

Связанный:

Эта статья полезна? да нет

Похожие записи

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

Ваш адрес email не будет опубликован.