Vstfpd 和许多帐户创建:有操作方法吗?

Vstfpd 和许多帐户创建:有操作方法吗?

我一直在谷歌搜索,并没有找到有价值的答案。

我有 98 名学生。我想为每个学生创建一个目录,让他们可以上传自己的文件。

除非我错了,否则看来我必须:

  • 创建学生账户
  • 将密码更改为强密码
  • 重复98次!

我想:

1 - 避免如果可能的话创建帐户,即正确配置 vsftp 并避免useradd(=避免步骤 # 6教程)

2 - 找到一种方法将所有学生的密码更改为强密码(当然也可以将其打印出来以便单独邮寄)。

答案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注意:我已添加了您可能需要根据您使用的组进行更改的学生。

相关内容