Права доступа в Linux определяют, какие действия разные пользователи могут совершать с файлами и папками. От них зависит безопасность ваших файлов на хостинге. А также из-за неправильных прав могут не работать скрипты, не удаляться папки, возникать ошибка 403 и ошибка 500.

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

Содержание

  1. Какие бывают права доступа в Linux
  2. Как обозначаются права доступа в Linux
  3. Какие права доступа использовать на хостинге
  4. Как изменить права доступа к файлу или папке

Какие бывают права доступа в Linux

Права доступа выдаются для трёх действий:

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

Правами могут обладать три категории пользователей: 

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

У каждой категории пользователей могут быть права либо сразу на все действия, либо только на некоторые, либо вообще не быть прав. Исключение — пользователь root: у него будут все права на все файлы и папки на сервере независимо ни от чего.

Формат записи прав доступа

Права доступа записывают либо цифрами, либо буквами. В зависимости от формата у действий будут такие значения:

  • чтение — 4 (r);
  • запись — 2 (w);
  • выполнение — 1 (x).

В цифровом формате права доступа записывают в виде числа из трёх цифр. Например, 755 или 644. Такой формат написания прав можно встретить в панелях управления хостингом и FTP-клиентах.

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

Каждая из трёх цифр представляет из себя сумму цифровых значений тех или иных действий. Цифра 0 означает «отсутствие права».

Например, права 755 означают, что владелец файла имеет права на чтение, запись и выполнение (4+2+1=7), а группа и остальные пользователи имеют права только на чтение и выполнение (4+0+1=5).

Права 644 означают, что владелец файла имеет права на чтение и запись (4+2+0=6), а группа и остальные пользователи — только на чтение (4+0+0=4).

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

В буквенном формате права доступа записывают в виде текстовой строки из девяти букв. Например, rwxr-xr-x или rw-r–r–. Такой формат написания прав можно встретить в командной строке.

Первые три буквы отвечают за права владельца, вторые — за права группы, а третьи — за права остальных пользователей. Буквы всегда должны идти только в одном порядке — rwx. Символ означает «отсутствие права».

Например, права rwxr-xr-x означают то же самое, что и 755: владелец файла имеет права на чтение, запись и выполнение (rwx), а группа и остальные пользователи имеют права только на чтение и выполнение (r-x).

Права rw-r–r– означают, что владелец файла имеет права только на чтение и запись (rw-), а группа и остальные пользователи — только на чтение (r–).

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

Какие права доступа использовать на хостинге

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

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

  • 644 для файлов;
  • 755 для папок.

Для критически важных файлов вроде php.ini или конфигурационного файла базы данных можно использовать более строгие права: 600 или 700.

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

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

Есть три способа изменить права для файлов и папок: 1) при помощи командной строки; 2) при помощи FTP-клиента; 3) при помощи панели управления хостингом.

В командной строке

Это делается при помощи команды chmod. Чтобы её использовать, нужно подключиться к хостингу по SSH, зайти в нужную папку и ввести команду в таком формате:

chmod права путь-к-файлу-или-папке

Например, чтобы сменить права на папку media, зайдите в папку уровнем выше, затем используйте такую команду:

chmod 755 media

Чтобы установить права на все файлы в текущей папке, используйте символ *:

chmod 644 *

Если хотите изменить права рекурсивно (изменить права доступа к папке и вложенным в неё файлам), используйте опцию -R:

chmod -R 644 *

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

chmod 644 file1.txt file2.txt file3.txt

В FTP-клиенте

Как и командная строка, этот способ универсальный для любого хостинга. Скачиваете программу FileZilla, подключаетесь к серверу по FTP, находите нужную папку или файл на сервере, кликаете по ней правой кнопкой мыши и выбираете «Права доступа к файлу».

Как установить права доступа на файл в FileZilla

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

Как поменять права на папку в Linux при помощи FileZilla

Более подробно и со скриншотами рассказываем, как работать в программе FileZilla, в отдельной статье:

Как пользоваться FTP-клиентом FileZilla

В панели управления хостингом

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

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

Как изменить права файлов в Linux при помощи cPanel

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

Изменение прав доступа в Linux при помощи cPanel

Альтернативный способ — выберите нужный файл в таблице и кликните по правам доступа (непосредственно по цифрам 0755). После этого поле откроется для редактирования. Впишите нужные цифры и нажмите «Save».

Смена прав на файлы в cPanel — chmod 0755

Более подробно и со скриншотами читайте, как работать в менеджере файлов cPanel, в нашей отдельной статье:

Как пользоваться диспетчером файлов cPanel

Что нужно запомнить

Кто может иметь права доступа в Linux
Владелец, группа, остальные пользователи.

На какие действия выдаются права
Чтение, запись, выполнение.

Числовые значения для каждого действия
Чтение — 4, запись — 2, выполнение — 1.

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

Как изменить права доступа в консоли
chmod права имя-файла-или-папки

Была ли статья полезной?

Спасибо за отзыв!