1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

PHP запуск gs (локаций и служб) через exec (вопрос на засыпку)

Тема в разделе 'Программирование', создана пользователем wsok, 29 май 2015.

  1. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    В общем пытаюсь написать панель управления локациями, примерно как в айвеб, но используя PHP. Вся проблема в том, что при попытке запуска из веб панели, нужная служба или локация не поднимается, но если обратится к пхп скрипту из терминала с правами рута, то успешно поднимается. Я так понимаю все дело в правах, а точнее, что www-data юзер не может получить полномочии по запуску.

    Решил погуглить, но там все сводится к тому, что либо апач нужно разрешить по рут пользователем либо пользователю www-data выдать рут полномочии, но оба эти момента по сути вполне приличная уязвимость. Среди альтернативы ещё предлагают использовать некий демон, который был бы запущен под рутом и мог принимать через сокет от вебскрипта команды и уже транслировать их в терминал...

    Разве нет прочих альтернатив, чтоб из веб скрипта запустить службу, без вмешательства в манипуляции прав и полномочий или использование демона?
  2. salitypw Программист Пользователи

    Сообщения:
    557
    Лайки:
    367
    Пол:
    Мужской
    Репутация:
    9
    Команда:
    BlooD PW x700
    Страна:
    Japan Japan
    Не надо давать на все рут доступ для пользователя www-data. Там можно создать список файлов и/или директорий ( в моем случае это было пару shell-скриптов), к которым www-data будет иметь рут доступ.
  3. Neron Пользователи

    Сообщения:
    307
    Лайки:
    12
    Репутация:
    0
    А она могут так же находиться в home например? Или чтобы работали должны только www/
  4. salitypw Программист Пользователи

    Сообщения:
    557
    Лайки:
    367
    Пол:
    Мужской
    Репутация:
    9
    Команда:
    BlooD PW x700
    Страна:
    Japan Japan
    Они могут находиться где угодно.
  5. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    Я вот поглядел скрин в теме этой http://mmorpg-devs.ru/threads/Личный-кабинет-myweb.16046/
    Там запуск работает по какому принципу?
  6. salitypw Программист Пользователи

    Сообщения:
    557
    Лайки:
    367
    Пол:
    Мужской
    Репутация:
    9
    Команда:
    BlooD PW x700
    Страна:
    Japan Japan
    Возможно
  7. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    в смысле возможно? Я спросил же по какому там принципу реализована эта функция? )
  8. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    773
    Лайки:
    771
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    В инете слитая копия есть, возьми и посмотри.
    10000 нравится это.
  9. Fituchini Пользователи

    Сообщения:
    315
    Лайки:
    67
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    PWCD
    Страна:
    Russian Federation Russian Federation
    Работает по принципу «ВОЗМОЖНО»
    Новый принцип возможно, теперь в шаре)))
  10. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    в копии что слита ещё не реализован монторинг локаций, как сам странгер писал, он потом добавил это, когда попросил один из клиентов.
  11. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    676
    Лайки:
    1.176
    Пол:
    Мужской
    Репутация:
    6
    По хорошему, запускать сервер можно и не от рут пользователя (так даже будет лучше в плане безопасности), но делать это на php идея не очень, сам когда-то давно пробовал в веб сервер части пвадмина.
  12. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    просто ЛК функцию делаю, и там сейчас застопорился на запуске служб и локаций. Может демона тогда юзать котоырй бы выступал посредником? Т.е. пхп скрипт через сокет отправляет команду демону, демон уже как рут выполняет эту команду в терминале и возвращает результат о выполнении (успех или ошибка). Как считаешь, это прокатит?
    --- добавлено: 29 май 2015 в 16:57 ---
    понимаю, что с пвадмином проще, но если его нет возможности купить, нужно другое решение, но тоже надежное и точно не айвеб.. Вот как говорится и приходится изобретать велосипеды)
    Последнее редактирование модератором: 6 июн 2015
  13. Stranger B L A C K    L I S T Пользователи

    Сообщения:
    70
    Лайки:
    66
    Репутация:
    0
  14. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    понимаю, что с пвадмином проще, но если его нет возможности купить, нужно другое решение, но тоже надежное
    т.е. получается установить эту либу придется... Ты я так понял именно её и использовал в лк?
  15. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    Установил либы на ssh2, вроде пашет.
    Последнее редактирование: 30 май 2015
  16. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Команда:
    WebServerOK [wsok.net]
    Подведем итоги темы =)

    [​IMG]

    Вроде все получилось, все как надо стартует и останавливается. Всем, кто не прошел мимо темы и помог советами - большое спасибо!

    Стренжеру особое спасибо, за то, что ткнул носом в либы SSH2, реально, я не знал о них )
    10000, JonMagon и gam1ng нравится это.
Черновик сохранён Черновик удалён

Поделиться этой страницей