В Perl CGI, как я могу использовать команды UNIX? - PullRequest
1 голос
/ 06 января 2012

Я пытаюсь запустить ssh, mkdir из сценария Perl CGI.Это не работает.Но в обычном скрипте Perl все работает нормально.Может кто-нибудь сказать мне, как запускать команды в сценарии Perl CGI?

Ответы [ 3 ]

7 голосов
/ 06 января 2012

Если вы запускаете этот скрипт через веб-сервер, скорее всего, активный пользователь (например, "nobody", "www" и т. Д.) Может не иметь необходимых прав для выполнения таких команд, как mkdir и ssh.Если так, то это не то, что Perl может исправить.Вы можете проверить, кто является активным пользователем, с помощью чего-то вроде:

print "The active user is: ", `whoami`;

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

0 голосов
/ 05 апреля 2012

Вам нужно запускать команды Unix? Perl имеет встроенный mkdir , и есть модули для обработки SSH. Обычно процесс CGI имеет ограниченные возможности или доступ к системе. Чем больше вы можете сделать в Perl, тем лучше.

0 голосов
/ 06 января 2012

system () или popen () - это, вероятно, то, что вы ищете, если вы чувствуете себя грязным, я думаю, вы также можете использовать обратные тики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...