@zaart

Насколько решение безопасно?

Понадобилось чтобы PHP выполнял команду пакета через оболочку. Команда работает от ROOT.

Совесть добавить PHP в группу sudo мне не позволила и было придумано следующие:

1) Для PHP был установлен модуль php8.1-ssh2,

2) Написан код:
$connection = ssh2_connect('127.0.0.1', 22);
ssh2_auth_password($connection, 'root', 'pass');

$stream = ssh2_exec($connection, 'htop');


P.S: команда, порт, пароль только для примера.

3) В /etc/ssh/sshd_config Было дописано правило:
Match User root Address 127.0.0.1
    PermitRootLogin yes
    PasswordAuthentication yes
Match all

Все отлично работает. Скажите, пожалуйста, достаточно надежно?
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 3
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Начать надо с ответа на вопрос - а почему тут нужны права рута? А можно ли обойтись без них?
Ответ написан
Комментировать
@Zerg89
А почему бы не запустить через cron?
Ответ написан
@pfg21
ex-турист
проще было прописать в sudoers команду с параметрами

простой наглядный пример /etc/sudoers
# test
%user_name% ALL=(ALL) NOPASSWD:  /usr/bin/id -Gn

и теперь sudo id -Gn выполняется из-под user_name с правами root без запроса пароля.
а запуск просто sudo id уже так не сработает и с любыми параметрами отличающимися от -Gn тоже.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы