Importando usuários da passwd

2

Estou migrando de um servidor Linux para outro com uma configuração muito semelhante. Ambos possuem o Plesk, que migrou automaticamente muitos dos dados. No entanto, há um número de usuários de FTP criados fora do Plesk que agora preciso mover. Eu filtrou o arquivo passwd antigo para apenas as entradas que preciso adicionar ao novo arquivo passwd.

Acho que se eu acrescentar os usuários extras no passwd no novo servidor, eles não receberão uma entrada na sombra, o que causa problemas mais tarde.

Qual é a melhor maneira de colocar esses usuários em passwd? Uma vez importados, eu configuro as senhas com chpasswd.

UPDATE Gostaria de importar não apenas os nomes de usuário, mas também o grupo, diretório pessoal, etc.

    
por handsofaten 14.03.2012 / 21:57

1 resposta

2

Por que não algo simples como o uso de cut / xargs.

cut -d: -f 1 /srv/old_filtered_passwd | xargs -n 1  useradd

Ou talvez algo mais complexo como este (não totalmente testado).

awk 'BEGIN{FS=":"} {print "useradd -u " $3 " -g " $4 " -c \"" $5 "\" -h " $6 " "$1}'  /srv/old_filtered_passwd > recreate_users
# verify 
cat recreate_users 
# actually create the users
bash recreate_users

Você pode fazer tudo com um único comando, como awk ... | bash . Embora eu sugira strongmente que você olhe para a saída do awk pela primeira vez para ter certeza de que tudo está correto.

    
por 14.03.2012 / 22:14