Vstfpd e criação de muitas contas: existe um howto?

1

Estou pesquisando e não encontrei uma resposta valiosa.

Eu tenho 98 alunos. Eu quero criar, para cada aluno, um diretório onde eles possam enviar seus próprios arquivos.

A menos que eu esteja errado, parece que terei que:

  • crie uma conta de estudante
  • mude sua senha para uma senha strong
  • faça isso novamente 98 vezes!

Eu gostaria de:

1 - para evitar se possível criar contas, ou seja, apenas configurando o vsftp corretamente e evitando useradd (= evitar o passo # 6 de este tutorial)

2 - encontre uma maneira de alterar todas as senhas dos alunos para senhas strongs (e, claro, conseguir imprimi-las para enviá-las individualmente).

    
por Olivier Pons 12.03.2013 / 12:27

1 resposta

0

Este é um modelo para fazer a bola rolar. É um script em perl que imprime comandos, de modo que não fará nada até que você decida ativar os comandos e recortá-los / colá-los de volta no console.

Ele faz o trabalho duro de gerar contas de usuário, define senhas e, opcionalmente, cria ou não cria um diretório de usuário. O truque é quando se cria senhas para o comando adduser que ele precisa estar no formato crypt3. Então, se você executar este script ...

#!/usr/bin/perl
use strict;         

my $SALT="jhgk^djfh*gkdh(jghkdhj786876erg98rhj44";
my $user="student";
my $pass="password";
my $encrypted;
my $studno=1;
my $studentstogenerate=20;

for ($studno;$studno<$studentstogenerate;$studno++) {
 $pass='p'.int(rand(100000000000000));
 $encrypted=crypt($pass, $SALT); 
 print "sudo useradd -p '$encrypted'  $user$studno --no-create-home -G ftpgroup # actual pass ($pass)\n";
}

Isso gerará ...

sudo useradd -p 'jhVU3sDajDruY'  student1 --no-create-home -G ftpgroup # actual pass (p67228866189634)
sudo useradd -p 'jhViMGmmQ7d4.'  student2 --no-create-home -G ftpgroup # actual pass (p20494616343373)
sudo useradd -p 'jhMr3VKBG2.ow'  student3 --no-create-home -G ftpgroup # actual pass (p13933001113231)
sudo useradd -p 'jhqPnvxZCcQTg'  student4 --no-create-home -G ftpgroup # actual pass (p45579091049416)
sudo useradd -p 'jhWqVroWUraWk'  student5 --no-create-home -G ftpgroup # actual pass (p35233656259977)
sudo useradd -p 'jhlWOWyt0AKYE'  student6 --no-create-home -G ftpgroup # actual pass (p39944882363487)
sudo useradd -p 'jhJd1AVEU/FE6'  student7 --no-create-home -G ftpgroup # actual pass (p71192849790380)
sudo useradd -p 'jh1I6aDAkq3iA'  student8 --no-create-home -G ftpgroup # actual pass (p41868457411791)

Como ele usa um gerador de números aleatórios toda vez que você executa, a senha será diferente.

Portanto, neste caso, student1 tem uma senha de p67228866189634

Você pode brincar com este script para gerar uma saída diferente, chnaging as variáveis. Deve ser bastante fácil, mesmo se você não programar em perl.

Observação: adicionei os alunos a ftpgoup , que talvez você precise alterar com base no grupo que você usou.

    
por Meer Borg 12.03.2013 / 13:03