Re: пакет mon
On Wed, 17 Nov 2004 10:51:45 +0200 Michael Shigorin <[EMAIL PROTECTED]> wrote: > Ну, у нас Игорь Хомяков (собиравший mon) его выкинул в > пользу monit. "Вообще monit та ещё штучка", но сполняет. на monit я смотрел, но mon мне показался более гибким. -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
On Wed, Nov 17, 2004 at 09:04:20AM +0300, Konstantin Klimchev wrote: > > А вообще mon та еще штучка.. > А по подробнее... У меня пока довольно неплохое ощущение, > комфортное, я бы выразился.. Ну, у нас Игорь Хомяков (собиравший mon) его выкинул в пользу monit. "Вообще monit та ещё штучка", но сполняет. -- WBR, Michael Shigorin <[EMAIL PROTECTED]> -- Linux.Kiev http://www.linux.kiev.ua/
Re: пакет mon
On Tue, 16 Nov 2004 22:07:10 +0300 "Sergey V. Burchu" <[EMAIL PROTECTED]> wrote: > Как-то раз пришлось решать такую проблему(тож sms). > Правили init скрипт. Он в аттаче. Кажется рабочий даже. А мантейнеру не пробовали послать? Было б замечательно. По крайней мере уже 2-е кто подорвался. > А вообще mon та еще штучка.. А по подробнее... У меня пока довольно неплохое ощущение, комфортное, я бы выразился.. -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
Tue, Nov 16, 2004 at 03:38:02PM +0300, Вы(Konstantin Klimchev) написали: > Сам с собой общаюсь. Похоже на обострение... > > Корни проблемы в том, что необходимо отправлять sms при > каких-либо (заранее описаных) проблемах. > > Имеем /dev/ttyUSB0 > c правами root:dialout > и доступом crw-rw > > Проблему, описанныю в первом посте обошел следующим образом: > Владельцем /dev/ttyUSB0 сделал пользователя daemon. > > А теперь - на сколько это правильно, если это не красиво, > как сделать красиво: > - править init-скрипт, > - менять права на /dev/ttyUSB0 > - запускать от root (но это делать не буду точно) > - ... Как-то раз пришлось решать такую проблему(тож sms). Правили init скрипт. Он в аттаче. Кажется рабочий даже. А вообще mon та еще штучка.. -- Burchu Sergey. #!/bin/sh -e # $Id: init,v 1.7 2001/09/14 02:18:25 roderick Exp $ # These specify the user and group that mon runs as. You can use group # daemon instead of group shadow if you want to limit its permissions, # but then it won't be able to authenticate users against the shadow # password file. user=daemon group='shadow dialout' # Don't let group shadow write to my files. umask 22 # This specifies mon's configuration file. If this file name ends with # .m4 it's preprocssed with m4. The shell code after the assignment # causes this script to use a .m4 version if it exists. cfg=/etc/mon/mon.cf [ -f $cfg.m4 ] && cfg=$cfg.m4 # These are the args which are passed to mon. -f tells it to fork and # run as a daemon, -c just makes use of the config file setting from # above (notably, so that a .m4 version is picked up). args="-f -c $cfg" # You're less likely to need to change any of the others. script=`basename "$0"` daemon=/usr/sbin/mon pid=/var/run/mon/mon.pid desc='monitor daemon' name=mon # Add system dirs for start-stop-daemon. PATH=$PATH:/sbin:/usr/sbin [ -f $daemon -a -f $cfg ] || exit 0 # Don't bother if the user hasn't configured the package, there is no # default configuration but there is a default config file (which just # contains comments). egrep -v '^[]*$|^#' $cfg >/dev/null || exit 0 warn() { echo "$script:" "$@" >&2 } die() { warn "$@" exit 1 } usage() { [ $# = 0 ] || warn "$@" warn "usage: \`$script '" warn "valid actions: start stop restart reload force-reload" exit 1 } # I originally used su to start the daemon as user daemon, but ran into # trouble with the differing requirements of su and secure-su. The GNU # getopt's troublsome behavior of looking for switches anywhere on the # command line requires that one use -- if one wants to pass switches # to the shell, but secure-su doesn't allow the --. One could set # POSIXLY_CORRECT to prevent this poor getopt_long() behavior, but then # the sub-command would have that in its environment. In disgust I # gave up and switched to using Perl. daemon_run() { perl -we ' $user = shift; $group = shift; if ($group =~ /\s+/) { foreach $a (split(/\s+/, $group)) { defined($gid = getgrnam $a) or die "Cannot find gid for group $a\n"; if (!defined $fgid) { $fgid = $gid; } $tmp .= "$gid "; } chop($tmp); } else { defined($fgid = getgrnam $group) or die "Cannot find gid for group $group\n"; $tmp = "$fgid $fgid"; } $) = $tmp; $( = $fgid; # if ($( ne "$gid $gid" || $) ne "$gid $gid") { if ($( ne $tmp || $) ne $tmp) { die "Error setting group ids, real/effective is now $(/$)\n"; } defined($uid = getpwnam $user) or die "Cannot find uid for user $user\n"; $< = $uid; $> = $uid; if ($> != $uid || $< != $uid) { die "Error setting user ids, real/effective is now $\n"; } exec @ARGV or die "Error running $ARGV[0]: $!\n"; ' "$user" "$group" "$@" || die "return $? setting ids and running:" "$@" } [ $# = 1 ] || usage "wrong number of args (got $# expected 1), args are:" "$@" action=$1 set -- --pidfile $pid --startas $daemon -- $args stop_mon() { running_mon_pid=`cat $pid 2>/dev/null` || true daemon_is_running() { [ -f $pid -a /proc/"$running_mon_pid"/exe -ef /usr/bin/perl ] } start-stop-daemon --stop --oknodo "$@" daemon_is_running || return 0 sleep 1 daemon_is_running || return 0 # Wait for the daemon to exit before continuing, so that a subsequent # start doesn't fail if it happens too soon. echo -n " [waiting for mon (pid $running_mon_pid) to exit..." n=0 while daemon_is_running do n=`expr $n + 1` [ $n = 60 ] && die "giving up, mon still hasn't exited" echo -n . sleep 1 done echo -n "]" } case x-$action in x-start) echo -n "Starting
Re: пакет mon
On Tue, 16 Nov 2004 17:03:50 +0300 Иван Лох <[EMAIL PROTECTED]> wrote: > use POSIX; > @groups=&POSIX::getgroups() > > ;- ну вот. Я в сомнениях. То ли init-скипт менять, то ли права на /dev/ttyUSB0 -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
On Tue, Nov 16, 2004 at 04:43:40PM +0300, Konstantin Klimchev wrote: > On Tue, 16 Nov 2004 16:31:37 +0300 > "Yuri Kozlov" <[EMAIL PROTECTED]> wrote: > > > В общем я тоже не фанат перла (да и аналога getgroups я у > > него сразу не нашёл),но можно немножно поправить скриптик > огромное мерси... :) > а аналог getgroups найдем... > use POSIX; @groups=&POSIX::getgroups() ;- -- Иван Лох
Re: пакет mon
On Tue, 16 Nov 2004 16:31:37 +0300 "Yuri Kozlov" <[EMAIL PROTECTED]> wrote: > В общем я тоже не фанат перла (да и аналога getgroups я у > него сразу не нашёл),но можно немножно поправить скриптик > В daemon_run() > ... > $) = "$gid $gid 20"; > if ($( ne "$gid $gid 20" || $) ne "$gid $gid 20") > { > die "Error setting group ids, real/effective > is now > $(/$)\n"; > > зы Python лучше :) огромное мерси... :) а аналог getgroups найдем... -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
On Tue, 16 Nov 2004 15:43:36 +0300 Konstantin Klimchev <[EMAIL PROTECTED]> wrote: там еще прослойка perl'овская в инит-скрипте - может она (на нее как раз грешу), но перл для меня - надо подумать (сходу не могу) - я все более по питону. В общем я тоже не фанат перла (да и аналога getgroups я у него сразу не нашёл),но можно немножно поправить скриптик В daemon_run() ... $) = "$gid $gid 20"; if ($( ne "$gid $gid 20" || $) ne "$gid $gid 20") { die "Error setting group ids, real/effective is now $(/$)\n"; зы Python лучше :) Regards, Yuri Kozlov
Re: пакет mon
On Tue, 16 Nov 2004 15:31:32 +0300 Artem Chuprina <[EMAIL PROTECTED]> wrote: > После того, как добавил пользователя в группу, серверу > stop; start делал? Впрочем, бывает разное. да, как уже описывал >В принципе, если он сам меняет > identity, то это его задача проинитить дополнительные > группы. У clamav, например, на эту тему слово в конфиге > есть. этого нет >С другой стороны, если в норме он запускается уже > под нужным пользователем, то дополнительные группы должен > инитить не он. службы работы с инит-скриптами не могут такое творить (т.е. берем только группу пользователя, а в какие группы он входит еще - побоку)? там еще прослойка perl'овская в инит-скрипте - может она (на нее как раз грешу), но перл для меня - надо подумать (сходу не могу) - я все более по питону. А решил проблемку - права на девайс поменят. Хак об колено так сказать. -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
Сам с собой общаюсь. Похоже на обострение... Корни проблемы в том, что необходимо отправлять sms при каких-либо (заранее описаных) проблемах. Имеем /dev/ttyUSB0 c правами root:dialout и доступом crw-rw Проблему, описанныю в первом посте обошел следующим образом: Владельцем /dev/ttyUSB0 сделал пользователя daemon. А теперь - на сколько это правильно, если это не красиво, как сделать красиво: - править init-скрипт, - менять права на /dev/ttyUSB0 - запускать от root (но это делать не буду точно) - ... -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
Re: пакет mon
Konstantin Klimchev -> debian-russian@lists.debian.org @ Tue, 16 Nov 2004 15:05:53 +0300: >> Вопрос: куда делась группа 20 (dialout) >> >> PS. перезапуск сервиса выполнялся, в отчаянии даже сервер >> (он тестовый - можно) перезагружал. KK> хм... проблема где-то в недрах /etc/init.d/mon KK> если пускать "в лоб": KK> su - daemon -c "/usr/bin/mon" KK> то все нормально После того, как добавил пользователя в группу, серверу stop; start делал? Впрочем, бывает разное. В принципе, если он сам меняет identity, то это его задача проинитить дополнительные группы. У clamav, например, на эту тему слово в конфиге есть. С другой стороны, если в норме он запускается уже под нужным пользователем, то дополнительные группы должен инитить не он. -- Artem Chuprina RFC2822: <[EMAIL PROTECTED]>, FIDO: 2:5020/122.256, Jabber: [EMAIL PROTECTED]
Re: пакет mon
On Tue, 16 Nov 2004 14:50:48 +0300 Konstantin Klimchev <[EMAIL PROTECTED]> wrote: > Вопрос: куда делась группа 20 (dialout) > > PS. перезапуск сервиса выполнялся, в отчаянии даже сервер > (он тестовый - можно) перезагружал. хм... проблема где-то в недрах /etc/init.d/mon если пускать "в лоб": su - daemon -c "/usr/bin/mon" то все нормально -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia
пакет mon
Добрый день! Прошу помощи - что-то я уже совсем ничего не понимаю :( 1) Есть пакет mon, работающий с правами daemon:shadow 2) Прописываю пользователя daemon в группу dialout: debian:~# id daemon uid=1(daemon) gid=1(daemon) groups=1(daemon),20(dialout) или debian:~# su - daemon -c 'id' uid=1(daemon) gid=1(daemon) groups=1(daemon),20(dialout) 3) Создаю alert echo "`date` `id`" >> /tmp/test.alert.log результат сработки которго: Tue Nov 16 14:33:31 MSK 2004 uid=1(daemon) gid=42(shadow) groups=42(shadow) Вопрос: куда делась группа 20 (dialout) PS. перезапуск сервиса выполнялся, в отчаянии даже сервер (он тестовый - можно) перезагружал. -- Best Regards, Konstantin Klimchev (mailto:[EMAIL PROTECTED]jabber:[EMAIL PROTECTED]) ATK-Internet ISP, Arkhangelsk, Russia