bzr+ssh group rw a umask
June 2nd, 2010
Znáte ten pocit bezmoci, když nějakou věc rešíte už po třetí a pokaždý vás stojí 20 bodů IQ, máte pogrepovanej celej Gugl, zmateně a kuse se to snažíte natlačit do hlavy všem, který ještě maji náladu vás poslouchat a pořád nemůžete přijít na to, “jak jsem to sakra minule udělal”? Já jo.
Pro mě už klasická situace. Máte server, na kterej x uživatelů s primarní grupou (řekněme vcs) pushuje repozitáře. Aby se zabránilo tomu, aby nově vytvořený branche a upravený soubory byly -w pro zmíněnou grupu, je třeba nastavit umask 0002. To je logický. Jenže kámen úrazu je v tom, že nastavení umasku v /etc/profile nepomáhá. Ano, pro někoho je to zřejmý, protože binárka bzr nespouští žádnej shell. Ááááchjo. Řešení je opravdu jednoduchý. Stačí vytvořit wrapper, kterej pustí umask a pak zavolá bazaar s parametrama, který na wrapper přišly. Čili něco jako:
#!/usr/bin/env bash
umask 0002
/usr/bin/bzr "$@"
PS. chtěl bych poděkovat ntz, za to, že mě trpělivě naved’ až ke slovu wrapper a já si vzpomněl, jak už jsem to dvakrát předtím řešil
