Я использую umask 077. «Другие» и «группа» не имеют никаких прав, но пользователь не может выполнять файлы / каталоги. Почему umask 077 не позволяет владельцу выполнять файлы / каталоги?
При использовании 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
(как обсуждено далее выше) мы можем рассмотреть это далее.
Значение umask будет использоваться для соответствующего изменения значения по умолчанию fmask для прав доступа к файлам (базовое разрешение 0666) и dmask для прав доступа к каталогам / папкам (базовое разрешение 0777).
Эффективные значения fmask и dmask будут рассчитываться путем вычитания значения umask (октальные вычисления).
Таким образом, umask 0022 приведет к fmask , чтобы получить значение 0644 (то есть 0666 - 0022), в то время как dmask будет 0755 (то есть 0777 - 0022) ).
umask 0077 предотвращает создание файлов с любым доступом не только к миру (обозначается восьмеричной цифрой), но и к членам группы (обозначается предпоследним восьмеричным). цифра).