Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
webmin /
useradmin /
Delete
Unzip
Name
Size
Permission
Date
Action
help
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
images
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
lang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
CHANGELOG
5.66
KB
-rw-r--r--
2026-07-17 21:17
acl_security.pl
8.69
KB
-rwxr-xr-x
2026-07-17 21:17
aix-lib.pl
1.24
KB
-rwxr-xr-x
2026-07-17 21:17
backup_config.pl
749
B
-rwxr-xr-x
2026-07-17 21:17
batch_exec.cgi
17.2
KB
-rwxr-xr-x
2026-07-17 21:22
batch_form.cgi
2.42
KB
-rwxr-xr-x
2026-07-17 21:22
cgi_args.pl
477
B
-rwxr-xr-x
2026-07-17 21:17
config-aix
719
B
-rw-r--r--
2026-07-17 21:17
config-cobalt-linux
726
B
-rw-r--r--
2026-07-17 21:17
config-coherent-linux
673
B
-rw-r--r--
2026-07-17 21:17
config-corel-linux
681
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux
681
B
-rw-r--r--
2026-07-17 21:17
config-freebsd
700
B
-rw-r--r--
2026-07-17 21:17
config-generic-linux
693
B
-rw-r--r--
2026-07-17 21:17
config-gentoo-linux
653
B
-rw-r--r--
2026-07-17 21:17
config-hpux
595
B
-rw-r--r--
2026-07-17 21:17
config-irix
761
B
-rw-r--r--
2026-07-17 21:17
config-macos
597
B
-rw-r--r--
2026-07-17 21:17
config-mandrake-linux
678
B
-rw-r--r--
2026-07-17 21:17
config-msc-linux
673
B
-rw-r--r--
2026-07-17 21:17
config-netbsd
639
B
-rw-r--r--
2026-07-17 21:17
config-open-linux
703
B
-rw-r--r--
2026-07-17 21:17
config-openSUSE-Linux-15.0-ALL
731
B
-rw-r--r--
2026-07-17 21:17
config-openbsd
652
B
-rw-r--r--
2026-07-17 21:17
config-openmamba-linux
673
B
-rw-r--r--
2026-07-17 21:17
config-openserver
857
B
-rw-r--r--
2026-07-17 21:17
config-osf1
595
B
-rw-r--r--
2026-07-17 21:17
config-pardus-linux
681
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-15.0-ALL
675
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-ALL-14.9
673
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux
679
B
-rw-r--r--
2026-07-17 21:17
config-sol-linux
673
B
-rw-r--r--
2026-07-17 21:17
config-solaris
647
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux
693
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux-9.0-ALL
731
B
-rw-r--r--
2026-07-17 21:17
config-trustix-linux
673
B
-rw-r--r--
2026-07-17 21:17
config-turbo-linux
693
B
-rw-r--r--
2026-07-17 21:17
config-united-linux
693
B
-rw-r--r--
2026-07-17 21:17
config-unixware
611
B
-rw-r--r--
2026-07-17 21:17
config.info
4.07
KB
-rw-r--r--
2026-07-17 21:17
config.info.bg
7.87
KB
-rw-r--r--
2026-07-17 21:17
config.info.ca
4.82
KB
-rw-r--r--
2026-07-17 21:17
config.info.cs
4.21
KB
-rw-r--r--
2026-07-17 21:17
config.info.da
3.7
KB
-rw-r--r--
2026-07-17 21:17
config.info.de
4.65
KB
-rw-r--r--
2026-07-17 21:17
config.info.es
4.34
KB
-rw-r--r--
2026-07-17 21:17
config.info.fa
6.04
KB
-rw-r--r--
2026-07-17 21:17
config.info.fr
2.77
KB
-rw-r--r--
2026-07-17 21:17
config.info.hu
0
B
-rw-r--r--
2026-07-17 21:17
config.info.ja
4.96
KB
-rw-r--r--
2026-07-17 21:17
config.info.nl
4.61
KB
-rw-r--r--
2026-07-17 21:17
config.info.no
4.12
KB
-rw-r--r--
2026-07-17 21:17
config.info.pl
3.01
KB
-rw-r--r--
2026-07-17 21:17
config.info.pt_BR
4.36
KB
-rw-r--r--
2026-07-17 21:17
config.info.ru
4.61
KB
-rw-r--r--
2026-07-17 21:17
config.info.sv
1.06
KB
-rw-r--r--
2026-07-17 21:17
config.info.tr
3.69
KB
-rw-r--r--
2026-07-17 21:17
config.info.uk
4.58
KB
-rw-r--r--
2026-07-17 21:17
config.info.zh
961
B
-rw-r--r--
2026-07-17 21:17
config.info.zh_TW
909
B
-rw-r--r--
2026-07-17 21:17
cpan_modules.pl
256
B
-rwxr-xr-x
2026-07-17 21:17
defaultacl
369
B
-rw-r--r--
2026-07-17 21:17
delete_group.cgi
2.18
KB
-rwxr-xr-x
2026-07-17 21:22
delete_user.cgi
4.69
KB
-rwxr-xr-x
2026-07-17 21:22
edit_group.cgi
4.97
KB
-rwxr-xr-x
2026-07-17 21:22
edit_user.cgi
19.19
KB
-rwxr-xr-x
2026-07-17 21:22
export_exec.cgi
2.9
KB
-rwxr-xr-x
2026-07-17 21:22
export_form.cgi
1.77
KB
-rwxr-xr-x
2026-07-17 21:22
freebsd-lib.pl
2.02
KB
-rwxr-xr-x
2026-07-17 21:17
gbatch_exec.cgi
8.03
KB
-rwxr-xr-x
2026-07-17 21:22
gbatch_form.cgi
1.59
KB
-rwxr-xr-x
2026-07-17 21:22
gexport_exec.cgi
1.73
KB
-rwxr-xr-x
2026-07-17 21:22
gexport_form.cgi
1.26
KB
-rwxr-xr-x
2026-07-17 21:22
help.html
6.79
KB
-rw-r--r--
2026-07-17 21:17
hpux-lib.pl
1.1
KB
-rwxr-xr-x
2026-07-17 21:17
index.cgi
7.46
KB
-rwxr-xr-x
2026-07-17 21:22
irix-lib.pl
1.17
KB
-rwxr-xr-x
2026-07-17 21:17
linux-lib.pl
5.19
KB
-rwxr-xr-x
2026-07-17 21:17
list_logins.cgi
1.82
KB
-rwxr-xr-x
2026-07-17 21:22
list_who.cgi
945
B
-rwxr-xr-x
2026-07-17 21:22
log_parser.pl
1.68
KB
-rwxr-xr-x
2026-07-17 21:17
macos-lib.pl
3.29
KB
-rwxr-xr-x
2026-07-17 21:17
mass_delete_group.cgi
2.44
KB
-rwxr-xr-x
2026-07-17 21:22
mass_delete_user.cgi
7.74
KB
-rwxr-xr-x
2026-07-17 21:22
md5-lib.pl
7.73
KB
-rwxr-xr-x
2026-07-17 21:17
module.info
557
B
-rw-r--r--
2026-07-17 21:17
module.info.ar
173
B
-rw-r--r--
2026-07-17 21:17
module.info.ar.auto
34
B
-rw-r--r--
2026-07-17 21:17
module.info.bg
0
B
-rw-r--r--
2026-07-17 21:17
module.info.bg.auto
228
B
-rw-r--r--
2026-07-17 21:17
module.info.ca
117
B
-rw-r--r--
2026-07-17 21:17
module.info.ca.auto
27
B
-rw-r--r--
2026-07-17 21:17
module.info.cs
30
B
-rw-r--r--
2026-07-17 21:17
module.info.cs.auto
134
B
-rw-r--r--
2026-07-17 21:17
module.info.da
27
B
-rw-r--r--
2026-07-17 21:17
module.info.da.auto
116
B
-rw-r--r--
2026-07-17 21:17
module.info.de
133
B
-rw-r--r--
2026-07-17 21:17
module.info.de.auto
25
B
-rw-r--r--
2026-07-17 21:17
module.info.el
0
B
-rw-r--r--
2026-07-17 21:17
module.info.el.auto
258
B
-rw-r--r--
2026-07-17 21:17
module.info.es
26
B
-rw-r--r--
2026-07-17 21:17
module.info.es.auto
136
B
-rw-r--r--
2026-07-17 21:17
module.info.eu
0
B
-rw-r--r--
2026-07-17 21:17
module.info.eu.auto
175
B
-rw-r--r--
2026-07-17 21:17
module.info.fa
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fa.auto
220
B
-rw-r--r--
2026-07-17 21:17
module.info.fi
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fi.auto
156
B
-rw-r--r--
2026-07-17 21:17
module.info.fr
32
B
-rw-r--r--
2026-07-17 21:17
module.info.fr.auto
154
B
-rw-r--r--
2026-07-17 21:17
module.info.hr
0
B
-rw-r--r--
2026-07-17 21:17
module.info.hr.auto
147
B
-rw-r--r--
2026-07-17 21:17
module.info.hu
37
B
-rw-r--r--
2026-07-17 21:17
module.info.hu.auto
156
B
-rw-r--r--
2026-07-17 21:17
module.info.it
0
B
-rw-r--r--
2026-07-17 21:17
module.info.it.auto
129
B
-rw-r--r--
2026-07-17 21:17
module.info.ja
39
B
-rw-r--r--
2026-07-17 21:17
module.info.ja.auto
175
B
-rw-r--r--
2026-07-17 21:17
module.info.ko
29
B
-rw-r--r--
2026-07-17 21:17
module.info.ko.auto
142
B
-rw-r--r--
2026-07-17 21:17
module.info.ms
124
B
-rw-r--r--
2026-07-17 21:17
module.info.ms.auto
26
B
-rw-r--r--
2026-07-17 21:17
module.info.nl
30
B
-rw-r--r--
2026-07-17 21:17
module.info.nl.auto
123
B
-rw-r--r--
2026-07-17 21:17
module.info.no
27
B
-rw-r--r--
2026-07-17 21:17
module.info.no.auto
116
B
-rw-r--r--
2026-07-17 21:17
module.info.pl
122
B
-rw-r--r--
2026-07-17 21:17
module.info.pl.auto
31
B
-rw-r--r--
2026-07-17 21:17
module.info.pt
30
B
-rw-r--r--
2026-07-17 21:17
module.info.pt.auto
124
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR
30
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR.auto
130
B
-rw-r--r--
2026-07-17 21:17
module.info.ru
49
B
-rw-r--r--
2026-07-17 21:17
module.info.ru.auto
208
B
-rw-r--r--
2026-07-17 21:17
module.info.sk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.sk.auto
177
B
-rw-r--r--
2026-07-17 21:17
module.info.sv
31
B
-rw-r--r--
2026-07-17 21:17
module.info.sv.auto
128
B
-rw-r--r--
2026-07-17 21:17
module.info.tr
31
B
-rw-r--r--
2026-07-17 21:17
module.info.tr.auto
147
B
-rw-r--r--
2026-07-17 21:17
module.info.uk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.uk.auto
247
B
-rw-r--r--
2026-07-17 21:17
module.info.zh
24
B
-rw-r--r--
2026-07-17 21:17
module.info.zh.auto
103
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW
30
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW.auto
109
B
-rw-r--r--
2026-07-17 21:17
my_group_chooser.cgi
6.9
KB
-rwxr-xr-x
2026-07-17 21:22
my_user_chooser.cgi
6.56
KB
-rwxr-xr-x
2026-07-17 21:22
netbsd-lib.pl
2.02
KB
-rwxr-xr-x
2026-07-17 21:17
openbsd-lib.pl
2.02
KB
-rwxr-xr-x
2026-07-17 21:17
openserver-lib.pl
1.26
KB
-rwxr-xr-x
2026-07-17 21:17
osf1-lib.pl
1.09
KB
-rwxr-xr-x
2026-07-17 21:17
prefs.info
134
B
-rw-r--r--
2026-07-17 21:17
rbac-mapping
190
B
-rw-r--r--
2026-07-17 21:17
save_group.cgi
4.81
KB
-rwxr-xr-x
2026-07-17 21:22
save_user.cgi
20.83
KB
-rwxr-xr-x
2026-07-17 21:22
search_group.cgi
991
B
-rwxr-xr-x
2026-07-17 21:22
search_user.cgi
1.33
KB
-rwxr-xr-x
2026-07-17 21:22
solaris-lib.pl
1.86
KB
-rwxr-xr-x
2026-07-17 21:17
unixware-lib.pl
1.21
KB
-rwxr-xr-x
2026-07-17 21:17
user-lib.pl
84.21
KB
-rwxr-xr-x
2026-07-17 21:17
Save
Rename
#!/usr/bin/perl # Execute create/modify/delete group commands in a batch file require './user-lib.pl'; $access{'batch'} || &error($text{'gbatch_ecannot'}); if ($ENV{'REQUEST_METHOD'} eq 'GET') { &ReadParse(); } else { &ReadParseMime(); } if ($in{'source'} == 0) { $data = $in{'file'}; $data =~ /\S/ || &error($text{'batch_efile'}); } elsif ($in{'source'} == 1) { $data = &read_batch_local_file($in{'local'}); } elsif ($in{'source'} == 2) { $data = $in{'text'}; $data =~ /\S/ || &error($text{'batch_etext'}); } &ui_print_unbuffered_header(undef, $text{'gbatch_title'}, ""); # Force defaults for save options $in{'chgid'} = 1 if (!$access{'chgid'}); # Work out a good base GID for new groups &build_group_used(\%gused, \%gtaken); $newgid = int($config{'base_gid'} > $access{'lowgid'} ? $config{'base_gid'} : $access{'lowgid'}); # Process the file &batch_start() if ($in{'batch'}); &lock_user_files(); $lnum = $created = $modified = $deleted = 0; print "<pre>\n"; $pft = &passfiles_type(); foreach $line (split(/[\r\n]+/, $data)) { $lnum++; $line =~ s/^\s*#.*$//; next if ($line !~ /\S/); local @line = split(/:/, $line, -1); local %group; if ($line[0] eq 'create') { # Creating a new group # Validate line if (!$line[1]) { print &text('batch_eline', $lnum),"\n"; next; } if (@line != 5) { print &text('batch_elen', $lnum, 5),"\n"; next; } if ($line[1] !~ /^[^:\t]+$/) { print &text('gbatch_egroupname', $lnum),"\n"; next; } $group{'group'} = $line[1]; if ($gtaken{$group{'group'}}) { print &text('gbatch_egroup', $lnum, $group{'group'}),"\n"; next; } if ($line[3] !~ /^\d+$/) { # make up a GID while($gused{$newgid}) { $newgid++; } $group{'gid'} = $newgid; } else { # use the given UID if ($gused{$line[3]} && !$access{'gmultiple'}) { print &text('gbatch_ecaccess', $lnum, $text{'gsave_egidused2'}),"\n"; next; } $group{'gid'} = $line[3]; } $gused{$group{'gid'}}++; $group{'members'} = $line[4]; # Check access control restrictions if (!$access{'gcreate'}) { print &text('gbatch_ecaccess', $lnum, $text{'gsave_ecreate'}); next; } local $ch = &check_group(\%group); if ($ch) { print &text('gbatch_ecaccess', $lnum, $ch),"\n"; next; } if ($line[2] eq '') { # No password needed $group{'pass'} = ''; $group{'passmode'} = 0; } else { # Normal password $group{'pass'} = &encrypt_password($line[2]); $group{'passmode'} = 3; $group{'plainpass'} = $line[2]; } # Run the before command &set_user_envs(\%group, 'CREATE_GROUP'); $merr = &making_changes(); &error(&text('gsave_emaking', "<tt>$merr</tt>")) if (defined($merr)); # Create the group! &create_group(\%group); # All done &made_changes(); # Call other modules, ignoring any failures $error_must_die = 1; eval { &other_modules("useradmin_create_group", \%group) if ($access{'cothers'} == 1 && $in{'others'} || $access{'cothers'} == 0); }; $other_err = $@; $error_must_die = 0; print "<b>",&text('gbatch_created', $group{'group'}),"</b>\n"; print "<b><i>",&text('batch_eother', $other_err),"</i></b>\n" if ($other_err); $created++; } elsif ($line[0] eq 'delete') { # Deleting an existing group if (@line != 2) { print &text('batch_elen', $lnum, 2),"\n"; next; } local @glist = &list_groups(); local ($group) = grep { $_->{'group'} eq $line[1] } @glist; if (!$group) { print &text('gbatch_enogroup', $lnum, $line[1]),"\n"; next; } # Check if deletion is allowed if (!&can_edit_group(\%access, $group)) { print &text('gbatch_edaccess', $lnum, $text{'gdel_egroup'}),"\n"; next; } if (!$config{'delete_root'} && $group->{'gid'} <= 10) { print &text('gbatch_edaccess', $lnum, $text{'gdel_egroup'}),"\n"; next; } # Check if has primary members local $prim; foreach $u (&list_users()) { if ($u->{'gid'} == $group->{'gid'}) { $prim = $u; last; } } if ($prim) { print &text('gbatch_eprimary', $lnum, $prim->{'user'}),"\n"; next; } # Run the before command &set_user_envs($group, 'DELETE_GROUP'); $merr = &making_changes(); &error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr)); # Delete from other modules, ignoring errors $error_must_die = 1; eval { &other_modules("useradmin_delete_group", $group) if ($access{'dothers'} == 1 && $in{'others'} || $access{'dothers'} == 0); }; $other_err = $@; $error_must_die = 0; # Delete the user entry &delete_group($group); &made_changes(); print "<b>",&text('gbatch_deleted',$group->{'group'}),"</b>\n"; print "<b><i>",&text('batch_eother', $other_err),"</i></b>\n" if ($other_err); $deleted++; } elsif ($line[0] eq 'modify') { # Modifying an existing group if (@line != 6) { print &text('batch_elen', $lnum, 6),"\n"; next; } local @glist = &list_groups(); local ($group) = grep { $_->{'group'} eq $line[1] } @glist; if (!$group) { print &text('gbatch_enogroup', $lnum, $line[1]),"\n"; next; } %oldgroup = %group = %$group; $user{'olduser'} = $user->{'user'}; if (!&can_edit_group(\%access, \%group)) { print &text('gbatch_emaccess', $lnum, $text{'gsave_eedit'}),"\n"; next; } # Update supplied fields if ($line[2] ne '') { if (!$access{'grename'}) { print &text('gbatch_erename', $lnum, $line[1]),"\n"; } $group{'group'} = $line[2]; } if ($line[3] ne '') { # New normal password $group{'pass'} = &encrypt_password($line[3]); $group{'passmode'} = 3; $group{'plainpass'} = $line[3]; } else { # No change $group{'passmode'} = 4; } $group{'gid'} = $line[4] if ($line[4] ne ''); if ($line[5] =~ /^\s+$/ || $line[5] eq 'NONE') { # No members $group{'members'} = ''; } elsif ($line[5]) { $group{'members'} = $line[5]; } # Check access control restrictions local $ch = &check_group(\%group, \%oldgroup); if ($ch) { print &text('gbatch_emaccess', $lnum, $ch),"\n"; next; } # Run the before command &set_user_envs(\%group, 'MODIFY_GROUP'); $merr = &making_changes(); &error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr)); # Change GIDs if ($oldgroup{'gid'} != $group{'gid'} && $in{'chgid'}) { if ($in{'chgid'} == 1) { # Do all the home directories of members &change_all_home_groups( $oldgroup{'gid'}, $group{'gid'}, [ split(/,/, $group{'members'}) ]); } else { # Do all files in this group from the root dir &recursive_change("/", -1, $oldgroup{'gid'}, -1, $group{'gid'}); } } # Actually modify the group &modify_group(\%oldgroup, \%group); &made_changes(); # Modify in other modules, ignoring errors $error_must_die = 1; eval { &other_modules("groupadmin_modify_group", \%group, \%oldgroup) if ($access{'mothers'} == 1 && $in{'others'} || $access{'mothers'} == 0); }; $error_must_die = 0; $other_err = $@; print "<b>",&text('batch_modified',$oldgroup{'group'}),"</b>\n"; print "<b><i>",&text('batch_eother', $other_err),"</i></b>\n" if ($other_err); $modified++; } else { print &text('batch_eaction', $lnum, $line[0]),"\n"; next; } } print "</pre>\n"; &batch_end() if ($in{'batch'}); &unlock_user_files(); &webmin_log("gbatch", undef, $in{'source'} == 1 ? $in{'local'} : undef, { 'created' => $created, 'modified' => $modified, 'deleted' => $deleted, 'lnum' => $lnum } ); &ui_print_footer("gbatch_form.cgi", $text{'batch_return'}, "index.cgi?mode=groups", $text{'index_return'}); # check_group(\%group, [\%oldgroup]) # Check access control restrictions for a group sub check_group { # check if gid is within range if ($access{'lowgid'} && $_[0]->{'gid'} < $access{'lowgid'}) { return &text('usave_elowgid', $access{'lowuid'}); } if ($access{'hiuid'} && $_[0]->{'uid'} > $access{'hiuid'}) { return &text('usave_ehiuid', $access{'hiuid'}); } if ($_[1] && !$access{'ggid'} && $_[1]->{'gid'} != $_[0]->{'gid'}) { return $text{'gsave_eggid'}; } return undef; }