В Unix / Linux есть флаг процесса под названием umask
, интерпретируемый как восьмеричное число, которое говорит, какие разрешения для принимают off вновь созданный файл. Флаг наследуется дочерними процессами.Установка его для оболочки заставляет все процессы, запущенные позже, использовать это значение.
Разрешения в виде битов: 1 для x
, 2 для w
и 4 для r
, которые могут быть объединены в восьмеричную цифру. Например, r-x
равно 4 + 1 = 5. Есть 3 набора разрешений (пользователь, группа, другие). Итак, 664 - это rw-rw-r -
.
При создании «нормального» файла базовые права доступа равны 666 (приятно демонически, не так ли?), При создании исполняемого файла - 777. Отсюда umask
снимается, 002 будет дайте 664 для обычного файла.
Оболочки имеют встроенные команды, называемые umask
, для установки umask. Вы можете запускать их в интерактивном режиме, но чаще всего они выполняются в каком-либо файле запуска, чтобы оболочка сделала его постоянным. В случае bash (1) это нужно сделать в ~ / .bashrc
. В Fedora он установлен для всей системы в / etc / bashrc
.
Прежде чем изменять настройку по умолчанию, внимательно рассмотрите возможные последствия, поскольку ослабление разрешений может привести к нежелательному доступу к вашим файлам. Позволить кому-либо из вашей группы писать ваши файлы - рискованно!
Упомянутая выше команда должна работать:
awk 'NR==1{print $5}' filename