Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


среда, 20 ноября 2013 г.

SAMBA: установка прав на создаваемые файлы и каталоги

Наступил на такие неинтересные грабли:

(shares.conf)
[squid]
    path=/var/samba/squid
    guest ok=yes
    read only=no
    vfs objects = recycle:keeptree=yes, extd_audit
    write list=@eao\\srv201-squid-writers, administrator, @eao\\"backup operators"
    force directory mode=0770
    force create mode=0770
    directory mask=0770
    directory security mask=0770
    create mask=0770
    security mask = 0770

Однако, созданные в этой шаре файлы имели атрибуты 0x1a0, то есть -rw-r----- (640), что меня никак не устраивало. Тщательный гуглинг помог найти решение здесь (см. сообщение от robert-oswald от 05.09.2013)



Есть хитрый файл с различными дефолтными настройками /etc/login.defs, а в нем хитрый параметр UMASK = 022. То есть бит "w" маскируется для группы и прочих. Но какого черта самба слушается этих логинов с дефами, когда явно проставлено 770? Да потому что я сам ей это велел:

(smb.conf)
[qlobal]
...
obey pam restrictions = Yes
...
include = где-то-там/shares.conf


После замены Yes на No и перезапуска smbd стало возможным изменить в описании шары

    force create mode=0770
    create mask=0770


на

    force create mode=0660
    create mask=0660


Чтобы новосозданные файлы получали нужные мне атрибуты.

Кстати, в той же ветке я нашел объяснение: по дефолту у самбы этот параметр obey... установлен в No, а вот в убунтийской упаковке он по дефолту включен. Зачем?

4 комментария:

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.