Могу ли я установить umask для определенного каталога?

3599
mipadi

У меня довольно ограниченная настройка маски (0077). Это нормально, за исключением того, что у меня есть один каталог, в котором я хотел бы установить более разрешающую настройку (0002) для всех файлов, созданных в любом месте этого каталога. Есть ли способ установить umask в определенном каталоге, чтобы все файлы, созданные под ним, наследовали одинаковые разрешения?

7

1 ответ на вопрос

4
bshea

Используйте ACL

setfacl -d -m mask: 002 / your / dir / here /

http://man-wiki.net/index.php/1:setfacl

Если вы хотите иметь имя по умолчанию для входа в систему, просто добавьте «umask 002» в ваш .bashrc (или любую оболочку, которую вы используете). Все новые каталоги будут использовать это, если вы вошли в систему под этой средой.

Просто один на один: ACL не транслируются по сети. (Samba / NFS) ... Вам нужно будет добавить к этому отдельный сетевой файл конфигурации для определенного каталога. (т.е. smb.conf - создать маску = 775) bshea 14 лет назад 0
На самом деле AFAIU NFS3 и NFS4 поддерживают (некоторые?) ACL (по крайней мере, в Linux)? JanC 14 лет назад 1
И Самба тоже JanC 14 лет назад 1
Не нужно было пытаться это в течение долгого времени. Лучше быть в безопасности, чем потом сожалеть (!). Полезно знать. Благодарю. bshea 14 лет назад 0
Это для Mac OS X. mipadi 14 лет назад 0
http://serverfault.com/questions/6607/propagate-removal-of-an-acl-entry-for-just-one-user-in-mac-os Кажется, вам придется использовать 'chmod', если setfacl недоступен в Баш. bshea 13 лет назад 1