Vsftpd и создание многих аккаунтов: есть ли как?

Я гуглил вокруг и не нашел ценного ответа.

У меня 98 учеников. Я хочу создать для каждого студента каталог, в который они смогут загружать свои собственные файлы.

Если я не ошибаюсь, мне, вероятно, придется:

  • создать учетную запись учащегося
  • сменить пароль на надежный
  • сделать это снова 98 раз!

Я хотел бы:

1 - избегать , если возможно создания учетных записей, то есть просто правильно настраивать vsftp и избегать useradd (= избегайте шага № 6 в этого учебника)

2 - найдите способ изменить пароли всех этих студентов на надежные (и, конечно, сможете распечатать их, чтобы отправить их по почте индивидуально) .

1
задан 12 March 2013 в 15:48

1 ответ

Это шаблон для того, чтобы начать игру. Это Perl-скрипт, который печатает команды, поэтому он не будет ничего делать, пока вы не решите выделить команды и вырезать / вставить их обратно в консоль.

Он выполняет тяжелую работу по созданию учетных записей пользователей, устанавливает пароли и, по желанию, создает или не создает домашний каталог. Хитрость в том, что при создании паролей для команды adduser она должна быть в формате crypt3. Так что, если вы запустите этот скрипт ...

#!/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";
}

Это будет генерировать ...

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)

Поскольку он использует генератор случайных чисел при каждом запуске, пароль будет другим.

Таким образом, в этом случае student1 имеет пароль p67228866189634

Вы можете поиграть с этим сценарием, чтобы генерировать различный вывод путем изменения переменных. Должно быть достаточно просто, даже если вы не программируете на Perl.

Примечание: я добавил учащихся в ftpgoup, которые вам, возможно, придется изменить в зависимости от группы, которую вы использовали.

0
ответ дан 12 March 2013 в 15:48

Другие вопросы по тегам:

Похожие вопросы: