Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?php /*
- @Autor: jcunha@cijun.sp.gov.br
- @data: 09/03/2016 */
- error_reporting(E_ERROR | E_PARSE);
- $arg_size = count($argv);
- if ($arg_size == 3) {
- $ldaphost = $argv[2];
- $ldapUsername = $argv[1];
- echo "\r\n";
- $ldapPassword = prompt_silent();
- strlen($ldapPassword) or die("\r\n [TERMINADO]:Nenhuma senha foi informada!\r\n\r\n");
- $ds = ldap_connect($ldaphost);
- if(!ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)){
- print "Não foi possvel utilizar LDAPv3\r\n";
- }else{
- // Não foi possvel conectar ao servidor LDAP
- $bth = ldap_bind($ds, $ldapUsername, $ldapPassword) or die("\r\n [FALHA]:Não foi possível autenticar no servidor LDAP.\r\n\r\n");
- print "\r\n [SUCESSO]:Autenticação para o usuário [$ldapUsername] foi bem sucedida!\r\n\r\n";
- }
- }else{
- print "\r\n";
- print " Para usar entre com os parametros abaixo:\r\n";
- print "\r\n";
- print ' ldap (porta 389): ldap.php "domínio\usuário" "ldap://dcserver.dominio.local"' . "\r\n";
- print " ou\r\n";
- print ' ldaps (porta 636): ldap.php "domínio\usuário" "ldaps://dcserver.dominio.local"' . "\r\n";
- print "\r\n";
- print "\r\n";
- print " Formatos aceito para usurio:" . "\r\n";
- print "\r\n";
- print ' "CN=Ayrton Senna da Silva,DC=cijunsp,DC=local"' . "\r\n";
- print ' "asenna@cijunsp.local"' . "\r\n";
- print ' "asenna@cijunsp"' . "\r\n";
- print ' "cijunsp\asenna"' . "\r\n";
- print "\r\n";
- print "\r\n";
- print " Formatos aceito para servidor de domínio:" . "\r\n";
- print "\r\n";
- print ' Para ldap:' . "\r\n";
- print ' "111.222.333.444"' . "\r\n";
- print ' "111.222.333.444:389"' . "\r\n";
- print ' "dcserver.dominio.local"' . "\r\n";
- print ' "dcserver.dominio.local:389"' . "\r\n";
- print ' ou todas acima com o prefixo [ldap://]' . "\r\n";
- print "\r\n";
- print "\r\n";
- print " Formatos aceito para servidor/domínio:" . "\r\n";
- print "\r\n";
- print " Para ldaps (ldap over ssl):" . "\r\n";
- print ' "ldaps://111.222.333.444" (sem verificação de certificado)' . "\r\n";
- print ' "ldaps://111.222.333.444:363" (sem verificação de certificado)' . "\r\n";
- print ' "ldaps://dcserver.dominio.local"(com ou sem verificação de certificado)' . "\r\n";
- print ' "ldaps://dcserver.dominio.local:389" (com ou sem verificação de certificado)' . "\r\n";
- print "\r\n";
- print "\r\n";
- }
- function prompt_silent($prompt = "Entre com a senha do usuário informado:") {
- $command = '/usr/bin/env bash -c "echo OK"';
- if (rtrim(shell_exec($command)) !== 'OK') {
- trigger_error("Can't invoke bash");
- return;
- }
- $command = "/usr/bin/env bash -c 'read -s -p \""
- . addslashes($prompt)
- . "\" mypassword && echo \$mypassword'";
- $password = rtrim(shell_exec($command));
- echo "\n";
- return $password;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement