Техноблог IT Hobbycomp.ru – сайт о компьютерах и технике

Выставляем разрешения UNIX

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

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

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

 

Возьмем для примера каталог bitrix-env.

 

D rwx r-x r-x
Обозначение каталога права владельца права группы права всех остальных
Directory Read write executable Read – executable Read – executable

D – directory, каталог.  R- read, чтение.  W-write, запись. X – executable, выполнение.

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

А вот к файлу .my.cnf доступ на чтение и запись имеет только администратор, это следует из обозначенных прав: – (признак файла); rw- (чтение запись); — (группе запрещено всё); —(остальным запрещено всё)

А к файлу menu.sh, который является скриптом, полный доступ имеет администратор, а группа и остальные имеют права только на чтение и выполнение.

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

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

Пример — значение права «755»

  владелец группа остальные
восьмеричное значение 7 5 5
символьная запись rwx r-x r-x
обозначение типа пользователя u g o

Таким образом, права «755» записываются в символьном виде как «rwxr-xr-x». При этом для понимания сути задания прав в Unix-системах полезно знать представление чисел в двоичной системе счисления.

Три варианта записи прав пользователя

двоичная восьмеричная символьная права на файл права на директорию
000 0 нет нет
001 1 –x выполнение чтение файлов и их свойств
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме чтения списка файлов
100 4 r– чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права

Нам нужна восьмеричная система записи, запоминаем её.

Теперь давайте поменяем права на папку bitrix-env, предоставим всем полные права.

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

Что бы поменять владельца, воспользуемся командой chown

А что бы поменять группу командой chgrp

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