Возможно это уже где-то обсуждалось, да только я не больно-то искал.
Началось все с того, что некоторые программы, которые я поставил из rpm пакетов, часть из которых собирал сам, начали говорить о том, что не имеют прав доступа к тому или иному файлу в составе пакета, причем проявлялось это нестабильно. Проблема наверное в том, что в --x-ax есть такое понятие и команда umask, которая определяет битовую маску для создаваемых файлов, без явного указания прав доступа. Смастерил я свой rpm и вставил туда эту команду (в postinstall), которая выводит вашу текущую маску и начал ставить. Тут я нашел почему проявлялась нестабильность. Оказывается при установке из командной строки маска была 0022, что в принципе нормально, если вы root. Но вот при установке из mc, маска у меня волшебным образом стала 0777, что сами понимаете приводило к файлам с правами rwx------ (кто не понял man по команде umask). Причем в основном такие атрибуты касались больше каталогов нежели файлов, а также всего, что создается с помощью post ,pre install-uninstall скриптов. На файлах которые перечислены в самом пакете это никак не сказывается, так как при сборке пакета запоминаются права файлов и каталогов, но здесь тоже обнаружилось одно но.
Допустим с помощью директивы %dir /etc/dir1/dir2, я указываю что эта директория принадлежит моему пакету. А директивой %{_sysconfdir}/dir1/dir2/* говорю, что все файлы ниже принадлежат тоже моему пакету. При сборке и установке этого пакета у всех файлов и подкаталогов в этой директории все права будут в порядке, так как при установке пакета, сам rpm их устанавливает явным образом. Но, вот доступ к этим файлам опять будет недоступен если вы поставите такой пакет из под mc. Как я понял и немного выяснил, все это произошло, так как на этот раз неправильно были выставлены права у директории /etc/dir1, т.е. теже rwx------. Из всего выше сказанного получается, что перед установкой пакетов надо обнулять umask или 0022, и ни в коем случае не ставить пакеты с помошью mc, только с помощью команды rpm -ih. Вполне возможно что при старте mc, стартует какой то скрипт который принудительно выставляет новую umask=0777. Жду ваших соображений по этому поводу, а то я собираю для себя пакеты Gnome-2.1.4, практически большую часть собрал. Да и проявлялось у меня это не только на одной машине, а на разных.
|