Pull to refresh

Comments 33

Самое главное не написали, где его взять (откуда ставить), в стандартных репах для CentOS его то нет.
goo.gl/YWWzN
Добавил, спасибо.
Я так вижу, что формат ip адреса никак не проверяется? То есть можно ввести любой бред и он попадет в командною строку к iptables?
Да, данный скрипт, как и статья в целом, приведены исключительно для демонстрации возможностей Pdmenu.

Вопросов безопасности (настроек sudo, ограничения прав созданного для pdmenu пользователя, грамотного написания shell-скриптов и т.д. и т.п.) я не касался, чтобы не раздувать статью. На эти темы уже есть достаточно много информации и примеров.

Понятно, что администратор должен подумать кому и какие возможности управления сервером он дает, чем это чревато и какие меры безопасности следует предпринять в каждом конкретном случае.
Ну для демонстрации возможностей — наверное таки подходит.
Если написали про обязательное логирование, напишите и про обязательную проверку всего, что ввел юзер.
Лично я бы сделал проверку формата, даже если бы единственным пользователем этой штуки был я сам.
Добавил update в статью, спасибо
Pageant из комплекта упростит доступ, ключами иметь доступ к серверу

p/s по ключу можно ограничивать скриптом (оболочкой) т.е. после логина хочет пользователь или не хочет будет выполнятся только определенный скрипт.

т.е. пользователь может не иметь шела вобще /bin/false

а скрипт будет выполнятся при заходе в систему…

Отличная статья, не знал о таком средстве. Спасибо.
Это только я постарался читать Electr**i**S***pl***.com :)
Знал, что это будет кому-то интересно.
Специально не зарисовывал наглухо :)
UFO just landed and posted this here
Я сторонник максимальных ограничений.
Даже хостинговая панель управления (плеск) по умолчанию отключена и запускается только тогда, когда действительно нужна, после чего сервис снова останавливается (кстати, тоже через pdmenu).
А вы когда домой уходите, сервер выключаете? Для обеспечения безопасности.
Не выключаю. А вот сервисы, которыми пользуются крайне редко, держу выключенными.

Я даже не знаю как вебмин можно научить беспарольной авторизации по ключу.
ИМХО вебмин не совсем для этого, там при наличии кривых рук можно все поламать очень просто, что не подпадает под название топика: «как не дать новичку ошибиться».
UFO just landed and posted this here
Ради несколких функций думаю будет логичнее поставить pdmenu нежели громоздкий вебмин и урезать его :)
А сделать аунтификацию, скажем, по ключам и не иметь проблем с привязкой по ip было не проще сделать?
DoS для всех желающих?
от ДОС атак обычно защищаются ограничентем количества подглючений в течении минуты
А что будет если я левый пользователь и нажму ^Z?
В режиме меню выдаст: "Arrow keys move, Esc exits current menu, Enter runs program"
В режиме исполнения скрипта ничего не произойдет. Скрипт будет выполняться без каких-либо прерываний.
Откройте для себя dialog, который есть практически во всех дистрибутивах
какой смысл в привязке к IP, если они не фиксированые и постоянно обновляются? поднимите VPN и юзайте сертификаты — раз настройте начальнику и готово, человеку не придётся адреса прописывать. это не говоря уже о том, что можно просто по SFTP с ключём ходить (выше уже упоминалось).

но вобще идея имеет место — надо сделать альтернативный шелл в виде текстового меню с ограниченной функциональность, хотя наверняка уже есть такие.
> поднимите VPN и юзайте сертификаты — раз настройте начальнику и готово, человеку не придётся адреса прописывать. это не говоря уже о том, что можно просто по SFTP с ключём ходить

Для конкретно этой задачи — да, согласен. Удобнее и проще.

Но целью топика все-таки было не показать решение конкретной проблемы, а раскрыть функционал и возможности pdmenu.
Зачем вообще привязываться к IP? IP может не спросясь поменять провайдер, может возникнуть нужда зайти на сайт через левую сеть (wifi в аэропорту, GPRS, etc), с левого устройства… зачем?

Гораздо удобнее и надежнее аутентификация по ключу или по одноразовым паролям с привязкой к телефону/email.
Вопрос: почему не через веб-морду? Смысл давать шелл, а потом в нём городить жалкое подобие ncurses?
От этой идеи пришлось отказаться, т.к. в моем случае (кроме всего прочего, уже сказанного) нужна была ещё и возможность останавливать/запускать веб-сервис.
Э… А написать простенький сервис для перезапуска веб-сервиса было не судьба? Повесили на отдельный порт управляющую штуку и всех делов.

Для перфекционизма: restart management service, форкается/демонизируется, перезапускает родителя, завершается.
> А написать простенький сервис для перезапуска веб-сервиса было не судьба?

К сожалению, у меня не настолько богатый опыт, чтобы сделать это быстро и качественно, а затягивать с решением не хотелось. Да и pdmenu вполне понравилось малоопытным пользователям. Но да — веб-интерфейс приятнее и проще.

По свободе попробую реализовать и, возможно, следующая статья будет посвящена именно этому :)
Sign up to leave a comment.

Articles