Я использую umask 077. «Другие» и «группа» не имеют никаких прав, но пользователь не может выполнять файлы / каталоги. Почему umask 077 не позволяет владельцу выполнять файлы / каталоги?
При использовании umask
077 только пользователь имеет права на чтение, запись и выполнение. Пользователь определенно сможет открывать ('выполнять') каталоги (подробнее о том, почему каталоги должны быть исполняемыми в моем ответе здесь ). Тем не менее, файлы всегда должны быть исполняемыми путем ввода chmod u+x myfile
; они никогда не выполняются автоматически. В umask
этом ответе приведена более полезная информация :
Вероятная причина ваших проблем заключается в том, что вы, возможно, ввели значение немного неправильно, что привело к другому значению маски или что значение не было установлено постоянно. Если вы войдете umask 077
в терминал, он будет действителен только для этого сеанса терминала; чтобы сделать его постоянным для вашего пользователя, просто добавьте umask 077
к нему ~/.profile
. Системная настройка по умолчанию для umask
находится в /etc/login.defs
; он используется , чтобы быть в /etc/profile
. Также смотрите man-страницу для pam_umask
, которая является модулем pam, который обрабатывает назначение umask
.
Следующие примеры взяты из успешной настройки umask 077
:
1) Для создания папки : mkdir doc
проверил, stat doc
дал правильные разрешения и «исполняемая» папка:
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 предотвратить файлы создаются с любым доступом не только к миру (обозначенного конечной восьмеричной цифра) , но и вашим членам группы (обозначенный предпоследней восьмеричной цифра).