--- a/Network/Ifaces.pm
+++ b/Network/Ifaces.pm
@@ -797,6 +797,17 @@
   return (&get_debian_auto_by_stanza ($file, $iface) ne undef)? 1 : 0;
 }
 
+sub set_network_config_permission
+{
+    my ($key) = @_;
+
+    if ($key)
+    {
+        chmod 0640, "/etc/network/interfaces";
+        &Utils::File::run ("chgrp admin /etc/network/interfaces");
+    }
+}
+
 sub set_debian_auto
 {
   my ($file, $iface, $value) = @_;
@@ -3022,6 +3033,7 @@
       [ "network",            \&Utils::Replace::set_sh,      IFCFG, NETWORK ],
       [ "gateway",            \&Utils::Replace::set_sh,      IFCFG, GATEWAY ],
       [ "essid",              \&Utils::Replace::set_sh,      IFCFG, WIRELESS_ESSID ],
+      [ "key",                \&set_network_config_permission, "%key%"],
       [ "key",                \&Utils::Replace::set_sh,      IFCFG, WIRELESS_KEY   ],
       [ "key_type",           \&set_wep_key_full, [ \&Utils::Replace::set_sh, IFCFG, WIRELESS_KEY, "%key%" ]],
       [ "update_dns",         \&Utils::Replace::set_sh_bool, IFCFG, PEERDNS ],
