[ Avaa Bypassed ]




Upload:

Command:

www-data@3.139.86.128: ~ $
#!/usr/bin/perl
# save_export.cgi
# Save, create or delete an export

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './exports-lib.pl';
our (%text, %in, %config);
&ReadParse();

&lock_file($config{'exports_file'});
my @exps = &list_exports();

my %exp;
if ($in{'delete'}) {
	# Deleting some export
	my $exp = $exps[$in{'idx'}];
	&delete_export($exp);
	%exp = %$exp;
	}
else {
	my ($oldexp, %opts);
	if (!$in{'new'}) {
		# Get old export
		$oldexp = $exps[$in{'idx'}];
		%opts = %{$oldexp->{'options'}};
		}

	# Validate and parse inputs
	&error_setup($text{'save_err'});
	-d $in{'dir'} || &error(&text('save_edir', $in{'dir'}));
	$exp{'dir'} = $in{'dir'};
	if (defined($in{'pfs_def'})) {
		$in{'pfs_def'} || $in{'pfs'} =~ /^\/\S+$/ ||
			&error(&text('save_epfs', $in{'pfs'}));
		$exp{'pfs'} = $in{'pfs_def'} ? undef : $in{'pfs'};
		}
	$exp{'active'} = $in{'active'};
	
	if ($in{'mode'} == 0) { $exp{'host'} = "=public"; }
	elsif ($in{'mode'} == 1) {
		$in{'netgroup'} =~ /^\S+$/ ||
			&error($text{'save_enetgroup'});
		$exp{'host'} = '@'.$in{'netgroup'};
		}
	elsif ($in{'mode'} == 2) {
		&check_ipaddress($in{'network'}) ||
			&error(&text('save_enetwork', $in{'network'}));
		&check_ipaddress($in{'netmask'}) ||
			&error(&text('save_enetmask', $in{'netmask'}));
		$exp{'host'} = $in{'network'}."/".$in{'netmask'};
		}
	elsif ($in{'mode'} == 3) { $exp{'host'} = ""; }
	else {
		$in{'host'} =~ /\*/ || &to_ipaddress($in{'host'}) ||
			&error(&text('save_ehost', $in{'host'}));
		$exp{'host'} = $in{'host'};
		}

	# Authentication is in the host name
	if ($in{'ver'} >= 4) {
		$opts{'sec'} = join(":", split(/\r?\n/, $in{'sec'}));
		if ($opts{'sec'} eq 'sys') {
			delete($opts{'sec'});
			}
		if ($opts{'sec'} && $opts{'sec'} !~ /:/ && $exp{'host'} eq '') {
			# Allow hosts allowed for this security level
			$exp{'host'} = 'gss/'.$opts{'sec'};
			delete($opts{'sec'});
			}
		}

	# Validate and parse options
	delete($opts{'rw'});
	delete($opts{'ro'});
	if ($in{'ro'}) {
		$opts{'ro'} = "";
		}
	else {
		$opts{'rw'} = "";
		}
	
	delete($opts{'secure'});
	delete($opts{'insecure'});
	$opts{'insecure'} = "" if ($in{'insecure'});

	delete($opts{'no_subtree_check'});
	delete($opts{'subtree_check'});
	$opts{'no_subtree_check'} = "" if ($in{'no_subtree_check'});

	delete($opts{'nohide'});
	delete($opts{'hide'});
	$opts{'nohide'} = "" if ($in{'nohide'});
	
	delete($opts{'sync'}); delete($opts{'async'});
	if ($in{'sync'} == 1) {
		$opts{'sync'} = "";
		}
	elsif ($in{'sync'} == 2) {
		$opts{'async'} = "";
		}

	delete($opts{'root_squash'});
	delete($opts{'no_root_squash'});
	delete($opts{'all_squash'});
	delete($opts{'no_all_squash'});
	$opts{'no_root_squash'} = "" if ($in{'squash'} == 0);
	$opts{'all_squash'} = "" if ($in{'squash'} == 2);

	if ($in{'anonuid_def'}) {
		delete($opts{'anonuid'});
		}
	elsif ($in{'anonuid'} =~ /^-?[0-9]+$/) {
		$opts{'anonuid'} = $in{'anonuid'};
		}
	else {
		$opts{'anonuid'} = getpwnam($in{'anonuid'});
		$opts{'anonuid'} || &error($text{'save_eanonuid'});
		}

	if ($in{'anongid_def'}) {
		delete($opts{'anongid'});
		}
	elsif ($in{'anongid'} =~ /^-?[0-9]+$/) {
		$opts{'anongid'} = $in{'anongid'};
		}
	else {
		$opts{'anongid'} = getgrnam($in{'anongid'});
		$opts{'anongid'} || &error($text{'save_eanongid'});
		}

	# NFSv2 specific options
	delete($opts{'link_relative'});
	delete($opts{'link_absolute'});
	delete($opts{'noaccess'});
	delete($opts{'squash_uids'});
	delete($opts{'squash_gids'});
	delete($opts{'map_daemon'});

	$opts{'link_relative'} = "" if ($in{'link_relative'});
	$opts{'noaccess'} = "" if ($in{'noaccess'});

	if (!$in{'squash_uids_def'}) {
		if ($in{'squash_uids'} !~ /^[\d+\-\,]+$/) {
			&error($text{'save_euids'});
			}
		else {
			$opts{'squash_uids'} = $in{'squash_uids'};
			$opts{'map_daemon'} = "";
			}
		}
	    
	if (!$in{'squash_gids_def'}) {
		if ($in{'squash_gids'} !~ /^[\d+\-\,]+$/) {
			&error($text{'save_egids'});
			}
		else {
			$opts{'squash_gids'} = $in{'squash_gids'};
			$opts{'map_daemon'} = "";
			}
		}

	$exp{'options'} = \%opts;

	# Create or update the export
	if ($in{'new'}) {
		if ($exp{'pfs'}) {
			&create_export_via_pfs(\%exp);
			}
		else {
			&create_export(\%exp);
			}
		}
	else {
		&modify_export(\%exp, $oldexp);
		}
	}
&unlock_file($config{'exports_file'});

if ($in{'delete'}) {
	&webmin_log("delete", "export", $exp{'dir'}, \%exp);
	}
elsif ($in{'new'}) {
	&webmin_log("create", "export", $exp{'dir'}, \%exp);
	}
else {
	&webmin_log("modify", "export", $exp{'dir'}, \%exp);
	}
&redirect("");


Filemanager

Name Type Size Permission Actions
help Folder 0755
images Folder 0755
lang Folder 0755
CHANGELOG File 621 B 0644
backup_config.pl File 696 B 0755
cgi_args.pl File 268 B 0755
config-AlmaLinux-7.0-ALL File 84 B 0644
config-Amazon-Linux-2-ALL File 84 B 0644
config-CentOS-Linux-7.0-ALL File 84 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 84 B 0644
config-CloudLinux-8.0-ALL File 84 B 0644
config-Oracle-Linux-8.0-ALL File 84 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 84 B 0644
config-Rocky-Linux-7.0-ALL File 84 B 0644
config-Scientific-Linux-7.0-ALL File 84 B 0644
config-aix File 139 B 0644
config-cobalt-linux File 248 B 0644
config-coherent-linux File 200 B 0644
config-corel-linux File 204 B 0644
config-debian-linux File 204 B 0644
config-debian-linux-2.2 File 204 B 0644
config-debian-linux-3.0-ALL File 206 B 0644
config-generic-linux File 167 B 0644
config-gentoo-linux File 190 B 0644
config-mandrake-linux File 196 B 0644
config-msc-linux File 190 B 0644
config-open-linux File 200 B 0644
config-openSUSE-Linux-15.0-ALL File 92 B 0644
config-openmamba-linux File 200 B 0644
config-pardus-linux File 167 B 0644
config-redhat-linux File 200 B 0644
config-redhat-linux-24.0-ALL File 101 B 0644
config-slackware-linux File 167 B 0644
config-slackware-linux-8.0-ALL File 113 B 0644
config-sol-linux File 167 B 0644
config-suse-linux File 206 B 0644
config-suse-linux-7.1-ALL File 204 B 0644
config-syno-linux File 187 B 0644
config-trustix-linux File 190 B 0644
config-turbo-linux File 196 B 0644
config-united-linux File 204 B 0644
config.info File 170 B 0644
config.info.ca File 206 B 0644
config.info.cs File 150 B 0644
config.info.de File 194 B 0644
config.info.es File 123 B 0644
config.info.fr File 149 B 0644
config.info.it File 194 B 0644
config.info.ms File 125 B 0644
config.info.nl File 195 B 0644
config.info.no File 193 B 0644
config.info.pl File 162 B 0644
config.info.ru File 243 B 0644
config.info.sv File 104 B 0644
config.info.tr File 139 B 0644
config.info.uk File 242 B 0644
config.info.zh File 98 B 0644
config.info.zh_TW File 101 B 0644
delete_exports.cgi File 1009 B 0755
edit_export.cgi File 6.23 KB 0755
exports-lib.pl File 8.27 KB 0755
index.cgi File 2.11 KB 0755
install_check.pl File 407 B 0755
log_parser.pl File 1.06 KB 0755
module.info File 181 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 112 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 140 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 169 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 158 B 0644
module.info.ca File 0 B 0644
module.info.ca.auto File 126 B 0644
module.info.cs File 0 B 0644
module.info.cs.auto File 116 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 104 B 0644
module.info.de File 0 B 0644
module.info.de.auto File 135 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 208 B 0644
module.info.es File 0 B 0644
module.info.es.auto File 145 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 136 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 143 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 119 B 0644
module.info.fr File 0 B 0644
module.info.fr.auto File 130 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 127 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 112 B 0644
module.info.hu File 0 B 0644
module.info.hu.auto File 160 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 140 B 0644
module.info.ja File 0 B 0644
module.info.ja.auto File 153 B 0644
module.info.ko File 0 B 0644
module.info.ko.auto File 135 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 119 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 129 B 0644
module.info.ms File 0 B 0644
module.info.ms.auto File 113 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 132 B 0644
module.info.nl File 0 B 0644
module.info.nl.auto File 114 B 0644
module.info.no File 0 B 0644
module.info.no.auto File 101 B 0644
module.info.pl File 0 B 0644
module.info.pl.auto File 115 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 140 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 149 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 123 B 0644
module.info.ru File 0 B 0644
module.info.ru.auto File 205 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 124 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 112 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 102 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 225 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 155 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 189 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 192 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 147 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 114 B 0644
module.info.zh_TW File 0 B 0644
module.info.zh_TW.auto File 123 B 0644
restart_mountd.cgi File 349 B 0755
save_export.cgi File 4.44 KB 0755