* RE: [COMM] кошерный запуск процесса
@ 2005-02-10 12:10 Eugene.Ostapets
2005-02-10 12:42 ` Alexey Morsov
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Eugene.Ostapets @ 2005-02-10 12:10 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 854 bytes --]
> Это извините "за мухами с молотком" :) Софтинка тупо раз в секунду
> конектится к БД, собирает данные, формирует письмо и запыживает
> sendmail-у :) Демонизировать ее смысла не вижу, не достойна.
Любое решение, кроме демонизации является слишком сложным и не достойным внимания.
> Да и честно говоря не знаю как это делается :)
man fork
> > uid/gid. На чем написанн софт? Для пущей надежности можно еще и в
> chroot'е
> Софт (сильно сказано) написан на C.
man setreuid
man setrugid
man 2 chroot
> так чтооооо... есть еще варинаты?
> Ну я не против ее демонизировать, и менять uid/gid - но тогда может
> подскажите где найти примеры как ЭТО делать на C?
>
Если описания этих четырех вызовов не хватит для написания программы - посмотри в исходники любого ftp сервера в составе дистрибутива.
--
С уважением,
Евгений Остапец
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Остапец, Евгений.vcf --]
[-- Type: text/x-vcard; name="Остапец, Евгений.vcf", Size: 314 bytes --]
BEGIN:VCARD
VERSION:2.1
N:Ostapets;Eugene
FN:Îñòàïåö, Åâãåíèé
ORG:Kvazar-Micro Education;Education Center
TEL;WORK;VOICE:6491
ADR;WORK:;;;Kyiv;;04136;Ukraine
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Kyiv 04136=0D=0AUkraine
EMAIL;PREF;INTERNET:Eugene.Ostapets@kvazar-micro.com
REV:20041221T124152Z
END:VCARD
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:10 [COMM] кошерный запуск процесса Eugene.Ostapets
@ 2005-02-10 12:42 ` Alexey Morsov
2005-02-10 13:10 ` Alexey V. Novikov
2005-02-11 9:55 ` Grigory Milev
2005-02-14 8:17 ` Alexey Morsov
` (2 subsequent siblings)
3 siblings, 2 replies; 16+ messages in thread
From: Alexey Morsov @ 2005-02-10 12:42 UTC (permalink / raw)
To: community
Eugene.Ostapets@kvazar-micro.com wrote:
> man fork
> man setreuid
> man setrugid
> man 2 chroot
угу.... зашибись :) попытаюсь но сильно сумневаюсь ;)
> Если описания этих четырех вызовов не хватит для написания программы -посмотри в исходники любого ftp сервера в составе дистрибутива.
ага... чую после этого программа вырастет раза в три :)
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:42 ` Alexey Morsov
@ 2005-02-10 13:10 ` Alexey V. Novikov
2005-02-11 9:55 ` Grigory Milev
1 sibling, 0 replies; 16+ messages in thread
From: Alexey V. Novikov @ 2005-02-10 13:10 UTC (permalink / raw)
To: community
On 10.02.2005 15:42, Alexey Morsov пишет:
>
> Eugene.Ostapets@kvazar-micro.com wrote:
>
>> man fork
>> man setreuid
>> man setrugid
>> man 2 chroot
>
> угу.... зашибись :) попытаюсь но сильно сумневаюсь ;)
>
можно ограничиться только fork, если ее сразу запускать от нужного
пользователя.
>> Если описания этих четырех вызовов не хватит для написания программы
>> -посмотри в исходники любого ftp сервера в составе дистрибутива.
>
> ага... чую после этого программа вырастет раза в три :)
>
для fork, она вырастет на пару строк. правда если прога из одной строки,
то Вы правы.:)
--
WBR, Alexey V. Novikov
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:42 ` Alexey Morsov
2005-02-10 13:10 ` Alexey V. Novikov
@ 2005-02-11 9:55 ` Grigory Milev
2005-02-11 10:12 ` Alexey Morsov
1 sibling, 1 reply; 16+ messages in thread
From: Grigory Milev @ 2005-02-11 9:55 UTC (permalink / raw)
To: community
>>>>> "Alexey" == Alexey Morsov <samurai@ricom.ru> writes:
Alexey> Eugene.Ostapets@kvazar-micro.com wrote:
>> man fork man setreuid man setrugid man 2 chroot
Alexey> угу.... зашибись :) попытаюсь но сильно сумневаюсь ;)
>> Если описания этих четырех вызовов не хватит для написания программы
>> -посмотри в исходники любого ftp сервера в составе дистрибутива.
Alexey> ага... чую после этого программа вырастет раза в три :)
Ничего подобного, для демонизации и смены владельца надо добавить всего
несколько строк, а вот для chroot еще понадобиться несколько скриптикова
накрапать, но то-же не есть большой проблемы. Можешь еще на ircd посмотреть
как на пример.
+--------------------------------------------------------+
Grigory Milev mailto:week@altlinux.ru
ALT Linux Team http://www.altlinux.ru
+--------------------------------------------------------+
Life too beautiful and interesting. Don't worry, be happy.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 9:55 ` Grigory Milev
@ 2005-02-11 10:12 ` Alexey Morsov
2005-02-11 10:36 ` Grigory Milev
0 siblings, 1 reply; 16+ messages in thread
From: Alexey Morsov @ 2005-02-11 10:12 UTC (permalink / raw)
To: community
Grigory Milev wrote:
> Ничего подобного, для демонизации и смены владельца надо добавить всего
так... про демонизацию понял... бду пробовать...
А вот с владельцем... хм... реального то юзер авсе-равно заводить
прийдется?
> несколько строк, а вот для chroot еще понадобиться несколько скриптикова
Ну вотв чрут ее закапыть видимо не буду - она ничего не слушает...
никаких конектов не принимает... так что.... смысл?
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 10:12 ` Alexey Morsov
@ 2005-02-11 10:36 ` Grigory Milev
2005-02-11 11:20 ` Alexey Morsov
0 siblings, 1 reply; 16+ messages in thread
From: Grigory Milev @ 2005-02-11 10:36 UTC (permalink / raw)
To: community
>>>>> "Alexey" == Alexey Morsov <samurai@ricom.ru> writes:
Alexey> Grigory Milev wrote:
>> Ничего подобного, для демонизации и смены владельца надо добавить всего
Alexey> так... про демонизацию понял... бду пробовать... А вот с
Alexey> владельцем... хм... реального то юзер авсе-равно заводить
Alexey> прийдется?
Естественно, если хочется что-бы процесс от каого-то юзверя вращался, сей
юзверь должен существовать, можно с shell=/dev/null и home=/dev/null
>> несколько строк, а вот для chroot еще понадобиться несколько
>> скриптикова
Alexey> Ну вотв чрут ее закапыть видимо не буду - она ничего не
Alexey> слушает... никаких конектов не принимает... так что.... смысл?
А это не суть, что-то ведь твоя софтина делает, а раз делает, значит к ней
как-то доколупаться можно. Хотя, если она только "Hello world" рисует, то это
будет сделать проблематично :-))
+--------------------------------------------------------+
Grigory Milev mailto:week@altlinux.ru
ALT Linux Team http://www.altlinux.ru
+--------------------------------------------------------+
Life too beautiful and interesting. Don't worry, be happy.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 10:36 ` Grigory Milev
@ 2005-02-11 11:20 ` Alexey Morsov
2005-02-11 11:33 ` Andriy Dobrovol's'kii
2005-02-11 12:05 ` Grigory Milev
0 siblings, 2 replies; 16+ messages in thread
From: Alexey Morsov @ 2005-02-11 11:20 UTC (permalink / raw)
To: community
Grigory Milev wrote:
> Естественно, если хочется что-бы процесс от каого-то юзверя вращался, сей
> юзверь должен существовать, можно с shell=/dev/null и home=/dev/null
Осознал :) Окей.. сделаем... :)
Ее бы еще в пакет завернуть - ну чтобы уж совсем кошернооо :)
Пока в пакетам мне не ясно что делать на этапе %install
(читаю atmsk)
> А это не суть, что-то ведь твоя софтина делает, а раз делает, значит к ней
> как-то доколупаться можно. Хотя, если она только "Hello world" рисует, то это
Врядли к ней можно доколупаться... ибо она делает запрос к удаленному
mysql серверу и результат отправляет по почте командой sendmail :)
Собственно :)
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 11:20 ` Alexey Morsov
@ 2005-02-11 11:33 ` Andriy Dobrovol's'kii
2005-02-11 11:40 ` Alexey Morsov
2005-02-11 12:05 ` Grigory Milev
1 sibling, 1 reply; 16+ messages in thread
From: Andriy Dobrovol's'kii @ 2005-02-11 11:33 UTC (permalink / raw)
To: community
Alexey Morsov wrote:
>
> Врядли к ней можно доколупаться... ибо она делает запрос к удаленному
> mysql серверу и результат отправляет по почте командой sendmail :)
> Собственно :)
>
>
Тренируетесь в написании спам-роботов? ;)
--
Rgrds,
Andriy
*********************************************************************
email: dobr at iop dot kiev dot ua Kyiv, Ukraine
Phone: (380-44) 265-7824 Department of Gas Electronics
Fax: (380-44) 265-2329 Institute of Physics of NASU
*********************************************************************
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 11:20 ` Alexey Morsov
2005-02-11 11:33 ` Andriy Dobrovol's'kii
@ 2005-02-11 12:05 ` Grigory Milev
2005-02-11 14:12 ` Alexey Morsov
1 sibling, 1 reply; 16+ messages in thread
From: Grigory Milev @ 2005-02-11 12:05 UTC (permalink / raw)
To: community
>>>>> "Alexey" == Alexey Morsov <samurai@ricom.ru> writes:
Alexey> Grigory Milev wrote:
>> Естественно, если хочется что-бы процесс от каого-то юзверя вращался,
>> сей юзверь должен существовать, можно с shell=/dev/null и
>> home=/dev/null
Alexey> Осознал :) Окей.. сделаем... :) Ее бы еще в пакет завернуть - ну
Alexey> чтобы уж совсем кошернооо :) Пока в пакетам мне не ясно что делать
Alexey> на этапе %install (читаю atmsk)
Установить нужные файлы в: fakeroot/usr/bin и т.д.
>> А это не суть, что-то ведь твоя софтина делает, а раз делает, значит к
>> ней как-то доколупаться можно. Хотя, если она только "Hello world"
>> рисует, то это
Alexey> Врядли к ней можно доколупаться... ибо она делает запрос к
Alexey> удаленному mysql серверу и результат отправляет по почте командой
Alexey> sendmail :) Собственно :)
MySQL сервер может какую-нить лажу вернуть :-)
+--------------------------------------------------------+
Grigory Milev mailto:week@altlinux.ru
ALT Linux Team http://www.altlinux.ru
+--------------------------------------------------------+
Life too beautiful and interesting. Don't worry, be happy.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-11 12:05 ` Grigory Milev
@ 2005-02-11 14:12 ` Alexey Morsov
0 siblings, 0 replies; 16+ messages in thread
From: Alexey Morsov @ 2005-02-11 14:12 UTC (permalink / raw)
To: community
Grigory Milev wrote:
> Установить нужные файлы в: fakeroot/usr/bin и т.д.
Я понимаю что оно должно делать... только оно не делает... ругается что
нет такой дирректории - дело в макросах или где-то тут...
не знаю.. надо копать доки
сейчас то у меня в спеке стоит голый %install
надо ему что-то объяснить...
> MySQL сервер может какую-нить лажу вернуть :-)
только в случае покладания лажы в него (не ко мне) и некорректной
обработки resultset-а мной ;)
В принципе программулина не моя и работает успешно уже пару месяцев ан
другом хосте (под RH8)
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:10 [COMM] кошерный запуск процесса Eugene.Ostapets
2005-02-10 12:42 ` Alexey Morsov
@ 2005-02-14 8:17 ` Alexey Morsov
2005-02-14 11:32 ` Eugene Prokopiev
2005-02-15 13:13 ` Alexey Morsov
3 siblings, 0 replies; 16+ messages in thread
From: Alexey Morsov @ 2005-02-14 8:17 UTC (permalink / raw)
To: community
Eugene.Ostapets@kvazar-micro.com wrote:
> man fork
Работает :)
> man setreuid
> man setrugid
использовал setuid, setgid - это так ли уж фажно? вродед работает и
пнормально работает, как требуется :)
> man 2 chroot
Работает :)
Вот... теперь при $demon - d он запускает демона сохраняя его pid в
файл, а при $demon -s убивает его считав pid из файла..
Круто!
Но осталось два момента:
пути к chroot, log, pid файла ну и еще host к которому конектироваться
будет... что бы уж совсем кошрено их бы вынести в файл .conf, но как из
него потом читать попроще?
Пробовал fscanf(file,"%s = %s", &name, &value) по строкам... читает... и
даже коменты различает, но это как-то очень жестко и не очень удобно.
Есть ли другие способы?
И второй момент - собственно установка UID\GID - чем можно получить ID
по имени?
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:10 [COMM] кошерный запуск процесса Eugene.Ostapets
2005-02-10 12:42 ` Alexey Morsov
2005-02-14 8:17 ` Alexey Morsov
@ 2005-02-14 11:32 ` Eugene Prokopiev
2005-02-15 13:13 ` Alexey Morsov
3 siblings, 0 replies; 16+ messages in thread
From: Eugene Prokopiev @ 2005-02-14 11:32 UTC (permalink / raw)
To: community
Прошу прощения, что я так поздно вмешиваюсь, но не могу молчать :)
Люди, вы звери!
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user
$USER -- $BINFILE $OPTIONS
Этого в стартовом скрипте хватило бы выше крыши.
Я понимаю, что лучше день потерять, потом за час долететь, но надо же
иметь предел фантазии :)
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [COMM] кошерный запуск процесса
2005-02-10 12:10 [COMM] кошерный запуск процесса Eugene.Ostapets
` (2 preceding siblings ...)
2005-02-14 11:32 ` Eugene Prokopiev
@ 2005-02-15 13:13 ` Alexey Morsov
2005-02-15 13:34 ` [COMM][JT] " Vasya Makarov
3 siblings, 1 reply; 16+ messages in thread
From: Alexey Morsov @ 2005-02-15 13:13 UTC (permalink / raw)
To: community
И снова про коШшшерный запуск процесса %-)
кто-нибудь может объяснить почему имея
[root@test init.d]# cat mailsender
#!/bin/sh
#
# mailsender start and stop mailsender process
#
# chkconfig: 345 90 10
#
# description: mailsender is to send alerts via email
#
# processname: mailsender
# pidfile: /var/run/mailsender.pid
#
# Source function library.
. /etc/init.d/functions
LOCKFILE=/var/lock/subsys/mailsender
PIDFILE=/var/run/mailsender.pid
RETVAL=0
start() {
# is_yes "$NETWORKING" || return 0
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE"
--expect-user webmaster -- mailsender -d
RETVAL=$?
return $RETVAL
}
stop() {
stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE"
--expect-user webmaster mailsender
RETVAL=$?
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status --pidfile "$PIDFILE" --expect-user webmaster mailsender
RETVAL=$?
;;
*)
msg_usage "${0##*/} {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL
(фактически скопировал с cyrus-imapd)
далее, имеем следующее безобразие:
[root@test init.d]# service mailsender status
mailsender is stopped
[root@test init.d]# service mailsender start
Starting mailsender service:
[ DONE ]
[root@test init.d]# ps aux|grep mailsender
root 7867 0.0 0.2 2056 540 pts/0 S 14:15 0:00
/usr/local/bin/mailsender -d
[root@test init.d]# service mailsender status
mailsender is dead, but subsystem is locked
[root@test init.d]# ps aux|grep mailsender
root 7867 0.0 0.3 2104 776 pts/0 S 14:15 0:00
/usr/local/bin/mailsender -d
[root@test init.d]# service mailsender stop
Service mailsender is not running.
[PASSED]
[root@test init.d]# ps aux|grep mailsender
root 7867 0.0 0.3 2104 776 pts/0 S 14:15 0:00
/usr/local/bin/mailsender -d
[root@test init.d]# ls -l /var/run/|grep mail
drwxrwxr-x 2 root mail 4096 Feb 14 17:39 amavis
drwxrwsr-t 2 root mail 4096 Feb 14 17:39 clamav
drwxr-x--x 2 mailgraph root 4096 Feb 14 17:39 mailgraph
[root@test init.d]# ls -l /var/lock/subsys/|grep mail
[root@test init.d]# kill 7867
[root@test init.d]# ps aux|grep mailsender
:(
--
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai@jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2005-02-15 14:46 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-10 12:10 [COMM] кошерный запуск процесса Eugene.Ostapets
2005-02-10 12:42 ` Alexey Morsov
2005-02-10 13:10 ` Alexey V. Novikov
2005-02-11 9:55 ` Grigory Milev
2005-02-11 10:12 ` Alexey Morsov
2005-02-11 10:36 ` Grigory Milev
2005-02-11 11:20 ` Alexey Morsov
2005-02-11 11:33 ` Andriy Dobrovol's'kii
2005-02-11 11:40 ` Alexey Morsov
2005-02-11 12:05 ` Grigory Milev
2005-02-11 14:12 ` Alexey Morsov
2005-02-14 8:17 ` Alexey Morsov
2005-02-14 11:32 ` Eugene Prokopiev
2005-02-15 13:13 ` Alexey Morsov
2005-02-15 13:34 ` [COMM][JT] " Vasya Makarov
2005-02-15 14:46 ` Alexey Morsov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/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 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git