On Tue, 24 Oct 2000, Paulo Antonio Figueiredo do Carmo wrote:
> Valeu Alex!!!
>
> Pode me enviar o pgm em PVT. Fico muito grato.
> Sds.
>
> Antonio.
Desculpe a demora, vou mandar o codigo fonte, voce o quem quiser altera
conforme o desejado, o programa do jeito que esta eh compilado com a
seguinte linha de comando:
$ gcc -Wall -O prog.c -o prog -lcrypt
embora o programa esteja preparado para aceitar paramatros na linha de
comando (int argc, char *argv[]), o utilizem com muita cautela, pois isso
pode gerar um bufferoverflow, e como o programa tem rodar com suid de root
(com o usuario root -> chmod +s prog) voces devem saber o que pode
acontecer.
Se tiver alguma dificuldade em altera-lo para que atenda o seu proposito,
me mande um mail (private) que eu te ajudo.
t+
[]s
segue o programa:
// Checa se a senha do usuario corrente eh valida
#include <stdlib.h>
#include <unistd.h>
#include <crypt.h>
#include <shadow.h>
#include <string.h>
#include <pwd.h>
struct spwd *senhas;
char *verifica, *antiga;
char *nova1, *nova2;
int main(int argc, char *argv[])
{
senhas = getspnam(getlogin()); // pega uid de que esta executando
printf("Usuario [%s], Password [%s]\n",senhas->sp_namp,senhas->sp_pwdp);
antiga = senhas->sp_pwdp; // atribui a um *char a senha antiga
verifica = getpass("Senha: "); // system call do unix
// note que o crypt utiliza a senha antiga como salt
if (strcmp(crypt(verifica, antiga), antiga) == 0)
{
printf("\n *** S E N H A V A L I D A ***\n");
printf("Bem vindo [%s]\n",senhas->sp_namp);
}
else
{
printf("\n *** S E N H A I N C O R R E T A ***\n");
}
return(0);
} // fim do programa
------------------------------------------------------
[aechiara@pinga]~$ rm -rf *
^C^C^C
[aechiara@pinga]~$ ls -l
total 0
[aechiara@pinga]~$ Ahhhh ........
bash: Ahhhh: command not found
[aechiara@pinga]~$ logout
Connection to pinga closed.
/"\
\ /
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \ CAMPANHA DA FITA ASCII - CONTRA MAIL EM HTML
Linux ... a nice place to live
*******************************************
* Alex Eduardo Chiaranda *
* mail: [EMAIL PROTECTED] *
* [EMAIL PROTECTED] *
* [EMAIL PROTECTED] *
* Pagina => http://www.eep.br/~aechiara *
* ICQ => UIN 13070511 *
* 4o Ano de Ciencia da Computacao *
* Escola de Engenharia de Piracicaba *
* Piracicaba - SP *
*******************************************
http://www.mrweb.com.br/perl/
=======================================
>>No site da lista, voce tera tudo sobre PERL,
>>LINUX, PHP, ASP e informacoes, cadastramento
>>e descadastramento da Lista.
=======================================