Blacky
14/09/09, 18:29
Op een Cpanel server willen we de catchall email uitschakelen voor iedereen.
Dat gedaan via de Tweak Settings optie maar dat is dan alleen voor nieuwe accounts.
Daarna via SSH het volgende commando gedaan:
replace :blackhole: :fail: -- /etc/valiases/*
Daarbij zijn een aantal accounts geconverteerd en ziet het nu zo uit:
*: :fail:
in een bestand domein1.nl in /etc/valiases/
Maar er zijn nog oudere bestaande accounts waar het nog als volgt in staat, bijv. domein2.nl:
*: pietje
Usernamen zijn verschillend maar is er een truukje waarbij je dit middels een commandline of eenvoudig scriptje ook allemaal in 1x kunt wijzigen?
Ik heb wel dit scriptje gevonden maar dit stamt nog uit 2006, is dit nog geschikt?
#!/usr/bin/perl
print "Converting all domain Default Accounts to :fail: ...\n\n";
opendir (DIR, "/etc/valiases/") or die;
while (my $file = readdir (DIR)) {
if ($file =~ /^\./) {next}
open (IN, "</etc/valiases/$file") or die;
my @data = <IN>;
close (IN);
open (OUT, ">/etc/valiases/$file") or die;
foreach my $line (@data)
{
if ($line =~ /^((\*\:\s+[a-zA-Z0-9]+\s*)|(\*\:\s*))$/)
{
print OUT "*: :fail:\n";
print "Converted: [$file] $line";
}
else
{
print OUT $line;
if ($line =~ !/^\*\:\s+\:fail\:/)
{
print "Kept: [$file] $line";
}
}
}
close (OUT);
}
print "\n\nDone!\n";
Dat gedaan via de Tweak Settings optie maar dat is dan alleen voor nieuwe accounts.
Daarna via SSH het volgende commando gedaan:
replace :blackhole: :fail: -- /etc/valiases/*
Daarbij zijn een aantal accounts geconverteerd en ziet het nu zo uit:
*: :fail:
in een bestand domein1.nl in /etc/valiases/
Maar er zijn nog oudere bestaande accounts waar het nog als volgt in staat, bijv. domein2.nl:
*: pietje
Usernamen zijn verschillend maar is er een truukje waarbij je dit middels een commandline of eenvoudig scriptje ook allemaal in 1x kunt wijzigen?
Ik heb wel dit scriptje gevonden maar dit stamt nog uit 2006, is dit nog geschikt?
#!/usr/bin/perl
print "Converting all domain Default Accounts to :fail: ...\n\n";
opendir (DIR, "/etc/valiases/") or die;
while (my $file = readdir (DIR)) {
if ($file =~ /^\./) {next}
open (IN, "</etc/valiases/$file") or die;
my @data = <IN>;
close (IN);
open (OUT, ">/etc/valiases/$file") or die;
foreach my $line (@data)
{
if ($line =~ /^((\*\:\s+[a-zA-Z0-9]+\s*)|(\*\:\s*))$/)
{
print OUT "*: :fail:\n";
print "Converted: [$file] $line";
}
else
{
print OUT $line;
if ($line =~ !/^\*\:\s+\:fail\:/)
{
print "Kept: [$file] $line";
}
}
}
close (OUT);
}
print "\n\nDone!\n";