Нужно удаленно вырубить роутер по ssh не из под root а из под специально заведенного для этого пользователя. То есть например пользователь под именем down заходит на роутер и у него сразу выполняется скрипт который сразу говорит halt машине. Можно как то такого пользователя создать с правами останова машины? Если нет может создать скрипт который выполнит su, но при этом возьмет пароль не с клавиатуры а из файла например?
Как в команде su ввести пароль из файла а не с клавиатуры?
Спаибо за ответы.
Используйте не su, а sudo>Нужно удаленно вырубить роутер по ssh не из под root а из
>под специально заведенного для этого пользователя. То есть например пользователь под
>именем down заходит на роутер и у него сразу выполняется скрипт
>который сразу говорит halt машине. Можно как то такого пользователя создать
>с правами останова машины? Если нет может создать скрипт который выполнит
>su, но при этом возьмет пароль не с клавиатуры а из
>файла например?
>Как в команде su ввести пароль из файла а не с клавиатуры?
>
>Спаибо за ответы.
>Нужно удаленно вырубить роутер по ssh не из под root а из
>под специально заведенного для этого пользователя. То есть например пользователь под
>именем down заходит на роутер и у него сразу выполняется скрипт
>который сразу говорит halt машине. Можно как то такого пользователя создать
>с правами останова машины? Если нет может создать скрипт который выполнит
>su, но при этом возьмет пароль не с клавиатуры а из
>файла например?
>Как в команде su ввести пароль из файла а не с клавиатуры?
>
>Спаибо за ответы.достаточно посмотреть ls -la /sbin/halt или /sbin/shutdown на
предмет chown и/или suid, создать НУЖНОГО пользователя, разрешить доступ
только с виртуальных консолей и по ssh, вместо SHELL /path/halt или
скрипт для shutdown без ожидания.PS. Хорошего в этом мало, стервер должен всегда работать. Если падает
или вырубается питание - вставать сам, на аварийный случай - инструкция
для поднятия ответственными лицами.
Спасибо за ответы.
1. Про sudo начал читать, пока не понятно :)
2. По ls -la /sbin/halt выдает:
-r-xr-xr-x 4 root wheel 227484 Oct 9 2002 /sbin/halt
А как создать НУЖНОГО?:)
Сервер с инетом включается утром и выключается вечером. Стоит он на работе и служит только для почты и просмотра www. Сам я программист а не администратор волею судеб:) вынужденный выполнять работу админа, поэтому только учусь всему этому:) Пардон за глупые вопросы.
Еще раз спасибо.
И еще:)
По ssh можно зайти только с 2 компов, с админовского и с того коим и предпологается выключать роутер. Видится это так: вечером последний уходящий из под виндов вызывает программу ssh secure shell, логинится под пользователем down и роутер останавливается. После чего отключается электричество во всем здании.
>И еще:)
>По ssh можно зайти только с 2 компов, с админовского и с
>того коим и предпологается выключать роутер. Видится это так: вечером последний
>уходящий из под виндов вызывает программу ssh secure shell, логинится под
>пользователем down и роутер останавливается. После чего отключается электричество во всем
>здании.Фигня. Есть тривиальное решение этой проблемы без ssh, su, sudo и прочей хрени:
Ставишь апач (это к примеру, можно другой веб сервак), налаживаешь cgi, когда надо вырубить машину - заходишь на страничку соотв. и жмешь на ссылку, кнопку... короче чего больше нравится. Скрипт из под веб-сервера создает файлик (можно пустой), и на этом его функция заканчивается.
Далее, из крона каждую минуту запускается скрипт, который проверяет наличие файлика и если он есть - стирает и тушит сервак. Вот и все. Никаких дырок в безопасности.
Есть подводные камни само собой, но у меня такая система работает в одном удаленном офисе, люди сами сервак тушат (ну не нужен он им по ночам).
Если сам не справишься - пиши.
>>И еще:)
>>По ssh можно зайти только с 2 компов, с админовского и с
>>того коим и предпологается выключать роутер. Видится это так: вечером последний
>>уходящий из под виндов вызывает программу ssh secure shell, логинится под
>>пользователем down и роутер останавливается. После чего отключается электричество во всем
>>здании.
>
>Фигня. Есть тривиальное решение этой проблемы без ssh, su, sudo и прочей
>хрени:
>Ставишь апач (это к примеру, можно другой веб сервак), налаживаешь cgi, когда
>надо вырубить машину - заходишь на страничку соотв. и жмешь на
>ссылку, кнопку... короче чего больше нравится. Скрипт из под веб-сервера создает
>файлик (можно пустой), и на этом его функция заканчивается.
>Далее, из крона каждую минуту запускается скрипт, который проверяет наличие файлика и
>если он есть - стирает и тушит сервак. Вот и все.
>Никаких дырок в безопасности.
>Есть подводные камни само собой, но у меня такая система работает в
>одном удаленном офисе, люди сами сервак тушат (ну не нужен он
>им по ночам).
>Если сам не справишься - пиши.А по крону halt делать никак? :-)
Уж очень не хотелось бы ставить веб-сервер для того чтобы выключить машину:) А выключать надо в соседней комнате, в этом вся удаленность. У роутера нет ни клавы ни монитора ни чего такого.Вроде как справился с задачей путем создания юзера из группы операторов и оболчка у него /sbin/down, в котором единственная строка: shutdown -h now.
Еще раз спасибо за ответы.
>Уж очень не хотелось бы ставить веб-сервер для того чтобы выключить машину:)
>А выключать надо в соседней комнате, в этом вся удаленность. У
>роутера нет ни клавы ни монитора ни чего такого.
>
>Вроде как справился с задачей путем создания юзера из группы операторов и
>оболчка у него /sbin/down, в котором единственная строка: shutdown -h now.
>
>
>Еще раз спасибо за ответы.
Ну если тебе это подходит - проблем нет. Тем более твой вариант вроде неплох совсем.
Но обычно пользователям гораздо проще зайти на страничку и нажать ссылку, чем заходить по ssh, набирать логин и пароль.
недело это все ....
to globus
А как это делать "по понятиям"? :)
>to globus
>А как это делать "по понятиям"? :)
я конечно дико извеняюсь..... у меня на обслуживании 14 серверов и ни один из них не останавливается на ночь .... даже если он используется на 10 % в течении рабочего дня....ЗЫ Спать и Есть ему не надо ...
ЗЫ ЗЫ это моя личная точка зрения. Не навязываю ее ни кому.
ЗЫ ЗЫ ЗЫ А если слишком прижало, то моно применять все что описанно выше.
>to globus
>А как это делать "по понятиям"? :)по понятиям, сервер должен стоять в аппаратной с кондеями, с ограниченным
доступом в аппаратную и НИКОГДА не выключаться, даже при перебоях
питания. А named тем более гасить нельзя больше чем на 4-5 дней чтобы
зоны не протухали (если конечно серьезные люди и сами держут и управляют
своими службами)
Сорри если ввёл кого в заблуждение словом "сервер". Видимо у нас это только одно название :) Опишу сего "зверя": Pentium 166, 64 Mb, 2Gb, 3com сетевуха для локальной сети и Cisco Aironet 350 для радиоинета. Используется сей "сервер" исключительно как для доступа к интернету. Работаем мы не сутками а обычный рабочий день с 9 до 18. На нем нет ни www ни ftp ни dns серваков:) Когда уходит последний сотрудник вырубает электричество во всем здании.
Спасибо огромное за ответы.
А дать человеку root пасворд наверно самое сложноное решение. У тебя ж не сервер в понимании сервера, а рабочая станция.
to Nikolaev D
Тут может быть кто угодно из "человеков":)
Виньsshклиент по руту удаленно цепляться не хочет и получается что нужно 2 пароля вводить сначала для пользователя потом для рута.
Поставь вебмин в минимальной конфигурации.
to Inco
Если бы я знал еще что это такое :) Мое администрирование началось только что вот с этой задачи. Если не затруднит объясните что это такое?
А что если делать так, как советовал 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Удачи!
>А что если делать так, как советовал Nightman, но без Апачей?Сорри, не Nightman, а Den, конечно!!! Обознался :-)))
>Кстати, чтобы sshd пускал рутом надо в /etc/ssh/sshd_config записать:
>PermitRootLogin noБлин, да что сегодня со мной такое!
PermitRootLogin yes