From: "Michael A. Kangin" <mak@rsmu.ru> To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org> Subject: Re: [sisyphus] OpenVPN: таймаут для пароля на сертификат Date: Sun, 12 Oct 2008 10:36:24 +0400 Message-ID: <200810121036.24201.mak@rsmu.ru> (raw) In-Reply-To: <20081011173220.5fab8fb4@v3405.naf.net.ru> On 11 октября 2008 Nikolay A. Fetisov wrote: > > Вот было бы круто, если бы и сервис openvpn, жаждя пароля, позволял > > оставшимся сервисам запускаться в фоне параллельно. > > Для этого как минимум для начала потребуется переход на > систему с параллельным запуском сервисов. Хотя и потом вряд ли > получится. Ну почему же... > И опять же - данный момент не является чем-либо специфичным для > OpenVPN. Аналогичные проблемы можно словить и со всем остальным, что > использует сертификаты SSL. Именно. Более того - любой сервис имеет потенциальную возможность встать в позу зю и помешать нормальной инициализации системы. На моей памяти еще /etc/init.d/ntpd крысятничал попыткой во что-бы то ни стало синхронизировать время при старте, несмотря на недоступность сети. Ну там хоть таймаут был минутки на три... Я хочу сказать, что проблема более системная и общая, мои кривые ручонки вкупе с OpenVPN и сертификатами с паролями лишь некоторые её проявления. :) ИМХО нужен вотчдог на старт сервисов. Дающий некоторый разумный таймаут (да хоть 5 минут, хоть пол-часа) на инициализацию, а затем прибивающий неудачнегов. В качестве мерзкого, но рабочего концепта могу предложить: ------------- --- /etc/rc.d/init.d/functions.bak 2008-10-11 22:03:31 +0400 +++ /etc/rc.d/init.d/functions 2008-10-12 01:28:30 +0400 @@ -215,6 +215,11 @@ [ -z "$ANNOUNCE" ] || msg_starting "$DISPNAME" # Actually start the daemon. + [ -n "$WATCHDOG_TIME" ] && { + /bin/sh -c "sleep $WATCHDOG_TIME; killall initlog" & + killer_pid=$! + } + if [ -z "$SU" ]; then initlog $INITLOG_ARGS -n "$BASENAME" -c "start-stop-daemon $FLAGS -- $*" else @@ -223,6 +228,8 @@ fi STATUS=$? + [ -n "$WATCHDOG_TIME" ] && kill $killer_pid + if [ $STATUS = 0 ]; then [ -z "$LOCKFILE" ] || touch "$LOCKFILE" [ "$BOOTUP" != verbose ] || echo -n " $DISPNAME " ---------------- Переменную $WATCHDOG_TIME можно определить в /etc/sysconfig/init, например WATCHDOG_TIME=1m -- wbr, Michael A. Kangin OIOS, RSMU
next prev parent reply other threads:[~2008-10-12 6:36 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-10-11 12:15 Michael A. Kangin 2008-10-11 12:48 ` Nikolay A. Fetisov 2008-10-11 13:05 ` Michael A. Kangin 2008-10-11 13:32 ` Nikolay A. Fetisov 2008-10-11 13:36 ` Mikhail Gusarov 2008-10-12 6:36 ` Michael A. Kangin [this message] 2008-10-11 12:50 ` Sergey Lebedev 2008-10-11 12:59 ` Michael A. Kangin 2008-10-14 17:06 ` Mike Almateia
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200810121036.24201.mak@rsmu.ru \ --to=mak@rsmu.ru \ --cc=sisyphus@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git