Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Сменить umask для папки.


Автор: Хоббит 27.6.2010, 11:10
FreeBSD 7.0

Пользователи имеют доступ по ssh (scp) к  одной папке.
Допустим группа у нее share, 
Права на папку 770

Все пользователи находятся в этой группе.

Когда пользователь user создает файл в этой папке, получаем владельца user:share и права 644 (то есть права взялись из umask пользователя).

Как сделать так, чтобы файлы в этой папке создавали с группой share и правами 660 (а папки 770).

Я так понимаю, это будет, если сменить umask на 007), но мне это надо сделать для одной папки.

Также возможно решение с использованием acl. (Я попробовал установить default acl, но umask все равно оказался главней)

Варианты, чтобы пользователи сами чмодили или чмодить по крону не подходят.

Автор: ChihPih 27.6.2010, 12:59
Тут надо использовать acl. Как вы пробовали установить default acl?

Автор: Хоббит 29.6.2010, 12:09
Удалил

Автор: Хоббит 29.6.2010, 12:38
Код

Создаем директорию, устанавливаем acl
# mkdir acltest
# chown share:share acltest/
# chmod 770 acltest/
# setfacl -m u:user:rwx acltest/
# setfacl -d -m u::rwx,g::rwx,o:: acltest/

# getfacl -d acltest/
# file: acltest/
# owner: share
# group: share
user::rwx
group::rwx
mask::rwx
other::---

Заходим под юзером и создаем файл.
# su user
> cd acltest/
/acltest> touch abc
/acltest> getfacl abc

# file: abc
# owner: user
# group: share
user::rw-
group::rwx              # effective: r--
mask::r--
other::---
/acltest>



mask почему то только r

Добавлено через 35 секунд
Форум не работал. Поэтом сообщение дублировано.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)