Как запустить cgi от имени пользователя root в dd-wrt из apache

Попытка использовать rootс подлокацией будет означать, что она попытается использовать $root$uri, что в вашем случае становится /opt/site3/site3.

Вы можете сделать то, что сделали, и использовать root, чтобы корневой каталог был папкой перед папкой, к которой вы пытаетесь получить доступ. Однако для этого вам не нужно .

Попробуйте вместо этого использовать alias /opt/site3;; этот должен работать и обращаться к правильному местоположению при условии, что вы установили поле индекса, и, если необходимо, также иметь try_filesв этом блоке местоположения.

1
17.05.2020, 09:26
1 ответ

Так как ваша система ограничена, вероятно, простое создание бинарного корня setuid iptablesмало что повлияет на безопасность. Я не знаю dd-wrt, но эквивалентом Linux было бы, как root:

chmod u+s /sbin/iptables

предполагается, что файл принадлежит root. Если система поддерживает возможности, более безопасным вариантом может быть установка требуемых возможностей :

.
setcap CAP_NET_ADMIN,CAP_NET_RAW+ep /sbin/iptables

(может потребоваться больше ).

Как вы сказали в своем комментарии, поскольку двоичный файл находится в файловой системе -только для чтения, вам необходимо использовать копию файла.

2
28.04.2021, 23:13

Теги

Похожие вопросы