[evolvis-commits] r10754: Test homedir before dealing with ssh keys?==?UTF-8?Q?↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 17:54:52 CET 2011


Author: mirabilos
Date: 2011-02-24 17:54:52 +0100 (Thu, 24 Feb 2011)
New Revision: 10754

Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl
Log:
Test homedir before dealing with ssh keys


Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl	2011-02-24 16:54:51 UTC (rev 10753)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl	2011-02-24 16:54:52 UTC (rev 10754)
@@ -26,7 +26,7 @@
 
 my ($username, $ssh_keys, $ssh_dir);
 
-if($verbose){print("\n\n	Processing Users\n\n")};
+if($verbose){print("\n\n	Processing Users keys creation\n\n")};
 while ($ln = pop(@ssh_array)) {
 	($username, $uid, $ssh_key) = split(":", $ln);
 
@@ -39,21 +39,27 @@
 
 	$ssh_dir = "$homedir_prefix/$username/.ssh";
 
-	if (! -d $ssh_dir) {
-		mkdir $ssh_dir, 0755;
+	if($verbose){print ("Processing $username\n")};
+
+	if (-d "$homedir_prefix/$username"){
+		if (! -d $ssh_dir) {
+			mkdir $ssh_dir, 0755;
+			system("chown $uid:$uid $ssh_dir");
+		}
+	
+		if($verbose){print("Writing authorized_keys for $username: ")};
+	
+		write_array_file("$ssh_dir/authorized_keys", @user_authorized_keys);
+		system("chown $uid:$uid $homedir_prefix/$username");
 		system("chown $uid:$uid $ssh_dir");
+		system("chmod 0644 $ssh_dir/authorized_keys");
+		system("chown $uid:$uid $ssh_dir/authorized_keys");
+
+		if($verbose){print ("Done\n")};
+	} else {
+		if($verbose){print ("Not yet done, waiting for home creation\n")};
 	}
 
-	if($verbose){print("Writing authorized_keys for $username: ")};
-
-	write_array_file("$ssh_dir/authorized_keys", @user_authorized_keys);
-	system("chown $uid:$uid $homedir_prefix/$username");
-	system("chown $uid:$uid $ssh_dir");
-	system("chmod 0644 $ssh_dir/authorized_keys");
-	system("chown $uid:$uid $ssh_dir/authorized_keys");
-
-	if($verbose){print ("Done\n")};
-
 	undef @user_authorized_keys;
 }
 undef @ssh_array;
@@ -69,7 +75,7 @@
 	push @ssh_array, $new_list;
 }
 
-if($verbose){print("\n\n	Processing Users\n\n")};
+if($verbose){print("\n\n	Processing Users keys deletion\n\n")};
 while ($ln = pop(@ssh_array)) {
 	($username, $uid) = split(":", $ln);
 
@@ -78,6 +84,8 @@
 
 	$ssh_dir = "$homedir_prefix/$username/.ssh";
 
+	if($verbose){print ("Processing $username\n")};
+
 	if (-d $ssh_dir) {
 	    if($verbose){print("Resetting authorized_keys for $username: ")};
 	    



More information about the evolvis-commits mailing list