como faço para autenticar o ldap com o wget?

1

Estou tentando rastrear um servidor do Reviewboard antigo que possuo para criar uma cópia estática e arquivá-lo, e estou fazendo isso usando o wget por recomendações de algumas pessoas, usando a maneira recomendada de rastrear e baixar um servidor assim:

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --domains $DOMAIN --http-user $USERNAME  --ask-password $THE_SERVER

No entanto, o servidor requer um login autenticado por LDAP, então tudo que eu obtenho é a página de login e alguns arquivos relacionados. O mesmo problema ocorre se eu fizer apenas --user em vez de --http-user .

Minha pergunta é se posso fazer autenticação LDAP com o wget e, em caso afirmativo, como?

Como tenho certeza de que esses comentários aparecerão:

  1. Já criei um arquivo JSON usando o rb-tools, mas preferiria strongmente uma cópia da Web estática.
  2. Tenho a opção de permitir acesso somente leitura anônimo porque sou um administrador no servidor, mas gostaria de evitar isso, se possível.
por Ilya 29.09.2017 / 03:24

1 resposta

1

O LDAP não é um mecanismo de autenticação - é meramente um backend de armazenamento da conta; é essencialmente o mesmo que armazenar contas no MySQL ou algo parecido. Portanto, não existe uma "autenticação LDAP" no que diz respeito a clientes HTTP.

Os mecanismos atuais HTTP tem são "Basic" ou "Digest" para logins baseados em senha, ou "Negotiate" para logins baseados em Kerberos; a opção --http-user funcionaria se seu website usasse um desses.

No entanto, o seu site provavelmente usa uma página de login baseada em formulários / cookies, que para clientes HTTP é completamente indistinguível de um redirecionamento regular para uma página da Web normal. O Wget não poderá reconhecer e preencher automaticamente esses formulários.

Se for esse o caso, o que você poderia fazer é fazer o login através do seu navegador normal, então copiar os cookies de sessão necessários para o arquivo "cookie jar" do wget (ou possivelmente passá-los diretamente usando --header ). Então o site reconhecerá você como estando conectado.

Se você abrir "Ferramentas do desenvolvedor" → "Rede" no Chrome ou no Firefox, cada solicitação de rede terá a opção "Copiar como cURL", que fornece uma linha de comando curl completa. Encontre a opção --header … específica que envia seu cookie de sessão e forneça-o para wget.

    
por 29.09.2017 / 07:07