From: "Dmitry V. Levin" <ldv@altlinux.org> To: ALT Devel discussion list <devel@altlinux.ru> Subject: [devel] I: service-0.0.3: introduction to new start/stop service scheme Date: Sat, 26 Apr 2003 01:41:51 +0400 Message-ID: <20030425214151.GA29795@nomad.office.altlinux.org> (raw) [-- Attachment #1: Type: text/plain, Size: 2001 bytes --] Greetings! С пакета service-0.0.3 начинается внедрение новой схемы start/stop-скриптов. 1. Недостатки прежней схемы. Ныне действующая практика, унаследованная от RedHat, и используемая почти во всех RH-совместимых дистрибутивах, основана на поиске процессов по имени, что чревато проблемами, некоторые их которых перечислены ниже: - При запуске демона осуществляется поиск уже запущенных процессов, при этом есть шанс ошибочного нахождения процесса, обслуживающего клиента, что препятствует запуску демона. - При остановке демона и отсутствии pid-файла осуществляется поиск уже запущенных процессов, при этом есть шанс ошибочного нахождения процесса, обслуживающего клиента, что приводит к остановке процессов, которые не подлежат остановке. - Вообще, при поиске процессов по неполному имени есть шанс ошибочного нахождения процесса, не имеющего отношения к искомому, как случайно, так и вследствие атаки, организованной локальным злоумышленником. Вот пара примеров из реальной жизни: - Попытка перезапуска sshd. ssh localhost su - service sshd restart (ой!) service sshd restart (ой-ой-ой!) - Попытка перезапуска crond. echo '* * * * * nobody /usr/bin/pause' >/etc/cron.d/pause chmod 700 /etc/cron.d/pause (через одну-две минуты будет запущен процесс /usr/bin/pause) service сrond restart (ой!) 2. Новая схема призвана устранить эти недостатки. За основу взята реализация из Owl, основанная на Debian-derived start-stop-daemon. При использовании pid-файлов совместно с абсолютными путями к исполняемым файлам процессов удаётся избежать проблем, перечисленных выше. Текущая реализация (0.0.3), как видно по номеру, не является окончательной. Документация типа той, что есть к прежней схеме (/usr/share/doc/initscripts-*/sysvinitfiles), ещё не написана. В Сизифе уже есть (пока) один пример использования, /etc/init.d/crond из пакета vixie-cron-3.0.1-ipl57mdk, можно сравнить файлом из предыдущей версии. Пожелания и сообщения об ошибках приветствуются. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2003-04-25 21:41 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-04-25 21:41 Dmitry V. Levin [this message] 2003-04-27 19:09 ` Dmitry V. Levin 2003-04-29 14:51 ` [devel] " Michael Shigorin 2003-04-29 15:03 ` Dmitry V. Levin
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=20030425214151.GA29795@nomad.office.altlinux.org \ --to=ldv@altlinux.org \ --cc=devel@altlinux.ru \ /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 Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git