mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 06:03:28 +00:00
73 lines
1.9 KiB
Perl
Executable File
73 lines
1.9 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_users.cgi
|
|
# save user and group related sshd options
|
|
|
|
require './sshd-lib.pl';
|
|
&ReadParse();
|
|
&error_setup($text{'access_err'});
|
|
&lock_file($config{'sshd_config'});
|
|
$conf = &get_sshd_config();
|
|
|
|
if ($version{'type'} eq 'ssh') {
|
|
if ($in{'allowh_def'}) {
|
|
&save_directive("AllowHosts", $conf);
|
|
}
|
|
else {
|
|
$in{'allowh'} =~ /\S/ || &error($text{'access_eallowh'});
|
|
&save_directive("AllowHosts", $conf, $in{'allowh'});
|
|
}
|
|
|
|
if ($in{'denyh_def'}) {
|
|
&save_directive("DenyHosts", $conf);
|
|
}
|
|
else {
|
|
$in{'denyh'} =~ /\S/ || &error($text{'access_edenyh'});
|
|
&save_directive("DenyHosts", $conf, $in{'denyh'});
|
|
}
|
|
}
|
|
|
|
$commas = $version{'type'} eq 'ssh' && $version{'number'} >= 3.2;
|
|
if ($in{'allowu_def'}) {
|
|
&save_directive("AllowUsers", $conf);
|
|
}
|
|
else {
|
|
$in{'allowu'} =~ /\S/ || &error($text{'access_eallowu'});
|
|
&save_directive("AllowUsers", $conf,
|
|
$commas ? join(",", split(/\s+/, $in{'allowu'})) : $in{'allowu'});
|
|
}
|
|
if ($in{'denyu_def'}) {
|
|
&save_directive("DenyUsers", $conf);
|
|
}
|
|
else {
|
|
$in{'denyu'} =~ /\S/ || &error($text{'access_edenyu'});
|
|
&save_directive("DenyUsers", $conf,
|
|
$commas ? join(",", split(/\s+/, $in{'denyu'})) : $in{'denyu'});
|
|
}
|
|
|
|
if ($in{'allowg_def'}) {
|
|
&save_directive("AllowGroups", $conf);
|
|
}
|
|
else {
|
|
$in{'allowg'} =~ /\S/ || &error($text{'access_eallowg'});
|
|
&save_directive("AllowGroups", $conf,
|
|
$commas ? join(",", split(/\s+/, $in{'allowg'})) : $in{'allowg'});
|
|
}
|
|
if ($in{'denyg_def'}) {
|
|
&save_directive("DenyGroups", $conf);
|
|
}
|
|
else {
|
|
$in{'denyg'} =~ /\S/ || &error($text{'access_edenyg'});
|
|
&save_directive("DenyGroups", $conf,
|
|
$commas ? join(",", split(/\s+/, $in{'denyg'})) : $in{'denyg'});
|
|
}
|
|
|
|
if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
|
|
&save_directive("SilentDeny", $conf, $in{'silent'} ? 'yes' : 'no');
|
|
}
|
|
|
|
&flush_file_lines();
|
|
&unlock_file($config{'sshd_config'});
|
|
&webmin_log("access");
|
|
&redirect("");
|
|
|