#!/usr/bin/perl # edit_user.cgi # Show one Webmin user require './itsecur-lib.pl'; &foreign_require("acl", "acl-lib.pl"); &can_use_error("users"); @users = &acl::list_users(); &ReadParse(); if ($in{'new'}) { &header($text{'user_title1'}, "", undef, undef, undef, undef, &apply_button()); %gotmods = ( $module_name, 1 ); } else { &header($text{'user_title2'}, "", undef, undef, undef, undef, &apply_button()); ($user) = grep { $_->{'name'} eq $in{'name'} } @users; %gotmods = map { $_, 1 } @{$user->{'modules'}}; } print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'user_header'}
\n"; # Show username print "\n", $user->{'name'}; # Show password print "\n"; # Show enabled flag print "\n", $user->{'pass'} =~ /^\*LK\*/ ? "checked" : "", $text{'no'}; # Show allowed IPS print "\n"; print "\n"; # Show allowed modules (from list for *this* user) print "\n"; &read_acl(\%acl); @mymods = grep { $acl{$base_remote_user,$_->{'dir'}} } &get_all_module_infos(); print "\n"; # Show access control print "\n"; require "./acl_security.pl"; if ($in{'new'}) { %uaccess = ( 'features' => 'rules services groups nat pat spoof logs apply', 'rfeatures' => 'rules services groups nat pat spoof logs apply', 'edit' => 1 ); } else { %uaccess = &get_module_acl($user->{'name'}); } &acl_security_form(\%uaccess); print "
$text{'user_name'} \n"; printf "
$text{'user_pass'} \n"; if (!$in{'new'}) { print " ", "$text{'user_same'}\n"; print " ", "$text{'user_change'}\n"; } print "
$text{'user_enabled'} \n"; printf " %s\n", $user->{'pass'} =~ /^\*LK\*/ ? "" : "checked", $text{'yes'}; printf " %s
$acl::text{'edit_ips'}\n"; printf "\n"; print "
%s
\n", $user->{'allow'} || $user->{'deny'} ? '' : 'checked', $acl::text{'edit_all'}; printf " %s
\n", $user->{'allow'} ? 'checked' : '', $acl::text{'edit_allow'}; printf " %s
\n", $user->{'deny'} ? 'checked' : '', $acl::text{'edit_deny'}; print "
$text{'user_mods'}

\n"; if ($in{'new'}) { print "\n"; } else { print "\n"; print "\n"; } print "
\n"; &can_edit_disable("users"); print "
\n"; &footer("list_users.cgi", $text{'users_return'});