CURL funciona apenas como raiz

0

Estou em uma instalação do Ubuntu 10.04 e, de alguma forma, o curl parou de funcionar com meu usuário. Eu sempre recebo: curl: (7) não consegui conectar ao host. Só funciona como root. Alguém pode me ajudar?

    
por khadafi 03.08.2010 / 19:20

3 respostas

1

Eu verifiquei o curl google.com strace log e a linha chave é certamente 409:

connect(3, {sa_family=AF_INET, sin_port=htons(9999), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)

Se eu (para o teste) lançar curl http://localhost:1357 , eu entro no strace:

connect(3, {sa_family=AF_INET, sin_port=htons(1357), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)

Assim, por algum motivo estranho em vez de google.com curl tenta se conectar a localhost:9999 .

Você pode postar:

  • /etc/hosts
  • /etc/nsswitch.conf
  • ~/.bashrc
  • /etc/host.conf
  • /etc/gai.conf
  • saída de ldd /usr/bin/curl
  • saída de env
por 03.08.2010 / 22:54
1

Eu estou pensando que talvez alguma biblioteca que enrole necessidades esteja agora acessível apenas pelo root por qualquer motivo. Algumas coisas que você pode tentar:

sudo apt-get purge curl libcurl3
sudo apt-get install curl

então, se isso não resolver o problema:

strace curl http://site.com/file.txt &> curl.log

e poste a saída em pastebin.com ou algo assim para nós.

    
por 03.08.2010 / 22:12
0

Talvez um usuário esteja usando um proxy e o outro não. Veja se o seu usuário ou root tem a variável de ambiente http_proxy ou HTTP_PROXY definida.

Veja também se o root tem um arquivo .curlrc que contém uma opção que o faz funcionar ou se seu usuário tem um .curlrc que não funciona.

    
por 03.08.2010 / 20:24