| Server IP : 189.126.111.107 / Your IP : 216.73.217.69 Web Server : Apache System : Linux www.gadotticar.com.br 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 User : gadotticar ( 1000) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/wuftpd/ |
Upload File : |
#!/usr/bin/perl
# save_class.cgi
# Save user classes
require './wuftpd-lib.pl';
&error_setup($text{'class_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();
# save class options
for($i=0; defined($class = $in{"class_$i"}); $i++) {
next if (!$class);
$class =~ /^\S+$/ || &error(&text('class_eclass', $class));
@types = split(/\0/, $in{"types_$i"});
@types || &error(&text('class_etypes', $class));
@addrs = split(/\s+/, $in{"addrs_$i"});
@addrs || &error(&text('class_eaddrs', $class));
push(@class, { 'name' => 'class',
'star' => $addrs[0] eq '*',
'values' => [ $class, join(",", @types), @addrs ] });
}
@class = sort { $a->{'star'} ? 1 : $b->{'star'} ? -1 : 0 } @class;
&save_directive($conf, 'class', \@class);
# save guest/real user/group options
foreach $g ('guestuser', 'guestgroup', 'realuser', 'realgroup') {
if ($in{$g}) {
&save_directive($conf, $g, [ { 'name' => $g,
'values' => [ $in{$g} ] } ] );
}
else {
&save_directive($conf, $g, [ ]);
}
}
# save allow/deny uid/gid options
&lock_file($config{'ftpusers'});
if ($in{'ftpusers'}) {
&open_tempfile(FTPUSERS, ">$config{'ftpusers'}");
foreach $u (split(/\s+/, $in{'ftpusers'})) {
&print_tempfile(FTPUSERS, $u,"\n");
}
&close_tempfile(FTPUSERS);
}
else {
unlink($config{'ftpusers'});
}
&unlock_file($config{'ftpusers'});
foreach $g ('deny-uid', 'deny-gid', 'allow-uid', 'allow-gid') {
($fg = $g) =~ s/-/_/g;
if ($in{$fg}) {
&save_directive($conf, $g, [ { 'name' => $g,
'values' => [ $in{$fg} ] } ] );
}
else {
&save_directive($conf, $g, [ ]);
}
}
&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("class", undef, undef, \%in);
&redirect("");