kvpnc при первом коннекте к серверу меняет права на /dev/null на 664, в результате чего банальный ssh сразу выпадает с ошибкой Couldn't open /dev/null: Permission denied Приходится вручную менять права. Воспроизводится 100%. Тест 1. Запуск kvpnc 2. Запуск vpn сессии (при этом меняются права) 3. Восстанавливаю права 4. Отключаю-подключаю сессии - права остаются прежними 5. Закрываю kvpnc - права остаются прежними kvpnc-0.9.2-alt1 2.6.30-std-def-alt14
Это блокер, согласно http://www.altlinux.org/BugSeverityPolicy; чинить осмысленно в Sisyphus, а в M51 скопировать.
Подумал было, что виноват pptp, проверил так - на машине с 4.1/бранч поставил pptp-client-1.7.2-alt1 из 5.1 - не воспроизводится. На эту же машину поставить kvpnc-0.9.2 (стоит 0.9.0) не получилось, потому что попросил kde4libs не ниже 4.3.0, а это уже половина бранча 5.1. Покопался в исходниках - честно говоря, не нашел, где такое может происходить
Попробуйте 0.9.3, когда доберется. А вообще, есть вероятность, что меняет не он, а тот, кого запускает.
не утерпел, вытянул 0.9.3 из git`a, то же самое.
В общем, копание в исходном коде локализовало примерную область, где это происходит. Блок между строками 4622-4632 в kvpnc.cpp - проверка возможностей pppd. На днях продолжу изыскания
(В ответ на комментарий №5) > Блок между строками 4622-4632 в kvpnc.cpp там есть Utils::checkPppdCapabilities(), в которой есть строки args.append("/dev/null") Возможно, запускают как-то не так или сам pppd хулиганит
Там запускается pppd /dev/null require-mppe , после чего слетают права
Как-минимум, pppd должен восстановить права обратно
(In reply to comment #7) > Там запускается pppd /dev/null require-mppe Зачем там /dev/null?! (и не для желаемого ли часом есть опция notty?) > после чего слетают права Да, pppd что-то делал с правами на ttyS. См. тж. ppp-2.4.1-pidfile-owner.patch для этого куска. Тем не менее мне _пока_ кажется, что подсовывать /dev/null в качестве tty противоестественно. То есть исправление ppp для учёта таких случаев склонен считать работой над повышением дуракоустойчивости. Если будет необходимо, могу помочь с текстом письма для доведения этого соображения до апстрима kvpnc.
> > Там запускается pppd /dev/null require-mppe > Зачем там /dev/null?! (и не для желаемого ли часом есть опция notty?) точно. Заменил в исходниках /dev/null на notty, пересобрал - проблема исчезла. Единственное, что заметил - в логе в момент запуска вываливается набор символов, как если бы в консоли ввести pppd notty require-mppe, но имхо, это не страшно. Потом пришла мысль, что автор хотел сделать pppd require-mppe > /dev/null. Заменил в utils.cpp (строки 648-649) args.append("/dev/null") args.append("require-mppe") на args.append("require-mppe") args.append(" > /dev/null") И этот вариант тоже сработал. В таком виде в логе ничего не появляется (видимо, это и было задумкой), права не слетают (с чего бы вдруг?), тест на mmpe проходит нормально, судя по тому, что в логе обнаружена строка "отладка: /usr/sbin/pppd имеет поддержку MPPE.". Исходная бага проявлялась только при первом коннекте после запуска kvpnc, последующие коннекты не меняли права на /dev/null и, судя по логам так и происходит, потому что проверка mppe проходит только при первом коннекте. > Если будет необходимо, могу помочь с текстом письма для доведения этого > соображения до апстрима kvpnc. думаю, было бы неплохо
(В ответ на комментарий №10) > но имхо, это не страшно. теплое вместо зеленого не прокатит. > > соображения до апстрима kvpnc. > думаю, было бы неплохо да, было бы здорово
(В ответ на комментарий №10) > args.append("require-mppe") > args.append(" > /dev/null") Не дочитал сразу. Да. Это можно.
kvpnc-0.9.3-alt2