2

У меня есть сценарий оболочки (csh) - я его не написал, поэтому не могу его сейчас изменить. Сценарий выполняет много операций с файлами журналов, вызывает другие сценарии на таких языках, как Perl и Tcl, создает новые файлы и вызывает исполняемые файлы. Это хорошо работает из командной строки.

Я хотел бы иметь возможность запускать скрипт из формы HTML (я могу это сделать), работать нормально и выводить текст, который обычно идет в терминал, вместо веб-браузера.

Я на Ubuntu 10.10 и установил lighttpd 1.4.26. Сценарию нужна только одна переменная, переданная ему из HTML.

Это не работает должным образом.

  1. Я связал 10-cgi.conf с conf-enabled . Это должно включить CGI, похоже, для этого.
  2. Я закомментировал server.username и server.groupname в lighttpd.conf . Это, очевидно, позволяет серверу запускать скрипты как "root".
  3. Я создал небольшой скрипт, который принимает строку запроса, анализирует ее и вызывает действительно полезный скрипт.

Вот проблемы, которые у меня возникают:

  1. Я добавляю pwd и он печатает правильный каталог. Однако на самом деле он не будет использовать этот путь при записи файлов с «>». Мне нужно вручную добавить полный путь для каждого доступа к файлам такого рода - почему?

  2. PATH не определен, поэтому ни одна из команд, таких как head , tail , grep , ifconfig т.д. Не работает. Я добавил жестко заданный PATH =, который, кажется, работает, но даже тогда некоторые команды просто не работают. Я скопировал тот же PATH, что и у интерактивной оболочки. Есть ли ограничение по длине? Почему нет ПУТИ?

  3. Все это связано с тем, что при вызове исполняемых файлов они, похоже, не понимают, где находятся, так как относительные пути ../../ больше не работает.

У меня такое ощущение, что это какое-то разрешение пользователя или интерактивная, а не интерактивная проблема.

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

0