Discussion:
nut + shutdown
(слишком старое сообщение для ответа)
Alexander Polozov
2021-02-28 07:17:44 UTC
Permalink
Привет, All!

Достался тут на днях по случаю беспородный бесперебойник с УПШ шнурком,
подключил, поставил nut, настроил по шпаргалкам из тырнетика, вроде бы почти
всё заработало, бесперебойник видится, в логи правильные сообщения идут, но при
попытке подать команду на выключение тазика ничего не происходит. В конфигах
видим что выключать пытается так SHUTDOWNCMD "/sbin/shutdown -h +0" (команда
шлётся от пользуна nut, а значит логично получает отлуп "shutdown: you must be
root to do that!").
Понятно, что тут надо разруливать права доступа, но что-то я с наскоку не
соображу, чего и куда, что-б в итоге не получить дыру, потому что после беглых
поисков в тырнете попадались советы добавить пользователя nut в группу wheel,
поставить suid бит на shutdown и т.п., а хотелось бы всё таки грамотного
решения.

Со всеми пожеланиями, Alexander Polozov

... У меня к русскому языку вопросов нет.
Dmitry Ivanov
2021-02-28 17:35:57 UTC
Permalink
Здравствуйте, Alexander.
Post by Alexander Polozov
шлётся от пользуна nut, а значит логично получает отлуп "shutdown: you must
be root to do that!").
Понятно, что тут надо разруливать права доступа, но что-то я с
наскоку не соображу, чего и куда, что-б в итоге не получить дыру,
потому что после беглых поисков в тырнете попадались советы добавить
пользователя nut в группу wheel, поставить suid бит на shutdown и
т.п., а хотелось бы всё таки грамотного решения.
в sudo пропиши для пользователя nut безпарольный запуск /sbim/shutdown
bla-bla-bla

и соответсвенно поправить SHUTDOWNCMD на "sudo /sbin/shutdown
bla-bla-bla"
--
С уважением,
Dmitry
Alexey Vissarionov
2021-03-01 12:19:00 UTC
Permalink
Доброго времени суток, Alexander!
28 Feb 2021 10:17:44, ты -> All:

AP> Достался тут на днях по случаю беспородный бесперебойник [...]
AP> при попытке подать команду на выключение тазика ничего не происходит.
AP> В конфигах видим что выключать пытается так SHUTDOWNCMD
AP> "/sbin/shutdown -h +0" (команда шлётся от пользуна nut, а значит
AP> логично получает отлуп "shutdown: you must be root to do that!").
AP> Понятно, что тут надо разруливать права доступа, но что-то я с
AP> наскоку не соображу, чего и куда, что-б в итоге не получить дыру,
AP> потому что после беглых поисков в тырнете попадались советы добавить
AP> пользователя nut в группу wheel, поставить suid бит на shutdown и
AP> т.п., а хотелось бы всё таки грамотного решения.

no-pty,command="/sbin/init 0" ssh-ed25519 ...

Прямо в ~root/.ssh/authorized_keys :-)
Разумеется, в sshd_config предварительно надо сказать как минимум:

PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin prohibit-password

И потом просто ssh root@::1 этим техническим пользователем.

Все остальные варианты (sudo, нештатные права доступа итд) - дырявые в той или
иной степени.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Облачных технологий не существует - существуют только чужие компутеры
Loading...