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

Responder a