Я хочу создать нескольких пользователей с генерацией пароля и распечаткой в виде текстового файла, как я могу написать в сценарии оболочки? (Пример: создать 5 пользователей, пароль 10 длина)
Следующий скрипт выполняет то, что вы просили:
#!/usr/bin/perl
my $user="user";
my $encrypted;
my $userno=1;
my $userstogenerate=6;
sub encryptingPsw {
my $psw = shift;
my $count = shift;
my @salt = ('.', '/', 'a'..'z', 'A'..'Z', '0'..'9');
my $salt = "";
$salt.= $salt[rand(63)] foreach(1..$count);
crypt($psw, $salt);
}
for ($userno;$userno<$userstogenerate;$userno++) {
print "User name $userno: ";
chomp (my $user = <STDIN>);
$encrypted = &encryptingPsw('passwd', 4);
print "sudo useradd -p '$encrypted' $user\n";
@array = `echo "Username: " $user "Password: " $encrypted >> users.txt`;
}
@array = `cat users.txt | lpr`;
Новые пользователи и их пароли записываются в файл users.txt
. Если вы подключили к аппарату принтер, файл будет напечатан users.txt
. Если нет, то в этом смысле появится ошибка.