X7ROOT File Manager
Current Path:
/usr/libexec/webmin/firewall
usr
/
libexec
/
webmin
/
firewall
/
📁
..
📄
CHANGELOG
(2.79 KB)
📄
acl_security.pl
(1.41 KB)
📄
apply.cgi
(512 B)
📄
backup_config.pl
(649 B)
📄
bootup.cgi
(600 B)
📄
cgi_args.pl
(430 B)
📄
cluster.cgi
(2.08 KB)
📄
cluster_add.cgi
(2.19 KB)
📄
cluster_delete.cgi
(651 B)
📄
coherent-linux-lib.pl
(1.54 KB)
📄
config
(83 B)
📄
config.info
(1.23 KB)
📄
config.info.bg
(2.48 KB)
📄
config.info.ca
(1.5 KB)
📄
config.info.cs
(982 B)
📄
config.info.de
(1.42 KB)
📄
config.info.fr
(1.63 KB)
📄
config.info.ja
(421 B)
📄
config.info.nl
(976 B)
📄
config.info.no
(968 B)
📄
config.info.pl
(1012 B)
📄
config.info.pt_BR
(983 B)
📄
config.info.ru
(1.31 KB)
📄
config.info.sk
(989 B)
📄
config.info.tr
(827 B)
📄
convert.cgi
(756 B)
📄
debian-linux-lib.pl
(4.59 KB)
📄
defaultacl
(100 B)
📄
edit_rule.cgi
(14.88 KB)
📄
firewall-lib.pl
(17.32 KB)
📄
firewall4-lib.pl
(1.82 KB)
📄
firewall6-lib.pl
(1.76 KB)
📄
gentoo-linux-lib.pl
(722 B)
📁
help
📁
images
📄
index.cgi
(16.42 KB)
📄
install_check.pl
(841 B)
📁
lang
📄
log_parser.pl
(835 B)
📄
mandrake-linux-lib.pl
(1.69 KB)
📄
module.info
(207 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(173 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(258 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(271 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(292 B)
📄
module.info.ca
(150 B)
📄
module.info.ca.auto
(17 B)
📄
module.info.cs
(24 B)
📄
module.info.cs.auto
(148 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(167 B)
📄
module.info.de
(155 B)
📄
module.info.de.auto
(17 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(331 B)
📄
module.info.es
(26 B)
📄
module.info.es.auto
(149 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(160 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(272 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(192 B)
📄
module.info.fr
(0 B)
📄
module.info.fr.auto
(173 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(243 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(166 B)
📄
module.info.hu
(33 B)
📄
module.info.hu.auto
(172 B)
📄
module.info.it
(0 B)
📄
module.info.it.auto
(167 B)
📄
module.info.ja
(39 B)
📄
module.info.ja.auto
(218 B)
📄
module.info.ko
(0 B)
📄
module.info.ko.auto
(198 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(197 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(174 B)
📄
module.info.ms
(158 B)
📄
module.info.ms.auto
(17 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(181 B)
📄
module.info.nl
(23 B)
📄
module.info.nl.auto
(157 B)
📄
module.info.no
(23 B)
📄
module.info.no.auto
(146 B)
📄
module.info.pl
(141 B)
📄
module.info.pl.auto
(23 B)
📄
module.info.pt
(0 B)
📄
module.info.pt.auto
(170 B)
📄
module.info.pt_BR
(26 B)
📄
module.info.pt_BR.auto
(150 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(178 B)
📄
module.info.ru
(51 B)
📄
module.info.ru.auto
(241 B)
📄
module.info.sk
(24 B)
📄
module.info.sk.auto
(174 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(174 B)
📄
module.info.sv
(0 B)
📄
module.info.sv.auto
(174 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(306 B)
📄
module.info.tr
(0 B)
📄
module.info.tr.auto
(215 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(277 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(307 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(204 B)
📄
module.info.zh
(0 B)
📄
module.info.zh.auto
(145 B)
📄
module.info.zh_TW
(0 B)
📄
module.info.zh_TW.auto
(154 B)
📄
move.cgi
(1.29 KB)
📄
newchain.cgi
(898 B)
📄
open-ports.pl
(3.4 KB)
📄
prefs.info
(55 B)
📄
redhat-linux-lib.pl
(2.14 KB)
📄
save_policy.cgi
(7.15 KB)
📄
save_rule.cgi
(12.4 KB)
📄
save_rule6.cgi
(12.04 KB)
📄
setup.cgi
(9.36 KB)
📄
setup6.cgi
(8.12 KB)
📄
trustix-linux-lib.pl
(2.14 KB)
📄
unapply.cgi
(609 B)
Editing: open-ports.pl
#!/usr/bin/perl # Open some ports on the firewall. Exit statuses are : # 0 - Nothing needed to be done # 1 - Given ports were opened up # 2 - IPtables is not installed or supported # 3 - No firewall is active # 4 - Could not apply configuration # 5 - Bad args $no_acl_check++; $ENV{'WEBMIN_CONFIG'} = "/etc/webmin"; $ENV{'WEBMIN_VAR'} = "/var/webmin"; if ($0 =~ /^(.*\/)[^\/]+$/) { chdir($1); } require './firewall-lib.pl'; if ($module_name ne 'firewall') { print STDERR "Command must be run with full path\n"; exit(5); } # Parse args if ($ARGV[0] eq "--no-apply") { $no_apply = 1; shift(@ARGV); } if (!@ARGV) { print STDERR "Missing ports to open\n"; exit(5); } foreach $p (@ARGV) { if ($p !~ /^\d+$/ && $p !~ /^\d+:\d+$/ && $p !~ /^\d+(,\d+)*$/) { print STDERR "Port $p must be number or start:end range\n"; exit(5); } } # Check IPtables support if (&foreign_installed($module_name, 1) != 2) { print STDERR "IPtables is not available\n"; exit(2); } # Check if any rules exist @tables = &get_iptables_save(); if (!@tables) { print STDERR "No IPtables rules exist yet\n"; exit(3); } ($filter) = grep { $_->{'name'} eq 'filter' } @tables; if (!$filter) { print STDERR "No IPtables filter table found\n"; exit(3); } elsif (!@{$filter->{'rules'}}) { print STDERR "No IPtables rules found in filter table\n"; exit(3); } # Check if any rules are active @livetables = &get_iptables_save("iptables-save 2>/dev/null |"); ($livefilter) = grep { $_->{'name'} eq 'filter' } @livetables; @added = ( ); PORT: foreach $p (@ARGV) { # For each port, find existing rules print STDERR "Checking for port $p ..\n"; foreach $r (@{$filter->{'rules'}}) { if ($r->{'chain'} eq 'INPUT' && $r->{'j'} && $r->{'j'}->[1] eq 'ACCEPT' && $r->{'p'} && $r->{'p'}->[0] eq '' && $r->{'p'}->[1] eq 'tcp') { # Found tcp rule .. check ports @rports = ( ); $rrange = undef; if ($r->{'dports'} && $r->{'dports'}->[0] eq '') { push(@rports, split(/,/, $r->{'dports'}->[1])); $rrange = $r->{'dports'}->[1]; } if ($r->{'dport'} && $r->{'dport'}->[0] eq '') { ($s, $e) = split(":", $r->{'dport'}->[1]); if ($s && $e) { push(@rports, ($s .. $e)); } elsif ($s) { push(@rports, $s); } $rrange = $r->{'dport'}->[1]; } if (&indexof($p, @rports) >= 0 || $p eq $rrange) { print STDERR ".. already allowed\n"; next PORT; } } } # Add a rule at the top for this port $r = { 'chain' => 'INPUT', 'm' => [ [ "", "tcp" ] ], 'p' => [ "", "tcp" ], 'j' => [ "", 'ACCEPT' ] }; if ($p =~ /,/) { $r->{'dports'} = [ "", $p ]; push(@{$r->{'m'}}, [ "", "multiport" ]); } else { $r->{'dport'} = [ "", $p ]; } unshift(@{$filter->{'rules'}}, $r); push(@added, $p); } if (@added) { # Added some rules .. save them &run_before_command(); &lock_file($iptables_save_file); &save_table($filter); &unlock_file($iptables_save_file); &run_after_command(); ©_to_cluster(); print STDERR "Opened ports ",join(" ", @added),"\n"; # Apply, if live $ex = 1; if (!$no_apply && $livefilter && @{$livefilter->{'rules'}}) { $err = &apply_configuration(); if ($err) { print "Failed to apply configuration : $err\n"; $ex = 4; } else { print "Applied configuration successfully\n"; } } &webmin_log("openports", undef, undef, { 'ports' => \@added }); exit($ex); } else { print STDERR "All ports are already open\n"; exit(0); }
Upload File
Create Folder