Почему umask 077 не позволяет пользователю выполнять файлы / каталоги?

Я использую umask 077. «Другие» и «группа» не имеют никаких прав, но пользователь не может выполнять файлы / каталоги. Почему umask 077 не позволяет владельцу выполнять файлы / каталоги?

10
задан 7 October 2018 в 00:09

2 ответа

При использовании umask из 077 только пользователь имеет права на чтение, запись и выполнение. Пользователь определенно сможет открывать ('выполнять') каталоги (подробнее о том, почему каталоги должны быть исполняемыми , в моем ответе здесь ). Тем не менее, файлы всегда должны быть исполняемыми, введя chmod u+x myfile; они никогда не выполняются автоматически. Некоторая более полезная информация о umask приведена в этом ответе:

Вероятная возможность для ваших проблем заключается в том, что вы, возможно, ввели значение немного неправильно, что привело к другому маскированию, или что значение не было постоянно установлен. Если вы введете umask 077 в терминале, он будет действителен только для этого сеанса терминала; чтобы сделать его постоянным для вашего пользователя, просто добавьте umask 077 к вашему ~/.profile. Системная настройка по умолчанию для umask находится в /etc/login.defs; он использовал , чтобы быть в /etc/profile. См. Также справочную страницу для pam_umask, который является модулем pam, который обрабатывает назначение umask.

Следующие примеры взяты из успешной установки umask 077:

1) Для создания папки : mkdir doc, проверенный с помощью stat doc, дал правильные разрешения и «исполняемый файл» 'folder:

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2) Для создания файла : touch new, проверенный с помощью stat new, дал правильные разрешения; файл становится исполняемым только при использовании chmod +x:

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

umask из 077 выдаст показанные разрешения, но если у вас все еще будут проблемы с разрешениями после правильной настройки umask 077 (как обсуждено далее выше) мы можем рассмотреть это далее.

0
ответ дан 7 October 2018 в 00:09

Значение umask будет использоваться для соответствующего изменения значения по умолчанию fmask для прав доступа к файлам (базовое разрешение 0666) и dmask для прав доступа к каталогам / папкам (базовое разрешение 0777).

Эффективные значения fmask и dmask будут рассчитываться путем вычитания значения umask (октальные вычисления).

Таким образом, umask 0022 приведет к fmask , чтобы получить значение 0644 (то есть 0666 - 0022), в то время как dmask будет 0755 (то есть 0777 - 0022) ).

umask 0077 предотвращает создание файлов с любым доступом не только к миру (обозначается восьмеричной цифрой), но и к членам группы (обозначается предпоследним восьмеричным). цифра).

Ссылка:

0
ответ дан 7 October 2018 в 00:09

Другие вопросы по тегам:

Похожие вопросы: