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

Исходное сообщение
"Раздел полезных советов: Создание пользователя для отключения компьютера в FreeBSD."

Отправлено auto_tips , 25-Янв-05 14:21 
Создание специальной учетной записи пользователя для отключения компьютера.

Задача:

Создать учетную запись пользователя, которому разрешено только отключать компьютер. ОС FreeBSD 5.2
создать в папке /bin скрипт poweroff-shell со следующим содержанием:

   #!/bin/sh
   shutdown -p +2 Turn off by user $LOGNAME
   logger Turn off by user $LOGNAME
   exit 0

установить разрешения:
   chmod 750 /bin/poweroff-shell

сменить группу и владельца:
   chown root /bin/poweroff-shell
   chgrp operator /bin/poweroff-shell

добавить в файл /etc/shells строчку:
   /bin/poweroff-shell

создать пользователя poweroff:
c шелом /bin/poweroff-shell, домашней директорией /nonexistent,
сделать пользователя poweroff членом группы operator, с паролем по вкусу.


URL:
Обсуждается: http://www.opennet.me/tips/info/779.shtml


Содержание

Сообщения в этом обсуждении
"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено akmal , 25-Янв-05 14:21 
а не проще это через sudo делать ?
комп который нужно выключать - как правило десктоп, за которым работает не больше одного человека, добавить его пользователя в /etc/sudoers с правом запускать /sbin/poweroff без пароля, и все

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено butcher , 25-Янв-05 15:21 
тогда не проще ли добавить себя любимого в группу operator и делать shutdown -p now ?

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено chip , 25-Янв-05 18:52 
> тогда не проще ли добавить себя любимого в группу operator и делать shutdown -p now ?

find /dev -group operator не наводит на мысли ?


"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено butcher , 26-Янв-05 08:03 
>>комп который нужно выключать - как правило десктоп, за которым работает не больше одного человека

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено chip , 26-Янв-05 10:47 
>>>комп который нужно выключать - как правило десктоп, за которым работает не больше одного человека

Глупо рассматривать этот случай, потому что в данном случае админ и пользователь это одно лицо.



"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено az , 27-Янв-05 12:32 
Лично я на домашней OpenBSD (где "три пальца" не работают)
записал жену в sudoers (NOPASSWORD) на команды halt и reboot -
ничего, пятый год работает. А Linux она выключала, просто уходя
в перезагрузку по "трем пальцам" - так что во фрюхе можно
делать точно так же - без всяких юзерей.

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено chip , 27-Янв-05 14:48 
>Лично я на домашней OpenBSD (где "три пальца" не работают)

работают. Нужно просто немного пересобрать GENERIC ;)


"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено citrin , 15-Фев-05 19:15 
> комп который нужно выключать - как правило десктоп, за которым работает не больше одного человека.

Далеко не всегда. Пример из жизни - сервер для доступа в инет в офисе, где когда все уходят необходимо полностью выключать электричество.


"А кнопку питания не пробовали нажать? (-)"
Отправлено Nefer , 28-Сен-05 22:46 
Помогает, однако.

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено Stas_Dragon , 26-Янв-05 09:53 
У меня это сервер :)
И стаья писалась для серверов к которым доступ имеет только админ.
Просто когда пришел электрик и сказал что щас отключет электроэнергию во всем здание :), а меня рядом не оказалось то серверам пришлось очень плохо ...

Вот и была сдела учетная запись которая помогает отключить сервера когда админа нет рядом и повешена инструкция как отключать :)


"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено hun7er , 26-Янв-05 11:38 
ещё acpi для этого помогает хорошо...

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено Skif , 26-Янв-05 11:48 
респект, идея хороша, сам несколько раз спотыкался, но не додумался.

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено Stas_Dragon , 26-Янв-05 21:54 
Спасибо ! Рад что кому-то идея пригодилась :)
P.S Забыл написать, что по ssh/telnet/etc записе пользователя poweroff доступ лучше отключить :)

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено Alexander Yakimenko , 28-Янв-05 13:29 
Полностью согласен

В свое время, работая на одном заводе в Сумах настраивал
выключение ч-з apm -- администратор не имеющий аккаунта
на сервере просто подходил и нажимал кнопку POWER - проще
уж некуда

Система была 4.7


"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено madman , 10-Фев-05 12:56 
Согласен.
В серверную имеют доступ только 4 человека, и хотя бы один будет на месте 100%. И линуха и бсд - работает на ура.

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено sensor_ua , 18-Фев-05 00:51 
У нас сервак работает только днём - удобно выключать  через SSH - набрал в PuTTY логин, а когда пароль - само выпало... оделся, дошёл до серва, вырубил из сети... и домой;)

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено lamer_ , 20-Фев-05 20:04 
Заводишь юзверя в группе оператор и делаешь в vipw shell`om скрипт с одной строкой /sbin/shutdown -p now. Он залогинился и машинка потухла.

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено DJ_Sedoy , 24-Фев-05 00:56 
Такое например не работает в FreeBSD (ключи и параметры).

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено lamer_ , 24-Фев-05 20:18 
4 DJ_S:У меня на 4.9 работает, а у тебя на 5.1 не работает ?-)

"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено Worm , 14-Июл-05 17:14 
А как по мне очень элегантное решение проблеммы. Чтобы вырубить, или ребутнуть сервак нужно только ввести логин и пароль.
Таким макаром даже можно использовать какой то ssh клиент, который запоминает логин и проль, и делать ярлычок на рабочий стол "Выключить сервер".

P.S.: Спасибо за идею.


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 05-Сен-05 14:52 
а как реализовать подобным образом reboot? т.е. входишь например через putty под логином reboot и машинка ребутится автоматом. FreeBSD_4.10

"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 09:19 
>а как реализовать подобным образом reboot? т.е. входишь например через putty под
>логином reboot и машинка ребутится автоматом. FreeBSD_4.10

Прописать вместо shutdown -> reboot религия не позволяет ?!



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено 1213 , 06-Сен-05 09:26 
>>а как реализовать подобным образом reboot? т.е. входишь например через putty под
>>логином reboot и машинка ребутится автоматом. FreeBSD_4.10
>
>Прописать вместо shutdown -> reboot религия не позволяет ?!
я атеист ))



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено butcher , 06-Сен-05 09:57 
>Прописать вместо shutdown -> reboot религия не позволяет ?!

Для reboot нужны рутовые права.
shutdown -r now


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 10:06 
>>Прописать вместо shutdown -> reboot религия не позволяет ?!
>
>Для reboot нужны рутовые права.
>shutdown -r now

use sudo


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено butcher , 06-Сен-05 10:18 
>use sudo

shutdown -r now - религия не позволяет? ;))


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 10:21 
>>use sudo
>
>shutdown -r now - религия не позволяет? ;))

:-D


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 10:36 
>>use sudo
>
>shutdown -r now - религия не позволяет? ;))

-bash-2.05b$ shutdown -r now
-bash: /sbin/shutdown: Permission denied


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено butcher , 06-Сен-05 10:39 
>-bash-2.05b$ shutdown -r now
>-bash: /sbin/shutdown: Permission denied

теперь ещё покажите что у вас выводит команда:
$ id


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 10:51 
>теперь ещё покажите что у вас выводит команда:
>$ id
да я собственно привел результат команды чтобы показать, что как было сказано ранее рутовые права нужны для данного действия.

-bash-2.05b$ id
uid=1000(adrt) gid=1000(adrt) groups=1000(adrt), 0(wheel)


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено butcher , 06-Сен-05 11:03 
>да я собственно привел результат команды чтобы показать, что как было сказано
>ранее рутовые права нужны для данного действия.

Команда reboot требует рутовых прав для своей работы. Для запуска её от обычного пользователя вам посоветовали использовать sudo.
Либо, чтобы воспользовать командой shutdown -r now без рутовых прав, вы должны являться членом группы operator (для FreeBSD так, для линухов не знаю).

>-bash-2.05b$ id
>uid=1000(adrt) gid=1000(adrt) groups=1000(adrt), 0(wheel)



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 12:11 
>>да я собственно привел результат команды чтобы показать, что как было сказано
>>ранее рутовые права нужны для данного действия.
>
>Команда reboot требует рутовых прав для своей работы. Для запуска её от
>обычного пользователя вам посоветовали использовать sudo.
>Либо, чтобы воспользовать командой shutdown -r now без рутовых прав, вы должны
>являться членом группы operator (для FreeBSD так, для линухов не знаю).

Решение с sudo куда красивеет. Членство в группе operator открывает возможность на чтение любого блочного устройства (например, ad0). Выполните find /dev -group operator


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено butcher , 06-Сен-05 13:05 
>Решение с sudo куда красивеет. Членство в группе operator открывает возможность на
>чтение любого блочного устройства (например, ad0). Выполните find /dev -group operator

Да.. вы мне уже показывали это.
sudo вообще рутовые полномочия процессу даёт, так что никаких преимуществ не вижу с точки зрения безопасности.


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 13:27 
>sudo вообще рутовые полномочия процессу даёт,
>так что никаких преимуществ не вижу
>с точки зрения безопасности.

В данном частном случае, когда $SHELL=/sbin/(shutdown|reboot) действительно их не видно.


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 10:37 
>use sudo
а можно на эту тему подробнее?



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 12:12 
>>use sudo
>а можно на эту тему подробнее?

man sudo
man sudoers
man visudo



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 12:20 
>>>use sudo
>>а можно на эту тему подробнее?
>
>man sudo
-bash-2.05b$ man sudo
No manual entry for sudo

>man sudoers
-bash-2.05b$ man sudoers
No manual entry for sudoers

>man visudo
-bash-2.05b$ man visudo
No manual entry for visudo

lol


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 12:24 
>>man sudo

я думаю можно было просто дать линк http://www.courtesan.com/sudo/ и не парить меня манами )))


"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 12:41 
>>>man sudo
>
>я думаю можно было просто дать линк http://www.courtesan.com/sudo/ и не парить меня
>манами )))

можно было дать и конкретное решение. Только все уже достаточно подробно разобрано в треде.



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено chip , 06-Сен-05 12:40 
>>>>use sudo
>>>а можно на эту тему подробнее?
>>
>>man sudo
>-bash-2.05b$ man sudo
>No manual entry for sudo
>
>>man sudoers
>-bash-2.05b$ man sudoers
>No manual entry for sudoers
>
>>man visudo
>-bash-2.05b$ man visudo
>No manual entry for visudo
>
>lol

/home/chip> whereis sudo
sudo: /usr/local/bin/sudo /usr/local/man/man8/sudo.8.gz /usr/ports/security/sudo
/home/chip> whereis visudo
visudo: /usr/local/sbin/visudo /usr/local/man/man8/visudo.8.gz
/home/chip> pkg_info | grep sudo
sudo-1.6.8.7        Allow others to run commands as root
/home/chip> uname -rs
FreeBSD 6.0-BETA1
/home/chip>



"Раздел полезных советов: Создание пользователя для отключени..."
Отправлено GM , 06-Сен-05 12:59 
>/home/chip> uname -rs
>FreeBSD 6.0-BETA1

-bash-2.05b$ uname -rs
FreeBSD 4.10-RELEASE

:)))



"Создание пользователя для отключения компьютера в FreeBSD."
Отправлено 1213 , 05-Сен-05 14:55 
Статья толковая.