AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-166079

Aerozeek's questions

Martin Hope
Aerozeek
Asked: 2024-07-11 22:48:56 +0800 CST

Por que este script Perl CGI não funciona com um erro de permissão negada

  • 6

Esta questão está relacionada com esta questão

Alguém pode explicar o que está acontecendo aqui?

[User@redhat cgi-bin]$ pwd
/var/www/cgi-bin

[User@redhat cgi-bin]$ ll -a Test.cgi
drwxr-xr-x. 2 root   root      86 Jul 10 16:37 .
drwxr-xr-x. 6 root   root      61 Jul 10 18:43 ..
-rwxr-xr-x. 1 apache apache 79 Jul 11 09:30 Test.cgi

[User@redhat cgi-bin]$ perl -T ./Test.cgi
Content-type: text/html

Hello World!

[User@redhat cgi-bin]$ cat Test.cgi
#!/usr/bin/perl -T

print "Content-type: text/html\n\n";
print "Hello World!";

[User@redhat cgi-bin]$ ./Test.cgi
-bash: ./Test.cgi: Permission denied

Acho que o que está causando isso é o motivo principal da falha na execução do script CGI na questão vinculada acima.

(O SELinux neste sistema está definido como Permissivo)

linux
  • 1 respostas
  • 23 Views
Martin Hope
Aerozeek
Asked: 2024-07-11 08:55:43 +0800 CST

Perl CGI falha com permissão negada - AH01241: Erro ao gerar filho CGI

  • 8

Eu tenho um script Perl CGI Test.cgiem /var/www/cgi-bin/Test.cgi. O conteúdo é simplesmente:

#!/bin/perl -T
print "Content-type: text/html\n\n";
print "Hello, World.";

O problema é que quando tento acessar esse script via navegador da Web recebo um 500 Internal Server Error, e /var/log/httpd/error_logtem

AH01241: error spawning CGI child: exec of '/var/www/cgi-bin/Test.cgi' failed (Permission denied): /var/www/cgi-bin/Test.cgi

I. Permissões: Abaixo das permissões para a /var/www/cgi-binpasta e o Test.cgiscript (incluindo tipos SELinux)

drwxr-xr-x. 2 root   root   system_u:object_r:httpd_sys_script_exec_t:s0        86 Jul 10 16:37 cgi-bin
-rwxr-xr-x. 1 apache apache unconfined_u:object_r:httpd_sys_script_exec_t:s0    72 Jul 10 17:22 Test.cgi

II. httpd.conf:

User apache
Group apache

DocumentRoot "/var/www/html"

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Options +ExecCGI
    AddHandler cgi-script .cgi
    Require all granted
</Directory>

Até agora eu tentei...

  • Desativando SELinuxe $ setenforce 0recarregando o navegador. Sem sorte.

Por último...

# httpd -v
Server version: Apache/2.4.37 (Red Hat Enterprise Linux)
Server built:   Feb 16 2024 04:23:20

# uname -a
Linux linux 4.18.0-513.24.1.el8_9.x86_64 #1 SMP Thu Mar 14 14:20:09 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux

# perl -v
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi

O que estou perdendo aqui?

ATUALIZAÇÃO: Graças a @larsks agora sei que o problema com a permissão negada ao chamar do terminal era devido a uma noexecopção de montagem no /varsistema de arquivos. Isso foi corrigido e agora posso executar o script no terminal. O problema original persiste, no entanto. Ainda vejo o mesmo erro Permissão negada ao /var/log/httpd/error_logacessar o CGI a partir do navegador.

apache-2.4
  • 2 respostas
  • 289 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve