>
> instale o /usr/ports/security/john (John the ripper) pra mesclar o passwd
> com
> o shadow.
>
> e compile meu programa abaixo:
>
> [EMAIL PROTECTED] /root/passwd-linux: cat contas.c
> #include <stdio.h>
> #include <errno.h>
>
> int main(int argc, char **argv) {
>         FILE *fo, *fd;
>         char buffer[1024];
>         char cmd[1024];
>         int i;
>         int j;
>         int uid=1002;
>         char login[64];
>         char pass[64];
>         char name[256];
>
>         if (argc < 3) {
>                 printf("Uso: %s <origem> <destino>\n", argv[0]);
>                 return -1;
>         }
>         if ((fo = fopen(argv[1], "r")) == NULL) {
>                 printf("Nao foi possivel abrir o arquivo de origem
> [%s]\n",
> strerror(errno));
>                 return -2;
>         }
>         if ((fd = fopen(argv[2], "a")) == NULL) {
>                 printf("Nao foi possivel abrir o arquivo de destino
> [%s]\n",
> strerror(errno));
>                 return -3;
>         }
>
>         while (fgets(buffer, 1024, fo)) {
>                 login[0] = 0;
>                 pass[0] = 0;
>                 name[0] = 0;
>                 //zezim:$1
> $0Q3jtpHI$SNvnL7Xxh1KTkdMegP0ya1:1029:100:Zezim,,,:/home/zezim:/bin/false
>                 //fabricio:$1$mcBWs964
> $q5xOC4qU5trVb5AvVbQDI.:1001:0::0:0:Fabricio:/home/fabricio:/bin/tcsh
>                 i = 0;
>                 j = 0;
>                 for (; buffer[i] != ':'; i++) {
>                         login[j++] = buffer[i];
>                 }
>                 i++; // pula o :
>                 login[j] = 0;
>                 j = 0;
>                 for (; buffer[i] != ':'; i++) {
>                         pass[j++] = buffer[i];
>                 }
>                 i++; // pula o :
>                 while (buffer[i++] != ':');
>                 while (buffer[i++] != ':');
>                 pass[j] = 0;
>                 j = 0;
>                 for (; buffer[i] != ',' && buffer[i] != ':'; i++) {
>                         name[j++] = buffer[i];
>                 }
>                 name[j] = 0;
>
>                 fprintf(fd,
> "%s:%s:%d:100::0:0:%s:/home/%s:/sbin/nologin\n",
> login, pass, uid++, name, login);
>                 fflush(fd);
>                 sprintf(cmd, "/usr/sbin/pwd_mkdb -p /etc/master.passwd");
>                 system(cmd);
>                 sprintf(cmd, "/bin/mkdir /usr/home/%s ; /usr/sbin/chown %
> d:users /usr/home/%s", login, uid, login);
>                 system(cmd);
>         }
>         printf("done!\n");
> }
>
>
> ---------- Original Message -----------
> From: "Mauricio Hiroaki Shibata" <[EMAIL PROTECTED]>
> To: "Lista de discussao do grupo FUG-BR" <Freebsd@fug.com.br>
> Sent: Mon, 6 Jun 2005 09:19:49 -0300
> Subject: [FUG-BR] Importar passwd Linux para FreeBSD
>
>> Tem alguma forma/ferramenta que faça a importação de usuários/email
>> LINUX para o FreeBSD?
>>
>> Maurício
>>
>> _______________________________________________
>> Freebsd mailing list
>> Freebsd@fug.com.br
>> http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> ------- End of Original Message -------
>
>
> _______________________________________________
> Freebsd mailing list
> Freebsd@fug.com.br
> http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
>
Há um tutorial muito bom em http://freebsd.ag.com.br/sessao8_18.html

welc.


_______________________________________________
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

Responder a