Этот браузер устарел, для работы с сайтом требуется установить один из актуальных:

Установите один из актуальных: Установить edge | Установить chrome | Установить firefox

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

Однажды, на одной из систем мне потребовалось изменить права по умолчанию на все создаваемые файлы и директории. Звучит просто, ведь chmod, это одна из первых команд, которые узнает начинающий линуксоид, но как изменить значение chmod по умолчанию? Вопрос и правда хороший!

Для начала немного теории для начинающих. Права доступа в linux задаются тремя цифрами chmod (на самом деле четырьмя, но сейчас нас интересуют только три):

  1. первая отвечает за права пользователя
  2. вторая за права группы
  3. третья за права всех остальных

Значения самих цифр такие:

  • 1 - выполнение
  • 2 - запись
  • 3 - запись + выполнение
  • 4 - чтение
  • 5 - чтение + выполнение
  • 6 - чтение + запись
  • 7 - чтение + выполнение + запись

Обычно, права по умолчанию в NIX системах выставляются в значени 755:

  • пользователь может все (читать + выполнять + записывать)
  • группа может читать + выполнять
  • другие тоже могут читать + выполнять

Отлично, когда с теорией покончено, можно переходить к основному вопросу, где хранится значение прав chmod по умолчанию? Дефолтное значение chmod, является частью настроек профиля пользователя, которые хранятся в файле ~/.profile. Однако, некоторые вещи наследуются из файла /etc/profile, в том числе и chmod по умолчанию. 

Переходим в файл /etc/profile и находим строку с командой umask 022, именно она задает права chmod по умолчанию. Но почему именно 022? Дело в том, что дефолтные права задаются маской, а не прямым значением. Значение маски вычитается из базового значения 777.

Считаем 777 - 022 = 755

Пользователь Группа Все остальные
Базовое значение прав 7 7 7
Маска прав (umask) 0 2 2
Полученные права (chmod) 7 5 5

Мне требовалось сменить права по умолчанию на 770, что бы к файлам имели доступ только владелец и группа, по этому я поменял umask на 007.

Считаем 777 - 007 - 770

Пользователь Группа Все остальные
Базовое значение прав 7 7 7
Маска прав (umask) 0 0 7
Полученные права (chmod) 7 7 0
назад
вверх