Как я уже упоминал, живет у меня кластер на Gentoo… Если точнее,
Gentoo стоит на шести компьютерах из десяти.
Кластер он конечно в несколько опосредованном смысле этого слова, потому что
ставить OpenMosix мне пока что было упорно лень, машины весьма
разнокалиберные, и реально распределение вычислений, когда оно мне надо,
идет вручную. Но есть одна задача, в которой кластер проявляет себя во
всей красе — это массовый апдейт системы, сопряженный с оргией
компиляции всего из исходников для полудюжины разных процессоров с
разными флажками.
И есть в этом кластере машина по имени atomsk, тщательно прикидывающаяся
DVD-плеером. Он бы прикидывался еще тщательнее, но мне жалко денег на
специальный корпус, я наверное лучше закатаю его в тумбочку как-нибудь
при случае.
Так вот, несколько месяцев назад я обнаружил, что distcc, т.е. сервер
кластерной компиляции, начал валить мне какие-то ошибки, в которых
виноват этот самый atomsk. Тогда мне было некогда с ним возиться, так
что я просто выкинул его из очереди и забыл, а сейчас, когда пришла
пора перебирать Gentoo на основной машине, я решил заняться этим вплотную.
Еще тогда я выяснил, что юзеру distcc Ничего Нельзя. То есть
вообще. Сервер запускается — потому что его запускают из-под рута — но
после того как он отходит юзеру distcc, он не может сделать вообще
ничего, и оглашает кластер жалобными воплями.
Это было странно, но мне лень было разбираться и я его пересобрал. Не
помогло. Я пересобрал все остальное, не помогло. Тогда я отложил это еще
на месяц.
Сегодня я обнаружил что никому кроме рута на той машине ничего нельзя.
Поскольку atomsk работает по сути как tv appliance, то бишь показывает
аниме из-под freevo, управляется только с пульта, и полгода я его
клавиатуру уже не трогал, никаких других юзеров на нем собственно и
нет… окромя distcc. Поэтому я так долго ничего не замечал.
Сначала я грешил на PAM. И пересобрал его. Потом на ядро. Пересобрал и
его тоже. Я обратился за советом к куче мусора, но куча мусора показала
только что подобных вопросов у нее пучками по пять копеек и ни один не
получил удовлетворительного ответа.
За исключением того, что в одном из них посоветовали взглянуть на права
на /etc - и на корне тоже.
Я посмотрел на те и другие, но там все было в порядке. И тут я взглянул
на права на все остальное…
Мать моя женщина.
С половины директорий в корне слетели куда-то все execute биты.
Последствия этого самоочевидны — ни один простой юзер не мог туда
войти, не мог загрузить все что надо для логина, и очень от этого
страдал, и только один рут под которым все там крутится работал как ни
в чем не бывало.
Вот кого за это бить я так и не понял, потому что если бы я сотворил
какую-нибудь глупость в таком духе, я бы об этом точно помнил.