информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеАтака на InternetГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / dnet
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт... 18.08.04 14:02  Число просмотров: 2116
Автор: ddmitry Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт соответствующий. Скриптик лезет на сервер по ssh (авторизация по ключам), запускает клиента, отключается. И так по-очереди. А утром то же самое с -shutdown. Можно попробовать screen. Хотя как не засветить в процессах софтину, съедающую всё процессорное время, не знаю... Может быть какой-нибудь руткит.
<dnet>
скрипт для запуска вручную на freebsd с удаленной тачки 17.08.04 21:07  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
<"чистая" ссылка>
Итак, имеем несколько машин, работающих под управлением FreeBSD. По ночам они практически простаивают.
Нужно запускать на них всех клиента каждую ночь и вырубать его поутру.
cron не предлагать - как раз смысл в том, чтобы клиента не особо светить.
Идеальным был бы такой вариант: налабать скрипт, который ручками (или уж по крону) запускался бы на одной машине и запускал бы клиентов на остальных.
Не подойдет вариант с "pause flagfile" - клиента желательно без надобности в процессах не светить.
А теперь скажите мне: такое вообще возможно? Или я занимаюсь дурней?
Если возможно, то с какой стороны к скрипту подходить? как вообще можно запустить какой-либо скрипт на удаленной машине? Я так понимаю, что ssh не пойдет - нужно ведь запускать демонов. А рутом по ssh нельзя (точнее можно, но я открывать это дело не хочу по своим соображениям).
В общем, скажите хоть что-то...
Проверил, работает 18.08.04 14:35  
Автор: VEK Статус: Незарегистрированный пользователь
<"чистая" ссылка>
IMHO все просто. На одной машине руками или кроном запускаешь
ssh hostN /path/to/dnetc -hide
утром - ssh hostN /path/to/dnetc -shutdown
Не обязательно рутом, клиент запускается любым пользователем. Сейчас проверил все работает. Единственый момент, где могут быть трудности, это настройка запуска без запроса пароля или парольной фразы из крона.
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт... 18.08.04 14:02  
Автор: ddmitry Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт соответствующий. Скриптик лезет на сервер по ssh (авторизация по ключам), запускает клиента, отключается. И так по-очереди. А утром то же самое с -shutdown. Можно попробовать screen. Хотя как не засветить в процессах софтину, съедающую всё процессорное время, не знаю... Может быть какой-нибудь руткит.
Все, спасибо. 21.08.04 13:01  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
Отредактировано 21.08.04 13:05  Количество правок: 1
<"чистая" ссылка>
Просто не знал, в каком направлении рыть (по причине малого опыта с *nix думал, что по ssh на автомате залететь нельзя :-) - только через пароль).

В общем, вот рецепт - может, кому еще пригодится:

1. Создаем одинаковых юзеров на клиенте (та машина, с которой будут запускаться все остальные) и на серверах (те тачки, на которых нужно будет запускать клиентов).

2. На клиенте генерируем пару ключей при помощи
ssh-keygen -d
Эта команда создаст в папке $HOME/.ssh 2 файла:
id_dsa и id_dsa.pub
Файл id_dsa.pub необходимо положить на каждый из серверов в соотв. папку ($HOME/.ssh), однако переименовав его в authorized_keys (в этот файл при необходимости можно после добавлять еще ключи для других хостов)

3.На тачке-клиенте ваяем скрипт по следующему образцу:
#!/bin/sh dnetc=/home/user/dnetc/dnetc hosts="host1 host2 host3" if [ "$1" = "start" ]; then for host in ${hosts}; do ssh $host $dnetc" -hide" done elif [ "$1" = "stop" ]; then for host in ${hosts}; do ssh $host $dnetc" -shutdown" done else echo "Unknown command $1" fi

В общем, вместо переменной $dnetc подставляем свое значение.
Ну и в массив hosts пишем через пробел названия хостов или их IP-адреса.

После этого скрипт, запущенный с параметром start запустит клиентов на всех Нужных хостах, а с параметром stop - остановит их.
Можно еще вместо
ssh $host $dnetc
прописать
ssh "user@"$host $dnetc
я так понимаю, что это даст возможность запускать скрипт от имени любого пользователя (хотя и не проверял). В крон его засовывать не хочу - буду стартовать ручками, так что вопрос пользователя неактуален пока.

Если есть какие-то замечания/дополнения - буду рад и признателен!

Единственное, что меня смутило в бздевом клиенте - так это то, что если запускать его с -hide а потом останавливать с -shutdown, то слышна ругань вроде:
dnetc: No distributed.net clients were found. None shutdown.
хотя клиент на самом деле останавливается вполне корректно.

> Хотя как не засветить в процессах
> софтину, съедающую всё процессорное время, не знаю...

Да нет, ночью пусть себе светится :-)
главное, чтобы днем все тип-топ было ;-)
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach