"bash-ls" enfernt
authorasuess@dns.net.schlittermann.de
Thu, 29 Jul 2010 14:19:56 +0200
changeset 21 6715f8f9d04c
parent 20 5b52190d8750
child 22 7229d1c95ea8
"bash-ls" enfernt
dnssec-creatkey
dnssec-killkey
dnssec-sign
mkready
zone-ls
--- a/dnssec-creatkey	Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-creatkey	Thu Jul 29 14:19:56 2010 +0200
@@ -4,7 +4,6 @@
 
 my $master_dir="/etc/bind/master";	# verzeichnis fuer bind
 my $key_counter_end="10";		# ablauf des schluessels
-my @zones = `ls $master_dir`;	# alle verwalteten zonen
 my @change;			# liste abgelaufener zonen
 my @manu;			# liste manuell eingegebener zonen aus ARGV
 my @index;
@@ -12,7 +11,7 @@
 my $keyname;
 
 # prueft ob eingaben in ARGV domains sind und gibt sie in die liste @manu
-foreach (@ARGV) {
+for (@ARGV) {
 	chomp ($zone = `idn --quiet "$_"`);
 
 	if (-e "$master_dir/$zone") {
@@ -23,24 +22,25 @@
 }
 	
 # gibt alle zonen mit abgelaufenen keycounter in die liste @change
-foreach (@zones) {
+for (<$master_dir/*>) {
 	chomp ($zone = $_);
 	my $key;
 
-	if (-e "$master_dir/$zone/.keycounter") {
+	if (-e "$zone/.keycounter") {
 
-		open (KEY, "$master_dir/$zone/.keycounter");
+		open (KEY, "$zone/.keycounter");
 		$key = <KEY>;
 		close (KEY);
 
 		if ($key_counter_end < $key) {
+			$zone =~ s#($master_dir/)(.*)#$2#;
 			push (@change, $zone);
 		}
 	}
 }
 
 #erzeugt zsks
-foreach (@change, @manu) {
+for (@change, @manu) {
 	$zone = $_;
 
 	chdir "$master_dir/$zone" or die "chdir nach / nicht moeglich: $1";
@@ -72,7 +72,7 @@
 }
 
 #erzeugt ksks
-foreach (@manu) {
+for (@manu) {
 	$zone = $_;
 
 	chdir "$master_dir/$zone" or die "chdir nach / nicht moeglich: $1";
@@ -102,7 +102,7 @@
 
 # loescht alle unbenoetigten schluessel, fuegt die schluessel in
 # die zone-datei
-foreach (@change, @manu) {
+for (@change, @manu) {
 	$zone = $_;
 	my @old_zone_content = ();
 	my @new_zone_content = ();
--- a/dnssec-killkey	Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-killkey	Thu Jul 29 14:19:56 2010 +0200
@@ -3,14 +3,14 @@
 use strict;
 
 my $master_dir="/etc/bind/master";	# ordner fuer die einzelnen zonedateiordner
-my $ablauf_zeit="48";			# zeit fuer den key-rollover in h
+my $ablauf_zeit="1";			# zeit fuer den key-rollover in h
 my $zone;
 my @status;
 my @auto;
 chomp (my $now_time=`date +%s`);	# aktuelle unixzeit
 
 # prueft zonen aus ARGV und loescht das schluesselmaterial
-foreach (@ARGV) {
+for (@ARGV) {
         chomp ($zone = `idn --quiet $_`);
 	my $zdir = "$master_dir/$zone";
         if (-e "$master_dir/$zone") {
@@ -30,8 +30,10 @@
 }
 
 # beendet den key-rollover
-foreach (`ls $master_dir`) {
-	chomp ($zone = $_);
+for (<$master_dir/*>) {
+	$zone = $_;
+	$zone =~ s#($master_dir/)(.*)#$2#;
+
 	my @index = ();
 	my $index_wc;
 
--- a/dnssec-sign	Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-sign	Thu Jul 29 14:19:56 2010 +0200
@@ -11,7 +11,7 @@
 my $kc;
 
 # prueft zonen aus ARGV und fuegt sie in die liste @manu ein
-foreach (@ARGV) {
+for (@ARGV) {
 	chomp ($zone = `idn --quiet $_`);
 	if (-e "$master_dir/$zone") {
 		push @manu, $zone;
@@ -30,8 +30,9 @@
 # vergleicht fuer alle zonen im ordner $master_dir mit einer
 # <zone>.signed-datei den zeitpunkt in $time mit dem ablaufdatum der
 # signatur, welcher aus der datei <zone>.signed ausgelesen wird.
-foreach (`ls $master_dir`) {
-	chomp ($zone = $_);
+for (<$master_dir/*>) {
+	s#($master_dir/)(.*)#$2#;
+	$zone = $_;
 
 	if (-e "$master_dir/$zone/$zone.signed") {
 
@@ -51,9 +52,12 @@
 }
 
 #gibt zonen mit schluessel aber ohne signatur in die liste @auto
-foreach (`ls $master_dir`) {
-	chomp ($zone = $_);
+for (<$master_dir/*>) {
+	s#($master_dir/)(.*)#$2#;
+	$zone = $_;
 
+
+	print $zone;
 	if (-e "$master_dir/$zone/.keycounter") {
 
 		open (KC, "$master_dir/$zone/.keycounter" );
@@ -68,7 +72,7 @@
 
 # signiert alle zonen in @auto und @manu und erhoeht den wert in
 # der keycounter-datei
-foreach (@auto, @manu) {
+for (@auto, @manu) {
 	$zone = $_ ;
 
 	chdir "$master_dir/$zone";
--- a/mkready	Wed Jul 28 14:14:47 2010 +0200
+++ b/mkready	Thu Jul 29 14:19:56 2010 +0200
@@ -5,17 +5,18 @@
 my $bind_dir = "/etc/bind";
 my $conf_dir = "/etc/bind/zones.d";
 my $master_dir = "/etc/bind/master";
-chomp (my @domains = `ls $master_dir`);
 chomp (my @conf_dir_files = `ls $conf_dir`);
 
 # prueft jede domain, die ein verzeichnis in $master_dir hat, ob es eine
 # datei $zone_file.signed gibt und ob diese datei in $config_file eingetragen 
 # ist.
 # passt die eintraege in $config_file falls noetig an.
-foreach (@domains) {
-	my $domain = $_;
-	my $zone_file = "$master_dir/$domain/$domain";
-	my $conf_file = "$conf_dir/$domain";
+for (<$master_dir/*>) {
+	s#($master_dir/)(.*)#$2#;
+	my $zone = $_;
+
+	my $zone_file = "$master_dir/$zone/$zone";
+	my $conf_file = "$conf_dir/$zone";
 	my @c_content;
 
 	if (-e "$zone_file.signed") {
--- a/zone-ls	Wed Jul 28 14:14:47 2010 +0200
+++ b/zone-ls	Thu Jul 29 14:19:56 2010 +0200
@@ -3,13 +3,12 @@
 use strict;
 
 my $master_dir = "/etc/bind/master";
-chomp (my @domains = `ls $master_dir`);
-
 
 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
+foreach (<$master_dir/*>) {
+	s#($master_dir/)(.*)#$2#;
+	my $zone = $_;
 
-foreach (@domains) {
-	my $domain = $_;
 	my $info_zsk;
 	my $info_ksk;
 	my $info_kc;
@@ -17,20 +16,20 @@
 	my @temp;
 
 	#prueft wie viele zsks genutzt werden
-	open(FILE, "$master_dir/$domain/.index.zsk");
+	open(FILE, "$master_dir/$zone/.index.zsk");
 	@temp = <FILE>;
 	close(FILE);
 	$info_zsk = @temp;
 
 	#prueft wie viele ksks genutzt werden
-	open(FILE, "$master_dir/$domain/.index.ksk");
+	open(FILE, "$master_dir/$zone/.index.ksk");
 	@temp = <FILE>;
 	close(FILE);
 	$info_ksk = @temp;
 
 	#prueft wie oft die schluessel zum signieren genutzt wurden
-	if (-e "$master_dir/$domain/.keycounter") {
-		open(FILE, "$master_dir/$domain/.keycounter");
+	if (-e "$master_dir/$zone/.keycounter") {
+		open(FILE, "$master_dir/$zone/.keycounter");
 		chomp ($info_kc = <FILE>);
 		close(FILE);
 	} else {
@@ -38,8 +37,8 @@
 	}
 
 	#prueft das ablaufdatum
-	if (-e "$master_dir/$domain/$domain.signed") {
-		open(FILE, "$master_dir/$domain/$domain.signed");
+	if (-e "$master_dir/$zone/$zone.signed") {
+		open(FILE, "$master_dir/$zone/$zone.signed");
 		@temp = <FILE>;
 		close (FILE);
 
@@ -53,6 +52,6 @@
 		$info_end = "-";
 	}
 	
-	printf "%-25s %1s/%1s %5s %19s\n", $domain, $info_zsk, $info_ksk, $info_kc, $info_end;
+	printf "%-25s %1s/%1s %5s %19s\n", $zone, $info_zsk, $info_ksk, $info_kc, $info_end;
 }