URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 30192
[ Назад ]

Исходное сообщение
"Выключить удаленно роутер не из-под root'а"

Отправлено os , 23-Май-03 11:37 
Нужно удаленно вырубить роутер по ssh не из под root а из под специально заведенного для этого пользователя. То есть например пользователь под именем down заходит на роутер и у него сразу выполняется скрипт который сразу говорит halt машине. Можно как то такого пользователя создать с правами останова машины? Если нет может создать скрипт который выполнит su, но при этом возьмет пароль не с клавиатуры а из файла например?
Как в команде su ввести пароль из файла а не с клавиатуры?
Спаибо за ответы.

Содержание

Сообщения в этом обсуждении
"Выключить удаленно роутер не из-под root'а"
Отправлено grimnir , 23-Май-03 11:52 
Используйте не su, а sudo

>Нужно удаленно вырубить роутер по ssh не из под root а из
>под специально заведенного для этого пользователя. То есть например пользователь под
>именем down заходит на роутер и у него сразу выполняется скрипт
>который сразу говорит halt машине. Можно как то такого пользователя создать
>с правами останова машины? Если нет может создать скрипт который выполнит
>su, но при этом возьмет пароль не с клавиатуры а из
>файла например?
>Как в команде su ввести пароль из файла а не с клавиатуры?
>
>Спаибо за ответы.



"Выключить удаленно роутер не из-под root'а"
Отправлено lavr , 23-Май-03 12:00 
>Нужно удаленно вырубить роутер по ssh не из под root а из
>под специально заведенного для этого пользователя. То есть например пользователь под
>именем down заходит на роутер и у него сразу выполняется скрипт
>который сразу говорит halt машине. Можно как то такого пользователя создать
>с правами останова машины? Если нет может создать скрипт который выполнит
>su, но при этом возьмет пароль не с клавиатуры а из
>файла например?
>Как в команде su ввести пароль из файла а не с клавиатуры?
>
>Спаибо за ответы.

достаточно посмотреть ls -la /sbin/halt или /sbin/shutdown на
предмет chown и/или suid, создать НУЖНОГО пользователя, разрешить доступ
только с виртуальных консолей и по ssh, вместо SHELL /path/halt или
скрипт для shutdown без ожидания.

PS. Хорошего в этом мало, стервер должен всегда работать. Если падает
или вырубается питание - вставать сам, на аварийный случай - инструкция
для поднятия ответственными лицами.


"Выключить удаленно роутер не из-под root'а"
Отправлено os , 23-Май-03 12:12 
Спасибо за ответы.
1. Про sudo начал читать, пока не понятно :)
2. По ls -la /sbin/halt выдает:
   -r-xr-xr-x  4 root  wheel  227484 Oct  9  2002 /sbin/halt
   А как создать НУЖНОГО?:)
   Сервер с инетом включается утром и выключается вечером. Стоит он на работе и служит только для почты и просмотра www. Сам я программист а не администратор волею судеб:) вынужденный выполнять работу админа, поэтому только учусь всему этому:) Пардон за глупые вопросы.
Еще раз спасибо.

"Выключить удаленно роутер не из-под root'а"
Отправлено os , 23-Май-03 12:22 
И еще:)
По ssh можно зайти только с 2 компов, с админовского и с того коим и предпологается выключать роутер. Видится это так: вечером последний уходящий из под виндов вызывает программу ssh secure shell, логинится под пользователем down и роутер останавливается. После чего отключается электричество во всем здании.



"Выключить удаленно роутер не из-под root'а"
Отправлено Den , 23-Май-03 12:51 
>И еще:)
>По ssh можно зайти только с 2 компов, с админовского и с
>того коим и предпологается выключать роутер. Видится это так: вечером последний
>уходящий из под виндов вызывает программу ssh secure shell, логинится под
>пользователем down и роутер останавливается. После чего отключается электричество во всем
>здании.

Фигня. Есть тривиальное решение этой проблемы без ssh, su, sudo и прочей хрени:
Ставишь апач (это к примеру, можно другой веб сервак), налаживаешь cgi, когда надо вырубить машину - заходишь на страничку соотв. и жмешь на ссылку, кнопку... короче чего больше нравится. Скрипт из под веб-сервера создает файлик (можно пустой), и на этом его функция заканчивается.
Далее, из крона каждую минуту запускается скрипт, который проверяет наличие файлика и если он есть - стирает и тушит сервак. Вот и все. Никаких дырок в безопасности.
Есть подводные камни само собой, но у меня такая система работает в одном удаленном офисе, люди сами сервак тушат (ну не нужен он им по ночам).
Если сам не справишься - пиши.


"Выключить удаленно роутер не из-под root'а"
Отправлено Nightman , 23-Май-03 12:55 
>>И еще:)
>>По ssh можно зайти только с 2 компов, с админовского и с
>>того коим и предпологается выключать роутер. Видится это так: вечером последний
>>уходящий из под виндов вызывает программу ssh secure shell, логинится под
>>пользователем down и роутер останавливается. После чего отключается электричество во всем
>>здании.
>
>Фигня. Есть тривиальное решение этой проблемы без ssh, su, sudo и прочей
>хрени:
>Ставишь апач (это к примеру, можно другой веб сервак), налаживаешь cgi, когда
>надо вырубить машину - заходишь на страничку соотв. и жмешь на
>ссылку, кнопку... короче чего больше нравится. Скрипт из под веб-сервера создает
>файлик (можно пустой), и на этом его функция заканчивается.
>Далее, из крона каждую минуту запускается скрипт, который проверяет наличие файлика и
>если он есть - стирает и тушит сервак. Вот и все.
>Никаких дырок в безопасности.
>Есть подводные камни само собой, но у меня такая система работает в
>одном удаленном офисе, люди сами сервак тушат (ну не нужен он
>им по ночам).
>Если сам не справишься - пиши.

А по крону halt делать никак? :-)


"Выключить удаленно роутер не из-под root'а"
Отправлено os , 23-Май-03 13:06 
Уж очень не хотелось бы ставить веб-сервер для того чтобы выключить машину:) А выключать надо в соседней комнате, в этом вся удаленность. У роутера нет ни клавы ни монитора ни чего такого.

Вроде как справился с задачей путем создания юзера из группы операторов и оболчка у него /sbin/down, в котором единственная строка: shutdown -h now.

Еще раз спасибо за ответы.


"Выключить удаленно роутер не из-под root'а"
Отправлено Den , 23-Май-03 13:20 
>Уж очень не хотелось бы ставить веб-сервер для того чтобы выключить машину:)
>А выключать надо в соседней комнате, в этом вся удаленность. У
>роутера нет ни клавы ни монитора ни чего такого.
>
>Вроде как справился с задачей путем создания юзера из группы операторов и
>оболчка у него /sbin/down, в котором единственная строка: shutdown -h now.
>
>
>Еще раз спасибо за ответы.
Ну если тебе это подходит - проблем нет. Тем более твой вариант вроде неплох совсем.
Но обычно пользователям гораздо проще зайти на страничку и нажать ссылку, чем заходить по ssh, набирать логин и пароль.

"Выключить удаленно роутер не из-под root'а"
Отправлено globus , 23-Май-03 13:23 
недело это все ....

"Выключить удаленно роутер не из-под root'а"
Отправлено os , 23-Май-03 13:38 
to globus
А как это делать "по понятиям"? :)



"Выключить удаленно роутер не из-под root'а"
Отправлено globus , 23-Май-03 13:42 
>to globus
>А как это делать "по понятиям"? :)
я конечно дико извеняюсь..... у меня на обслуживании 14 серверов и ни один из них не останавливается на ночь .... даже если он используется на 10 % в течении рабочего дня....

ЗЫ Спать и Есть ему не надо ...
ЗЫ ЗЫ это моя личная точка зрения. Не навязываю ее ни кому.
ЗЫ ЗЫ ЗЫ А если слишком прижало, то моно применять все что описанно выше.


"Выключить удаленно роутер не из-под root'а"
Отправлено lavr , 23-Май-03 14:30 
>to globus
>А как это делать "по понятиям"? :)

по понятиям, сервер должен стоять в аппаратной с кондеями, с ограниченным
доступом в аппаратную и НИКОГДА не выключаться, даже при перебоях
питания. А named тем более гасить нельзя больше чем на 4-5 дней чтобы
зоны не протухали (если конечно серьезные люди и сами держут и управляют
своими службами)


"Выключить удаленно роутер не из-под root'а"
Отправлено os , 23-Май-03 14:39 
Сорри если ввёл кого в заблуждение словом "сервер". Видимо у нас это только одно название :) Опишу сего "зверя": Pentium 166, 64 Mb, 2Gb, 3com сетевуха для локальной сети и Cisco Aironet 350 для радиоинета. Используется сей "сервер" исключительно как для доступа к интернету. Работаем мы не сутками а обычный рабочий день с 9 до 18. На нем нет ни www ни ftp ни dns серваков:) Когда уходит последний сотрудник вырубает электричество во всем здании.
Спасибо огромное за ответы.



"Выключить удаленно роутер не из-под root'а"
Отправлено Nikolaev D. , 23-Май-03 16:26 
А дать человеку root пасворд наверно самое сложноное решение. У тебя ж не сервер в понимании сервера, а рабочая станция.

"Выключить удаленно роутер не из-под root'а"
Отправлено os , 24-Май-03 10:47 
to Nikolaev D
Тут может быть кто угодно из "человеков":)
Виньsshклиент по руту удаленно цепляться не хочет и получается что нужно 2 пароля вводить сначала для пользователя потом для рута.



"Выключить удаленно роутер не из-под root'а"
Отправлено Inco , 24-Май-03 13:07 
Поставь вебмин в минимальной конфигурации.


"Выключить удаленно роутер не из-под root'а"
Отправлено os , 24-Май-03 13:20 
to Inco
Если бы я знал еще что это такое :) Мое администрирование началось только что вот с этой задачи. Если не затруднит объясните что это такое?


"Выключить удаленно роутер не из-под root'а"
Отправлено Alex_M , 24-Май-03 20:29 
А что если делать так, как советовал Nightman, но без Апачей?
Просто создаёшь юзера down, которому в качестве шелла прописываешь скрипт, делающий
cat /dev/null > /tmp/powerdown && echo "BYE"

а в crontab для рута пишешь:
* * * * *    rm /tmp/powerdown && shutdown -p now

И вуаля! Всё просто, секьюрно и не надо никаких su, sudo, индейцев и прочего.

Кстати, чтобы sshd пускал рутом надо в /etc/ssh/sshd_config записать:
PermitRootLogin no

Удачи!


"Выключить удаленно роутер не из-под root'а"
Отправлено Alex_M , 24-Май-03 20:39 
>А что если делать так, как советовал Nightman, но без Апачей?

Сорри, не Nightman, а Den, конечно!!! Обознался :-)))


"Выключить удаленно роутер не из-под root'а"
Отправлено Alex_M , 24-Май-03 21:21 
>Кстати, чтобы sshd пускал рутом надо в /etc/ssh/sshd_config записать:
>PermitRootLogin no

Блин, да что сегодня со мной такое!
PermitRootLogin yes