mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Compare commits
260 Commits
2.302
...
dev/forgot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c974bda52c | ||
|
|
4e2307376d | ||
|
|
a6f0d4cbcd | ||
|
|
8358bd20af | ||
|
|
693f3c792e | ||
|
|
c126e9f93e | ||
|
|
62a52bfc56 | ||
|
|
4afe69addf | ||
|
|
1f33234db2 | ||
|
|
7dda4c62a9 | ||
|
|
1780dc2b16 | ||
|
|
7b326c7317 | ||
|
|
17433e479a | ||
|
|
5210f37478 | ||
|
|
8d2b6bf328 | ||
|
|
967e168e4b | ||
|
|
396ac2f546 | ||
|
|
6ab3247d3d | ||
|
|
806c8f4128 | ||
|
|
afaa49591a | ||
|
|
3b82950571 | ||
|
|
41d27ec4b4 | ||
|
|
bff5837cc0 | ||
|
|
5395dc57fe | ||
|
|
f5ff544439 | ||
|
|
24d17dc0c8 | ||
|
|
4504c74504 | ||
|
|
ffe27ae348 | ||
|
|
23b0e2491e | ||
|
|
412cc0b612 | ||
|
|
89bac6adaa | ||
|
|
0956ff159f | ||
|
|
dd34823ed3 | ||
|
|
575957325d | ||
|
|
d029b1c165 | ||
|
|
ea151bebfd | ||
|
|
22946b82de | ||
|
|
46455e1cf0 | ||
|
|
c5357f13f6 | ||
|
|
cfeaa8fcaa | ||
|
|
addab7910e | ||
|
|
068780d24a | ||
|
|
0e78b101b4 | ||
|
|
33e5a7fdfc | ||
|
|
88c9fa54f1 | ||
|
|
125a744f2e | ||
|
|
8a1e3d2b2f | ||
|
|
5820a98f5a | ||
|
|
36af12d39f | ||
|
|
b0557de951 | ||
|
|
63710a4c44 | ||
|
|
b3e2dabe84 | ||
|
|
ff742eddc1 | ||
|
|
d0f31831b6 | ||
|
|
97a9f57cbb | ||
|
|
b74d6ca7cc | ||
|
|
3ba8f4a6fe | ||
|
|
9a48d874e2 | ||
|
|
c5b0e4c7ff | ||
|
|
cc0968be8f | ||
|
|
f63f3a6817 | ||
|
|
b8820c6562 | ||
|
|
35bdbe19f0 | ||
|
|
76e4cd70b3 | ||
|
|
bc996a6263 | ||
|
|
265e11eceb | ||
|
|
56423b138e | ||
|
|
80760677c7 | ||
|
|
6367879266 | ||
|
|
a80870980d | ||
|
|
a7676f4004 | ||
|
|
cbcdeb9cb0 | ||
|
|
6415b0d8a8 | ||
|
|
d821d58fb4 | ||
|
|
f7f3023191 | ||
|
|
910d011edd | ||
|
|
5e00b93b5c | ||
|
|
ff4e0ae386 | ||
|
|
a2e6afbd06 | ||
|
|
723e169905 | ||
|
|
19bfe18e0f | ||
|
|
b48f6d3406 | ||
|
|
6743d3b4c6 | ||
|
|
172c504abb | ||
|
|
b92d8d11d6 | ||
|
|
d073280e80 | ||
|
|
ebf1138788 | ||
|
|
3706f7862b | ||
|
|
9bd96b6448 | ||
|
|
7ff37cd12f | ||
|
|
55fd013b35 | ||
|
|
014f949fdb | ||
|
|
cb3bde5374 | ||
|
|
4fbc57350f | ||
|
|
924e7e8ff5 | ||
|
|
cb7de4edec | ||
|
|
f17be6a383 | ||
|
|
bcfb698ac6 | ||
|
|
8bd079f52f | ||
|
|
cef76798f8 | ||
|
|
4f046c1d6d | ||
|
|
cc83641c11 | ||
|
|
971c526ade | ||
|
|
717f0b1100 | ||
|
|
6ff0e50e94 | ||
|
|
0de1844755 | ||
|
|
e55f3bdb74 | ||
|
|
25d2edeeaf | ||
|
|
201d817e9d | ||
|
|
b2626ca9c1 | ||
|
|
0553cae4e3 | ||
|
|
740368fc0d | ||
|
|
7c932d3cb0 | ||
|
|
b46043de84 | ||
|
|
69e3844cec | ||
|
|
215b1332fc | ||
|
|
bb8b926d52 | ||
|
|
967d519943 | ||
|
|
c84ef98016 | ||
|
|
fd153b28f3 | ||
|
|
7a3210849d | ||
|
|
fb8339a3ca | ||
|
|
e0b6ae7691 | ||
|
|
3f5ae24beb | ||
|
|
8cd74c1c35 | ||
|
|
e983ded21e | ||
|
|
0037d9a9ca | ||
|
|
a49b5fc0cb | ||
|
|
e87fc560c9 | ||
|
|
ac21e39a88 | ||
|
|
d070176535 | ||
|
|
4c60aa1865 | ||
|
|
590a3218be | ||
|
|
cf50dd2431 | ||
|
|
a04646e785 | ||
|
|
5d2debca26 | ||
|
|
79e5d72393 | ||
|
|
410d240e8b | ||
|
|
c074e150f6 | ||
|
|
2916f5b723 | ||
|
|
167e8f2b1f | ||
|
|
f71c413b6d | ||
|
|
a664809bf4 | ||
|
|
d8513dbd9e | ||
|
|
268b72917d | ||
|
|
4082701c48 | ||
|
|
4018977aeb | ||
|
|
ff0da2ca90 | ||
|
|
badb5b60f7 | ||
|
|
a9652f4c88 | ||
|
|
2febc12586 | ||
|
|
625fff0c6f | ||
|
|
ea973b571b | ||
|
|
ba6da02850 | ||
|
|
f15b147bd0 | ||
|
|
4b927ed588 | ||
|
|
8894ca18cf | ||
|
|
d9dbcd9746 | ||
|
|
00ad7fec7a | ||
|
|
f76451975c | ||
|
|
315664a1e1 | ||
|
|
18a4c86e2f | ||
|
|
f65625047b | ||
|
|
8d0f19f64d | ||
|
|
a768e731cf | ||
|
|
535accda63 | ||
|
|
a6c3cccbac | ||
|
|
d2d16608dc | ||
|
|
196e3ed6c4 | ||
|
|
acdc65c5d7 | ||
|
|
dffdd66fb4 | ||
|
|
f6fc4490db | ||
|
|
73a882b7a0 | ||
|
|
5de2d599a2 | ||
|
|
cf2806edac | ||
|
|
0bf83ea2a8 | ||
|
|
544db4b1a9 | ||
|
|
f7e4b57c42 | ||
|
|
9e9fc9bc87 | ||
|
|
23dff016cd | ||
|
|
c191caf04b | ||
|
|
05f4b8ff96 | ||
|
|
f30275b49e | ||
|
|
3e1b07f823 | ||
|
|
49990e5949 | ||
|
|
434d46643b | ||
|
|
33ed262ff0 | ||
|
|
0bc1dae232 | ||
|
|
2760336b40 | ||
|
|
18bd46fe93 | ||
|
|
fde1b02880 | ||
|
|
f94dabb88c | ||
|
|
9e9d674206 | ||
|
|
bd5c0bfa54 | ||
|
|
b1fdf42530 | ||
|
|
f2cba6af00 | ||
|
|
e5beb7f022 | ||
|
|
99f6638194 | ||
|
|
aa55e33b7e | ||
|
|
b3f28ee4f7 | ||
|
|
2ce1157190 | ||
|
|
d40dbe391e | ||
|
|
0fc1bea55e | ||
|
|
225d113d38 | ||
|
|
663640d801 | ||
|
|
8bc5ba7a32 | ||
|
|
a10de5a9dc | ||
|
|
a67e327627 | ||
|
|
99889c1f30 | ||
|
|
42b8f2c25c | ||
|
|
6905548fa4 | ||
|
|
4ae5ec1694 | ||
|
|
f3a841d2b9 | ||
|
|
2aee714a81 | ||
|
|
16fec003dc | ||
|
|
fdbf960a2c | ||
|
|
e8b2b21bce | ||
|
|
1f07fdb274 | ||
|
|
7b85a75a2b | ||
|
|
2185f2068d | ||
|
|
e60be7133b | ||
|
|
4021b6d8bb | ||
|
|
5a777e9395 | ||
|
|
51e2ebec70 | ||
|
|
afe100d9f0 | ||
|
|
eca9472980 | ||
|
|
62c02d1273 | ||
|
|
d74e7e66c5 | ||
|
|
7250c44648 | ||
|
|
31c7e63407 | ||
|
|
264ecae147 | ||
|
|
6dd8915808 | ||
|
|
48602503cd | ||
|
|
13acaeece7 | ||
|
|
bb787e4e1c | ||
|
|
d4fab15024 | ||
|
|
1cb53ff00a | ||
|
|
8043aabf18 | ||
|
|
3a94ea3788 | ||
|
|
2183088706 | ||
|
|
3736f26a84 | ||
|
|
f2307ae1fa | ||
|
|
45ef8d11c1 | ||
|
|
b17df99700 | ||
|
|
a3f2e64315 | ||
|
|
853bde5e1a | ||
|
|
083f9b09a2 | ||
|
|
81e8fc6c37 | ||
|
|
b9d2910d60 | ||
|
|
574f66c251 | ||
|
|
56a231e78d | ||
|
|
85e7f6c292 | ||
|
|
9fa35cc2c9 | ||
|
|
23cb74fa35 | ||
|
|
e1d87fac1c | ||
|
|
9ba9bfd524 | ||
|
|
6c5c5fa225 | ||
|
|
495a196b2f | ||
|
|
50eb61b89e | ||
|
|
3cb358fe9e |
1
.github/workflows/webmin.dev+webmin.yml
vendored
1
.github/workflows/webmin.dev+webmin.yml
vendored
@@ -7,7 +7,6 @@ on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
- edited
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
## Changelog
|
||||
|
||||
#### 2.303 (March 14, 2025)
|
||||
* Fix permissions error when attempting to open a temp file for writing
|
||||
* Fix Network Configuration module to use `ip` command instead of `ifconfig` on Debian systems
|
||||
* Fix to correctly save IPv6 nameservers in Network Configuration module
|
||||
* Fix to run `man` as `nobody` to prevent section param misuse in System Documentation module
|
||||
* Add support for Sendmail hash files ending with `.cdb`
|
||||
* Update German translations
|
||||
|
||||
#### 2.302 (March 3, 2025)
|
||||
* Add ability to preserve allow/deny IPs in Webmin Configuration module #2427
|
||||
* Add enhancements to module config saving to ensure reliability under all conditions
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -104,6 +104,7 @@ while(my $l = <$fh>) {
|
||||
[ split(/\s+/, $gconfig{"ownmods_$user[0]"} || "") ];
|
||||
$user{'logouttime'} = $logout{$user[0]};
|
||||
$user{'real'} = $gconfig{"realname_$user[0]"};
|
||||
$user{'email'} = $user[14];
|
||||
push(@rv, \%user);
|
||||
}
|
||||
}
|
||||
@@ -482,7 +483,8 @@ else {
|
||||
($user->{'temppass'} || ""),":",
|
||||
($user->{'twofactor_provider'} || ""),":",
|
||||
($user->{'twofactor_id'} || ""),":",
|
||||
($user->{'twofactor_apikey'} || ""),
|
||||
($user->{'twofactor_apikey'} || ""),":",
|
||||
($user->{'email'} || ""),
|
||||
"\n");
|
||||
&close_tempfile($fh);
|
||||
&unlock_file($miniserv{'userfile'});
|
||||
@@ -672,7 +674,8 @@ else {
|
||||
$user->{'temppass'},":",
|
||||
$user->{'twofactor_provider'},":",
|
||||
$user->{'twofactor_id'},":",
|
||||
$user->{'twofactor_apikey'},
|
||||
$user->{'twofactor_apikey'},":",
|
||||
$user->{'email'},
|
||||
"\n");
|
||||
}
|
||||
else {
|
||||
@@ -1408,20 +1411,20 @@ foreach my $s (keys %sessiondb) {
|
||||
dbmclose(%sessiondb);
|
||||
}
|
||||
|
||||
=head2 create_session_user(\%miniserv, user)
|
||||
=head2 create_session_user(\%miniserv, user, [lifetime])
|
||||
|
||||
Creates a new session ID that's already logged in as the given user
|
||||
|
||||
=cut
|
||||
sub create_session_user
|
||||
{
|
||||
my ($miniserv, $username) = @_;
|
||||
my ($miniserv, $username, $lifetime) = @_;
|
||||
return undef if (&is_readonly_mode());
|
||||
&open_session_db($miniserv);
|
||||
my $sid = &generate_random_session_id();
|
||||
return undef if (!$sid);
|
||||
my $t = time();
|
||||
$sessiondb{$sid} = "$username $t 127.0.0.1";
|
||||
$sessiondb{$sid} = "$username $t 127.0.0.1".($lifetime ? " ".$lifetime : "");
|
||||
dbmclose(%sessiondb);
|
||||
return $sid;
|
||||
}
|
||||
@@ -1714,7 +1717,7 @@ elsif ($mode == 2) {
|
||||
}
|
||||
else {
|
||||
# Try detecting system default first
|
||||
if (&foreign_available('useradmin')) {
|
||||
if (&foreign_installed('useradmin')) {
|
||||
&foreign_require('useradmin');
|
||||
return &useradmin::encrypt_password($pass, $salt, 1);
|
||||
}
|
||||
@@ -2325,5 +2328,35 @@ if (!$sid) {
|
||||
return $sid eq 'bad' ? undef : $sid;
|
||||
}
|
||||
|
||||
# generate_random_id()
|
||||
# Generate an ID string that can be used for a password reset link
|
||||
sub generate_random_id
|
||||
{
|
||||
if (open(my $RANDOM, "</dev/urandom")) {
|
||||
my $sid;
|
||||
my $tmpsid;
|
||||
if (read($RANDOM, $tmpsid, 16) == 16) {
|
||||
$sid = lc(unpack('h*',$tmpsid));
|
||||
}
|
||||
close($RANDOM);
|
||||
return $sid;
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
||||
# obsfucate_email(email)
|
||||
# Convert an email like foo@bar.com to f**@b**.com
|
||||
sub obsfucate_email
|
||||
{
|
||||
my ($email) = @_;
|
||||
my ($mailbox, $dom) = split(/\@/, $email);
|
||||
$mailbox = substr($mailbox, 0, 1) . ("*" x (length($mailbox)-1));
|
||||
my @doms;
|
||||
foreach my $d (split(/\./, $dom)) {
|
||||
push(@doms, substr($d, 0, 1) . ("*" x (length($d)-1)));
|
||||
}
|
||||
return $mailbox."\@".join(".", @doms);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -159,6 +159,10 @@ print &ui_table_row($text{'edit_pass'},
|
||||
print &ui_table_row($text{'edit_real'},
|
||||
&ui_textbox("real", $user{'real'}, 60));
|
||||
|
||||
# Contact email for recovery
|
||||
print &ui_table_row($text{'edit_email'},
|
||||
&ui_textbox("email", $user{'email'}, 60));
|
||||
|
||||
# Storage type
|
||||
if ($in{'user'}) {
|
||||
print &ui_table_row($text{'edit_proto'},
|
||||
@@ -457,6 +461,9 @@ if ($in{'user'}) {
|
||||
if ($access{'switch'} && $main::session_id && $in{'user'} ne $remote_user) {
|
||||
push(@buts, [ "but_switch", $text{'edit_switch'} ]);
|
||||
}
|
||||
if ($gconfig{'forgot_pass'}) {
|
||||
push(@buts, [ "but_forgot", $text{'edit_forgot'} ]);
|
||||
}
|
||||
if ($access{'delete'}) {
|
||||
push(@buts, [ "but_delete", $text{'delete'} ]);
|
||||
}
|
||||
|
||||
37
acl/forgot_form.cgi
Executable file
37
acl/forgot_form.cgi
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show form for force sending a password reset link
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
require './acl-lib.pl';
|
||||
our (%in, %text);
|
||||
&foreign_require("webmin");
|
||||
&error_setup($text{'forgot_err'});
|
||||
&ReadParse();
|
||||
&can_edit_user($in{'user'}) || &error($text{'edit_euser'});
|
||||
my $u = &get_user($in{'user'});
|
||||
$u || &error($text{'edit_egone'});
|
||||
&ui_print_header(undef, $text{'forgot_title'}, "");
|
||||
|
||||
print $text{'forgot_desc'},"<p>\n";
|
||||
|
||||
print &ui_form_start("forgot_send.cgi", "post");
|
||||
print &ui_hidden("user_acc", $u->{'name'});
|
||||
print &ui_table_start($text{'forgot_header'}, undef, 2);
|
||||
|
||||
print &ui_table_row($text{'forgot_user'},
|
||||
$u->{'name'} eq "root"
|
||||
? &ui_textbox("user", $u->{'name'}, 12)
|
||||
: "<tt>".$u->{'name'}."</tt>");
|
||||
|
||||
print &ui_table_row($text{'forgot_email'},
|
||||
&ui_opt_textbox("email", $u->{'email'}, 60,
|
||||
$text{'forgot_email_def'}."<br>\n",
|
||||
$text{'forgot_email_sel'}));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'forgot_send'} ] ]);
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
87
acl/forgot_send.cgi
Executable file
87
acl/forgot_send.cgi
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Actually send the password reset email
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
require './acl-lib.pl';
|
||||
our (%in, %text, %gconfig);
|
||||
&foreign_require("webmin");
|
||||
&error_setup($text{'forgot_err'});
|
||||
&ReadParse();
|
||||
&can_edit_user($in{'user_acc'}) || &error($text{'edit_euser'});
|
||||
my $wuser = &get_user($in{'user_acc'});
|
||||
$wuser || &error($text{'edit_egone'});
|
||||
|
||||
# Validate inputs
|
||||
$in{'email_def'} || $in{'email'} =~ /^\S+\@\S+$/ ||
|
||||
&error($text{'forgot_eemail'});
|
||||
my $unixuser;
|
||||
if ($in{'user'} ne $in{'user_acc'}) {
|
||||
&foreign_require("useradmin");
|
||||
my ($uinfo) = grep { $_->{'user'} eq $in{'user'} }
|
||||
&useradmin::list_users();
|
||||
$uinfo || &error($text{'forgot_eunix'});
|
||||
my $sudo = &useradmin::can_user_sudo_root($in{'user'});
|
||||
&error($text{'forgot_enosudo'}) if ($sudo < 0);
|
||||
&error($text{'forgot_ecansudo'}) if (!$sudo);
|
||||
$unixuser = $in{'user'};
|
||||
}
|
||||
|
||||
# Generate a random ID and tracking file for this password reset
|
||||
my $now = time();
|
||||
my %link = ( 'id' => &generate_random_id(),
|
||||
'remote' => $ENV{'REMOTE_ADDR'},
|
||||
'time' => $now,
|
||||
'user' => $wuser->{'name'},
|
||||
'uuser' => $unixuser, );
|
||||
$link{'id'} || &error($text{'forgot_erandom'});
|
||||
&make_dir($main::forgot_password_link_dir, 0700);
|
||||
my $linkfile = $main::forgot_password_link_dir."/".$link{'id'};
|
||||
&lock_file($linkfile);
|
||||
&write_file($linkfile, \%link);
|
||||
&unlock_file($linkfile);
|
||||
my $baseurl = &get_webmin_email_url();
|
||||
my $url = $baseurl.'/forgot.cgi?id='.&urlize($link{'id'});
|
||||
&load_theme_library();
|
||||
$url = &theme_forgot_url($baseurl, $link{'id'}, $unixuser || $link{'user'})
|
||||
if (defined(&theme_forgot_url));
|
||||
|
||||
&ui_print_header(undef, $text{'forgot_title'}, "");
|
||||
|
||||
my $username = $unixuser || $wuser->{'name'};
|
||||
if ($in{'email_def'}) {
|
||||
# Just show the link
|
||||
my $timeout = $gconfig{'passreset_timeout'} || 15;
|
||||
print "<p>",&text('forgot_link', $username, $timeout),"</p>\n";
|
||||
|
||||
print "<p><tt>".$url."</tt></p>\n";
|
||||
&webmin_log("forgot", "link", undef,
|
||||
{ 'user' => $username,
|
||||
'unix' => $unixuser ? 1 : 0 });
|
||||
}
|
||||
else {
|
||||
# Construct and send the email
|
||||
&foreign_require("mailboxes");
|
||||
my $msg = &text('forgot_adminmsg', $wuser->{'name'}, $url, $baseurl);
|
||||
$msg =~ s/\\n/\n/g;
|
||||
$msg = join("\n", &mailboxes::wrap_lines($msg, 75))."\n";
|
||||
my $subject = &text('forgot_subject', $username);
|
||||
print &text('forgot_sending',
|
||||
&html_escape($in{'email'}), $username),"<br>\n";
|
||||
&mailboxes::send_text_mail(&mailboxes::get_from_address(),
|
||||
$in{'email'},
|
||||
undef,
|
||||
$subject,
|
||||
$msg);
|
||||
print $text{'forgot_sent'},"<p>\n";
|
||||
|
||||
&webmin_log("forgot", "admin", undef,
|
||||
{ 'user' => $username,
|
||||
'unix' => $unixuser ? 1 : 0,
|
||||
'email' => $in{'email'} });
|
||||
}
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
@@ -280,16 +280,18 @@ print &ui_links_row(\@rowlinks);
|
||||
}
|
||||
|
||||
# user_link(user, cgi, param)
|
||||
# Return HTML for a link to edit one user
|
||||
sub user_link
|
||||
{
|
||||
my $lck = $_[0]->{'pass'} =~ /^\!/ ? 1 : 0;
|
||||
my $ro = $_[0]->{'readonly'};
|
||||
return &ui_checkbox("d", $_[0]->{'name'}, "", 0).
|
||||
my ($user, $cgi, $param) = @_;
|
||||
my $lck = $user->{'pass'} =~ /^\!/ ? 1 : 0;
|
||||
my $ro = $user->{'readonly'};
|
||||
return &ui_checkbox("d", $user->{'name'}, "", 0).
|
||||
($lck ? "<i>" : "").
|
||||
($ro ? "<b>" : "").
|
||||
ui_link("$_[1]?$_[2]=".&urlize($_[0]->{'name'}),
|
||||
$_[0]->{'name'}).
|
||||
($_[0]->{'twofactor_id'} ? "*" : "").
|
||||
&ui_link("$cgi?$param=".&urlize($user->{'name'}),
|
||||
$user->{'name'}).
|
||||
($user->{'twofactor_id'} ? "*" : "").
|
||||
($ro ? "</b>" : "").
|
||||
($lck ? "</i>" : "");
|
||||
}
|
||||
|
||||
631
acl/lang/de
631
acl/lang/de
@@ -1,41 +1,42 @@
|
||||
index_title=Webmin-Benutzer
|
||||
index_user=Benutzer
|
||||
index_title=Webmin-Benutzer:innen
|
||||
index_user=Benutzer:in
|
||||
index_modules=Module
|
||||
index_create=Einen neuen privilegierten Benutzer erstellen.
|
||||
index_screate=Einen neuen sicheren Benutzer erstellen.
|
||||
index_convert=Unix-zu-Webmin-Benutzer konvertieren
|
||||
index_create=Neuen privilegierten Benutzer:in erstellen.
|
||||
index_screate=Neue:n sichere:n Benutzer:in erstellen.
|
||||
index_convert=Unix-Benutzer:innen in Webmin-Benutzer:innen konvertieren
|
||||
index_cert=SSL-Zertifikat anfordern
|
||||
index_twofactor=Zwei-Faktor-Authentifizierung
|
||||
index_certmsg=Klicken Sie auf diese Schaltfläche, um ein SSL-Zertifikat anzufordern, das Ihnen ermöglicht, sich sicher bei Webmin anzumelden, ohne einen Benutzernamen und ein Passwort eingeben zu müssen.
|
||||
index_return=Benutzerliste
|
||||
index_certmsg=Klicken Sie auf diese Schaltfläche, um ein SSL-Zertifikat anzufordern, das eine sichere Anmeldung bei Webmin ohne Benutzername und Passwort ermöglicht.
|
||||
index_return=Benutzer:innenliste
|
||||
index_none=Keine
|
||||
index_edit=Modul-ACL bearbeiten:
|
||||
index_edit=Modul-ACL bearbeiten :
|
||||
index_global=Globale ACL
|
||||
index_users=Webmin-Benutzer
|
||||
index_users=Webmin-Benutzer:innen
|
||||
index_groups=Webmin-Gruppen
|
||||
index_group=Gruppe
|
||||
index_nousers=Keine bearbeitbaren Webmin-Benutzer definiert.
|
||||
index_nousers=Keine bearbeitbaren Webmin-Benutzer:innen definiert.
|
||||
index_nogroups=Keine Webmin-Gruppen definiert.
|
||||
index_gcreate=Eine neue Webmin-Gruppe erstellen.
|
||||
index_gcreate=Neue Webmin-Gruppe erstellen.
|
||||
index_members=Mitglieder
|
||||
index_modgroups=Module aus Gruppe $1
|
||||
index_sync=Unix-Benutzersynchronisierung konfigurieren
|
||||
index_modgroups=Module aus der Gruppe $1
|
||||
index_sync=Synchronisation von Unix-Benutzer:innen konfigurieren
|
||||
index_unix=Unix-Benutzerauthentifizierung konfigurieren
|
||||
index_sessions=Anmeldesitzungen anzeigen
|
||||
index_rbac=RBAC einrichten
|
||||
index_delete=Ausgewählte löschen
|
||||
index_joingroup=Zur Gruppe hinzufügen:
|
||||
index_eulist=Fehler beim Auflisten der Benutzer: $1
|
||||
index_eglist=Fehler beim Auflisten der Gruppen: $1
|
||||
index_eulist=Fehler beim Auflisten der Benutzer:innen : $1
|
||||
index_eglist=Fehler beim Auflisten der Gruppen : $1
|
||||
|
||||
edit_title=Webmin-Benutzer bearbeiten
|
||||
edit_title2=Webmin-Benutzer erstellen
|
||||
edit_title3=Neuen sicheren Webmin-Benutzer erstellen
|
||||
edit_readonly=Dieser Webmin-Benutzer sollte nicht bearbeitet werden, da er vom $1-Modul verwaltet wird. <a href='$2'>Klicken Sie hier</a>, um diese Warnung zu umgehen und den Benutzer dennoch zu bearbeiten – beachten Sie jedoch, dass alle manuellen Änderungen überschrieben werden können!
|
||||
edit_rights=Zugriffsrechte für Webmin-Benutzer
|
||||
edit_user=Benutzername
|
||||
edit_cloneof=Webmin-Benutzer klonen
|
||||
edit_title=Webmin-Benutzer:in bearbeiten
|
||||
edit_title2=Webmin-Benutzer:in erstellen
|
||||
edit_title3=Sichere:n Webmin-Benutzer:in erstellen
|
||||
edit_readonly=Dieser Webmin-Benutzer:in sollte nicht bearbeitet werden, da er:sie vom Modul $1 verwaltet wird. <a href='$2'>Hier klicken</a>, um diese Warnung zu umgehen und den:die Benutzer:in dennoch zu bearbeiten – beachten Sie jedoch, dass manuelle Änderungen überschrieben werden können!
|
||||
edit_rights=Zugriffsrechte für Webmin-Benutzer:in
|
||||
edit_user=Benutzer:innenname
|
||||
edit_cloneof=Webmin-Benutzer:in wird geklont
|
||||
edit_real=Echter Name
|
||||
edit_email=Kontakt-E-Mail
|
||||
edit_group=Mitglied der Gruppe
|
||||
edit_pass=Passwort
|
||||
edit_same=Gleich wie Unix
|
||||
@@ -43,469 +44,491 @@ edit_lock=Kein Passwort akzeptiert
|
||||
edit_pam=PAM-Authentifizierung
|
||||
edit_unix=Unix-Authentifizierung
|
||||
edit_extauth=Externes Authentifizierungsprogramm
|
||||
edit_dont=Nicht ändern
|
||||
edit_set=Setze auf
|
||||
edit_dont=Keine Änderung
|
||||
edit_set=Setzen auf
|
||||
edit_passlocked=Passwort wurde seit $1 Tagen nicht geändert – Konto gesperrt!
|
||||
edit_passmax=Passwort wurde seit $1 Tagen nicht geändert – muss beim nächsten Login geändert werden
|
||||
edit_passold=Passwort wurde zuletzt vor $1 Tagen geändert
|
||||
edit_passold=Passwort zuletzt vor $1 Tagen geändert
|
||||
edit_passtoday=Passwort wurde vor weniger als einem Tag geändert
|
||||
edit_modules=Module
|
||||
edit_clone=Klonen
|
||||
edit_twofactor=Art der Zwei-Faktor-Authentifizierung
|
||||
edit_twofactorprov=Verwenden von Anbieter $1 mit ID $2
|
||||
edit_twofactorcancel=Zwei-Faktor-Authentifizierungsanforderung entfernen
|
||||
edit_twofactornone=Keine eingerichtet
|
||||
edit_twofactoradd=Zwei-Faktor-Authentifizierung für Benutzer aktivieren
|
||||
edit_twofactor=Zwei-Faktor-Authentifizierungstyp
|
||||
edit_twofactorprov=Verwendet Anbieter:in $1 mit ID $2
|
||||
edit_twofactorcancel=Pflicht zur Zwei-Faktor-Authentifizierung entfernen
|
||||
edit_twofactornone=Noch nicht eingerichtet
|
||||
edit_twofactoradd=Zwei-Faktor für Benutzer:in aktivieren
|
||||
edit_lang=Sprache
|
||||
edit_locale=Gebietsschema
|
||||
edit_notabs=Module kategorisieren?
|
||||
edit_logout=Abmeldezeit bei Inaktivität
|
||||
edit_logout=Zeit bis automatische Abmeldung
|
||||
edit_mins=Minuten
|
||||
edit_chars=Buchstaben
|
||||
edit_minsize=Minimale Passwortlänge
|
||||
edit_nochange=Änderung des Passworts erzwingen?
|
||||
edit_nochange=Passwortwechsel-Tage erzwingen?
|
||||
edit_cert=SSL-Zertifikatsname
|
||||
edit_none=None
|
||||
edit_ips=IP-Zugriffssteuerung
|
||||
edit_all=Von allen Adressen erlauben
|
||||
edit_allow=Nur von aufgelisteten Adressen erlauben
|
||||
edit_deny=Von aufgelisteten Adressen verweigern
|
||||
edit_ipdesc=Die IP-Zugriffssteuerung für Benutzer funktioniert genauso wie die globale IP-Zugriffssteuerung im Webmin-Konfigurationsmodul. Nur wenn ein Benutzer die globalen Kontrollen besteht, werden auch die hier angegebenen überprüft.
|
||||
edit_skill=Fähigkeitsstufe
|
||||
edit_risk=Risikoebene
|
||||
edit_risk_high=Superbenutzer
|
||||
edit_risk_medium=Admin-Benutzer
|
||||
edit_risk_low=Normaler Benutzer
|
||||
edit_groupmods=(Zusätzlich zu Modulen aus der Gruppe)
|
||||
edit_euser=Sie dürfen diesen Benutzer nicht bearbeiten
|
||||
edit_egone=Ausgewählter Benutzer existiert nicht mehr!
|
||||
edit_ecreate=Sie dürfen keine Benutzer erstellen
|
||||
edit_none=Keine
|
||||
edit_ips=IP-Zugriffskontrolle
|
||||
edit_all=Zugriff von allen Adressen erlauben
|
||||
edit_allow=Nur Zugriff von gelisteten Adressen erlauben
|
||||
edit_deny=Zugriff von gelisteten Adressen verweigern
|
||||
edit_ipdesc=Die IP-Zugriffskontrolle für Benutzer:innen funktioniert wie die globale IP-Zugriffskontrolle im Webmin-Konfigurationsmodul. Nur wenn globale Regeln bestanden werden, gelten die hier definierten zusätzlich.
|
||||
edit_skill=Kompetenzstufe
|
||||
edit_risk=Risikostufe
|
||||
edit_risk_high=Superuser
|
||||
edit_risk_medium=Admin-Benutzer:in
|
||||
edit_risk_low=Normale:r Benutzer:in
|
||||
edit_groupmods=(Zusätzlich zu den Modulen aus der Gruppe)
|
||||
edit_euser=Sie dürfen diesen:die Benutzer:in nicht bearbeiten
|
||||
edit_egone=Ausgewählte:r Benutzer:in existiert nicht mehr!
|
||||
edit_ecreate=Sie dürfen keine Benutzer:innen erstellen
|
||||
edit_theme=Persönliches UI-Theme
|
||||
edit_themeglobal=Von Webmin-Konfiguration
|
||||
edit_themeglobal=Aus Webmin-Konfiguration
|
||||
edit_themedef=Legacy-Theme
|
||||
edit_overlay=Persönliches Theme-Overlay
|
||||
edit_overlayglobal=None – Standard-Theme verwenden
|
||||
edit_overlayglobal=Keines – Theme-Standardeinstellungen verwenden
|
||||
edit_log=Protokolle anzeigen
|
||||
edit_selall=Alle auswählen
|
||||
edit_invert=Auswahl umkehren
|
||||
edit_hide=Ungenutzte ausblenden
|
||||
edit_switch=Zum Benutzer wechseln
|
||||
edit_return=Webmin-Benutzer
|
||||
edit_hide=Nicht verwendete ausblenden
|
||||
edit_switch=Zu Benutzer:in wechseln
|
||||
edit_forgot=Link zum Zurücksetzen des Passworts senden
|
||||
edit_return=Webmin-Benutzer:in
|
||||
edit_return2=Webmin-Gruppe
|
||||
edit_rbacdeny=RBAC-Zugriffsmodus
|
||||
edit_rbacdeny0=RBAC steuert nur ausgewählte Modul-ACLs
|
||||
edit_rbacdeny1=RBAC steuert alle Module und ACLs
|
||||
edit_global=Berechtigungen für alle Module
|
||||
edit_templock=Vorübergehend gesperrt
|
||||
edit_temppass=Änderung beim nächsten Login erzwingen
|
||||
edit_templock=Temporär gesperrt
|
||||
edit_temppass=Änderung des Passworts beim nächsten Login erzwingen
|
||||
edit_days=Erlaubte Wochentage
|
||||
edit_alldays=Jeden Tag
|
||||
edit_alldays=Jeder Tag
|
||||
edit_seldays=Nur ausgewählte Tage ..
|
||||
edit_hours=Erlaubte Tageszeiten
|
||||
edit_hours=Erlaubte Uhrzeiten
|
||||
edit_allhours=Jederzeit
|
||||
edit_selhours=Von $1:$2 bis $3:$4
|
||||
edit_ui=Benutzeroberflächenoptionen
|
||||
edit_security=Sicherheits- und Einschränkungsoptionen
|
||||
edit_security=Sicherheits- und Limit-Optionen
|
||||
edit_mods=Verfügbare Webmin-Module
|
||||
edit_modsg=Verfügbare Webmin-Module (neben denen aus der Gruppe)
|
||||
edit_modsg=Verfügbare Webmin-Module (zusätzlich zu den aus der Gruppe)
|
||||
edit_proto=Speichertyp
|
||||
edit_proto_mysql=MySQL-Datenbank
|
||||
edit_proto_postgresql=PostgreSQL-Datenbank
|
||||
edit_proto_ldap=LDAP-Server
|
||||
edit_proto_=Lokale Dateien
|
||||
edit_safe=Privilegienstufe
|
||||
edit_safe0=Uneingeschränkt
|
||||
edit_safe=Berechtigungslevel
|
||||
edit_safe0=Unbeschränkt
|
||||
edit_safe1=Nur sichere Module
|
||||
edit_unsafe=Auf uneingeschränkt zurücksetzen
|
||||
edit_unsafe=Zurücksetzen auf unbeschränkt
|
||||
|
||||
save_err=Fehler beim Speichern des Benutzers
|
||||
save_ename='$1' ist kein gültiger Benutzername
|
||||
save_eunixname=Der Benutzername '$1' ist kein Unix-Benutzer und kann daher im sicheren Modus nicht verwendet werden
|
||||
save_enamewebmin=Der Benutzername 'webmin' ist für interne Zwecke reserviert
|
||||
save_edup=Der Benutzername '$1' wird bereits verwendet
|
||||
save_eoverlay=Ein Theme-Overlay kann nur ausgewählt werden, wenn ein Theme vorhanden ist
|
||||
save_edeny=Sie können sich selbst keinen Zugriff auf das Webmin Users-Modul verweigern
|
||||
save_eos=Die Option "Gleich wie Unix" für Passwörter wird von Ihrem Betriebssystem nicht unterstützt.
|
||||
save_emd5=Die Option "Gleich wie Unix" für Passwörter kann auf Systemen mit MD5-Verschlüsselung nicht verwendet werden
|
||||
save_eunix=Der Unix-Benutzer '$1' existiert nicht
|
||||
save_emod=Sie können keinen Zugriff auf das Modul '$1' gewähren
|
||||
save_ecreate=Sie dürfen keine Benutzer erstellen
|
||||
save_euser=Sie dürfen diesen Benutzer nicht bearbeiten
|
||||
save_ecolon=Passwörter dürfen nicht das : Zeichen enthalten
|
||||
save_epass=Passwort ist nicht gültig: $1
|
||||
save_err=Speichern des:der Benutzer:in fehlgeschlagen
|
||||
save_ename='$1' ist kein gültiger Benutzer:innenname
|
||||
save_eunixname=Der Benutzer:innenname '$1' ist kein Unix-Benutzer:in und kann daher nicht im sicheren Modus verwendet werden
|
||||
save_enamewebmin=Der Benutzer:innenname 'webmin' ist für interne Zwecke reserviert
|
||||
save_edup=Der Benutzer:innenname '$1' wird bereits verwendet
|
||||
save_eoverlay=Ein Theme-Overlay kann nur ausgewählt werden, wenn auch ein Theme festgelegt wurde
|
||||
save_edeny=Sie können sich selbst keinen Zugriff auf das Modul „Webmin-Benutzer:innen“ verweigern
|
||||
save_eos=Die Option „Gleich wie Unix“-Passwort wird von Ihrem Betriebssystem nicht unterstützt
|
||||
save_emd5=Die Option „Gleich wie Unix“-Passwort kann auf Systemen mit MD5-Verschlüsselung nicht verwendet werden
|
||||
save_eunix=Der Unix-Benutzer:in '$1' existiert nicht
|
||||
save_emod=Zugriff auf Modul '$1' kann nicht gewährt werden
|
||||
save_ecreate=Sie dürfen keine Benutzer:innen erstellen
|
||||
save_euser=Sie dürfen diesen:die Benutzer:in nicht bearbeiten
|
||||
save_ecolon=Passwörter dürfen das Zeichen „:“ nicht enthalten
|
||||
save_epass=Passwort ist ungültig : $1
|
||||
save_eself=Ihre aktuelle IP-Adresse ($1) würde abgelehnt
|
||||
save_epam=PAM-Authentifizierung ist nicht verfügbar, da das Perl-Modul <tt>Authen::PAM</tt> entweder nicht installiert oder nicht richtig funktioniert.
|
||||
save_epam2=Sie können das Perl-Module-Modul von Webmin verwenden, um <a href='$1'>Authen::PAM herunterzuladen und zu installieren</a>.
|
||||
save_egroup=Sie dürfen nicht der Gruppe zuweisen
|
||||
save_epam=PAM-Authentifizierung ist nicht verfügbar, da das Perl-Modul <tt>Authen::PAM</tt> nicht installiert oder nicht korrekt funktioniert
|
||||
save_epam2=Sie können das Perl-Modul <tt>Authen::PAM</tt> jetzt über das Webmin-Modul „Perl-Module“ <a href='$1'>herunterladen und installieren</a>
|
||||
save_egroup=Sie dürfen diese Gruppe nicht zuweisen
|
||||
save_enone=Keine Adressen eingegeben
|
||||
save_enet='$1' ist keine gültige Netzwerkadresse
|
||||
save_emask='$1' ist keine gültige Netzmaske
|
||||
save_eip='$1' ist keine vollständige IP- oder Netzwerkadresse
|
||||
save_ehost=Fehler beim Finden der IP-Adresse für '$1'
|
||||
save_elogouttime=Fehlende oder nicht-numerische Abmeldezeit bei Inaktivität
|
||||
save_eminsize=Fehlende oder nicht-numerische minimale Passwortlänge
|
||||
save_edays=Keine Tage ausgewählt
|
||||
save_ehours=Fehlende oder ungültige Zeiten
|
||||
save_ehost=IP-Adresse für '$1' konnte nicht ermittelt werden
|
||||
save_elogouttime=Fehlende oder ungültige Inaktivitäts-Logout-Zeit
|
||||
save_eminsize=Fehlende oder ungültige minimale Passwortlänge
|
||||
save_edays=Keine erlaubten Tage ausgewählt
|
||||
save_ehours=Fehlende oder ungültige erlaubte Zeiten
|
||||
save_ehours2=Startzeit muss vor Endzeit liegen
|
||||
save_etemp=Die Option, das Passwort beim nächsten Login zu ändern, kann nur verwendet werden, wenn <a href='$1'>Benutzer aufgefordert werden, neue Passwörter einzugeben</a> aktiviert ist
|
||||
save_etemp=Die Option zur Erzwingung des Passwortwechsels beim nächsten Login kann nicht verwendet werden, solange die <a href='$1'>Eingabeaufforderung für neue Passwörter</a> nicht aktiviert ist
|
||||
save_eemail=E-Mail-Adresse darf das Zeichen „:“ nicht enthalten
|
||||
|
||||
delete_err=Fehler beim Löschen des Benutzers
|
||||
delete_err=Benutzer:in konnte nicht gelöscht werden
|
||||
delete_eself=Sie können sich nicht selbst löschen
|
||||
delete_ecannot=Sie dürfen keine Benutzer löschen
|
||||
delete_euser=Sie dürfen diesen Benutzer nicht löschen
|
||||
delete_eanonuser=Dieser Benutzer wird für den anonymen Modulzugriff verwendet
|
||||
delete_ecannot=Sie dürfen keine Benutzer:innen löschen
|
||||
delete_euser=Sie dürfen diesen:die Benutzer:in nicht löschen
|
||||
delete_eanonuser=Dieser Benutzer:in wird für den anonymen Modulzugriff verwendet
|
||||
|
||||
cert_title=Zertifikat anfordern
|
||||
cert_issue=Zertifikat ausstellen
|
||||
cert_header=Details des neuen Zertifikats
|
||||
cert_msg=Dieses Formular ermöglicht Ihnen die Anforderung eines SSL-Client-Zertifikats, das in Zukunft verwendet wird, um Ihnen Zugang zu Webmin zu gewähren, anstelle Ihres Benutzernamens und Passworts. Dies ist sicherer, aber da die Authentifizierung automatisch erfolgt, können Sie beim Verwenden des Zertifikats nicht zu einem anderen Benutzer wechseln.
|
||||
cert_ebrowser=Webmin weiß nicht, wie man Client-Zertifikate für Ihren Browser ( $1 ) ausstellt
|
||||
cert_msg=Mit diesem Formular können Sie ein SSL-Client-Zertifikat anfordern, das künftig für den Zugang zu Webmin anstelle von Benutzer:innenname und Passwort verwendet wird. Dies ist sicherer, aber da die Authentifizierung automatisch erfolgt, können Sie bei Verwendung des Zertifikats nicht zu einem anderen Benutzer:in wechseln.
|
||||
cert_ebrowser=Webmin weiß nicht, wie Client-Zertifikate für Ihren Browser ($1) ausgestellt werden können
|
||||
cert_cn=Ihr Name
|
||||
cert_email=E-Mail-Adresse
|
||||
cert_ou=Abteilung
|
||||
cert_o=Organisation
|
||||
cert_sp=Bundesland
|
||||
cert_c=Ländercode
|
||||
cert_key=Schlüssellänge
|
||||
cert_key=Schlüsselgröße
|
||||
cert_done=Ihr Zertifikat für $1 wurde erfolgreich erstellt.
|
||||
cert_pickup=<a href='$1'>Klicken Sie hier, um Ihr Zertifikat abzuholen und in Ihrem Browser zu installieren</a>
|
||||
cert_install=Installieren Sie Ihr Zertifikat im Browser
|
||||
cert_ekey=Ein neuer SSL-Schlüssel wurde von Ihrem Browser nicht übermittelt - möglicherweise unterstützt er keine SSL-Client-Zertifikate.
|
||||
cert_eca=Fehler beim Einrichten der Zertifizierungsstelle: $1
|
||||
cert_already=Warnung - Sie verwenden bereits das Zertifikat $1.
|
||||
cert_etempdir=Ungültige Zertifikatsdatei
|
||||
cert_pickup=<a href='$1'>Hier klicken, um Ihr Zertifikat abzuholen und im Browser zu installieren</a>
|
||||
cert_install=Zertifikat in Browser installieren
|
||||
cert_ekey=Ihr Browser hat keinen neuen SSL-Schlüssel übermittelt – möglicherweise unterstützt er keine SSL-Client-Zertifikate
|
||||
cert_eca=Zertifizierungsstelle konnte nicht eingerichtet werden : $1
|
||||
cert_already=Warnung – Sie verwenden bereits das Zertifikat $1.
|
||||
cert_etempdir=Ungültige Zertifikatdatei
|
||||
|
||||
acl_title=Modul-Zugriffskontrolle
|
||||
acl_title2=Für $1 in $2
|
||||
acl_title3=Für Gruppe $1 in $2
|
||||
acl_options=Zugriffskontrolloptionen für $1
|
||||
acl_config=Kann die Modulkonfiguration bearbeiten?
|
||||
acl_reset=Auf Vollzugriff zurücksetzen
|
||||
acl_rbac=Zugriffskontrolleinstellungen von RBAC übernehmen?
|
||||
acl_rbacyes=Ja (überschreibt die untenstehenden Einstellungen)
|
||||
acl_options=$1-Zugriffsoptionen
|
||||
acl_config=Kann Modulkonfiguration bearbeiten?
|
||||
acl_reset=Auf vollen Zugriff zurücksetzen
|
||||
acl_rbac=Zugriffssteuerungseinstellungen aus RBAC übernehmen?
|
||||
acl_rbacyes=Ja (überschreibt untenstehende Einstellungen)
|
||||
|
||||
acl_uall=Alle Benutzer
|
||||
acl_uthis=Dieser Benutzer
|
||||
acl_usel=Ausgewählte Benutzer ..
|
||||
acl_uall=Alle Benutzer:innen
|
||||
acl_uthis=Diese:r Benutzer:in
|
||||
acl_usel=Ausgewählte Benutzer:innen ..
|
||||
acl_gr=Mitglieder von $1
|
||||
acl_users=Benutzer, die bearbeitet werden können
|
||||
acl_users=Bearbeitbare Benutzer:innen
|
||||
acl_mods=Kann Zugriff gewähren auf
|
||||
acl_all=Alle Module
|
||||
acl_own=Nur eigene Module
|
||||
acl_sel=Ausgewählte Module ..
|
||||
acl_create=Kann neue Benutzer erstellen?
|
||||
acl_delete=Kann Benutzer löschen?
|
||||
acl_rename=Kann Benutzer umbenennen?
|
||||
acl_create=Kann neue Benutzer:innen erstellen?
|
||||
acl_delete=Kann Benutzer:innen löschen?
|
||||
acl_rename=Kann Benutzer:innen umbenennen?
|
||||
acl_acl=Kann Modul-Zugriffskontrolle bearbeiten?
|
||||
acl_lang=Kann Sprache ändern?
|
||||
acl_locale=Kann Regionaleinstellungen ändern?
|
||||
acl_locale=Kann Gebietsschema ändern?
|
||||
acl_chcert=Kann SSL-Zertifikatsnamen ändern?
|
||||
acl_euser=Sie dürfen die ACL für diesen Benutzer nicht bearbeiten
|
||||
acl_egroup=Sie dürfen die Gruppen-ACLs nicht bearbeiten
|
||||
acl_emod=Sie dürfen die ACL für dieses Modul nicht bearbeiten
|
||||
acl_euser=Sie dürfen die ACL dieses:dieser Benutzer:in nicht bearbeiten
|
||||
acl_egroup=Sie dürfen keine Gruppen-ACLs bearbeiten
|
||||
acl_emod=Sie dürfen die ACL dieses Moduls nicht bearbeiten
|
||||
acl_others=Kann nicht zugängliche Module sehen?
|
||||
acl_cert=Kann Zertifikate anfordern?
|
||||
acl_err=Fehler beim Speichern der Zugriffskontrolle
|
||||
acl_err=Speichern der Zugriffskontrolle fehlgeschlagen
|
||||
acl_groups=Kann Gruppen bearbeiten?
|
||||
acl_gassign=Kann Benutzer Gruppen zuweisen
|
||||
acl_gassign=Kann Benutzer:innen Gruppen zuweisen
|
||||
acl_gall=Alle Gruppen
|
||||
acl_gsel=Ausgewählt ..
|
||||
acl_gsel=Ausgewählte ..
|
||||
acl_gnone=Keine
|
||||
acl_perms=Neu erstellte Benutzer erhalten
|
||||
acl_perms_1=Gleiche Modul-Zugriffskontrolle wie Ersteller
|
||||
acl_perms_0=Standard (uneingeschränkte) Modul-Zugriffskontrolle
|
||||
acl_sync=Kann Benutzersynchronisierung konfigurieren?
|
||||
acl_perms=Neu erstellte Benutzer:innen erhalten
|
||||
acl_perms_1=Gleiche Modul-ACL wie Ersteller:in
|
||||
acl_perms_0=Standard (unbeschränkte) Modul-ACL
|
||||
acl_sync=Kann Benutzersynchronisation konfigurieren?
|
||||
acl_unix=Kann Unix-Authentifizierung konfigurieren?
|
||||
acl_sessions=Kann Anmeldesitzungen anzeigen und abbrechen?
|
||||
acl_cats=Kann Kategorisierung ändern?
|
||||
acl_theme=Kann persönliches Theme ändern?
|
||||
acl_ips=Kann IP-Zugriffskontrolle ändern?
|
||||
acl_switch=Kann zu anderen Benutzern wechseln?
|
||||
acl_switch=Kann zu anderen Benutzer:innen wechseln?
|
||||
acl_times=Kann erlaubte Anmeldezeiten ändern?
|
||||
acl_pass=Kann Passwortbeschränkungen ändern?
|
||||
acl_sql=Kann Benutzer- und Gruppendatenbank konfigurieren?
|
||||
acl_sql=Kann Benutzer:innen- und Gruppendatenbank konfigurieren?
|
||||
|
||||
log_modify=Webmin-Benutzer $1 geändert
|
||||
log_rename=Webmin-Benutzer $1 in $2 umbenannt
|
||||
log_create=Webmin-Benutzer $1 erstellt
|
||||
log_clone=Webmin-Benutzer $1 nach $2 kopiert
|
||||
log_delete=Webmin-Benutzer $1 gelöscht
|
||||
log_modify=Webmin-Benutzer:in $1 bearbeitet
|
||||
log_rename=Webmin-Benutzer:in $1 in $2 umbenannt
|
||||
log_create=Webmin-Benutzer:in $1 erstellt
|
||||
log_clone=Webmin-Benutzer:in $1 zu $2 geklont
|
||||
log_delete=Webmin-Benutzer:in $1 gelöscht
|
||||
log_acl=Zugriff für $1 in $2 aktualisiert
|
||||
log_reset=Zugriff für $1 in $2 zurückgesetzt
|
||||
log_cert=Zertifikat für Benutzer $1 ausgestellt
|
||||
log_modify_g=Webmin-Gruppe $1 geändert
|
||||
log_cert=Zertifikat für Benutzer:in $1 ausgestellt
|
||||
log_modify_g=Webmin-Gruppe $1 bearbeitet
|
||||
log_rename_g=Webmin-Gruppe $1 in $2 umbenannt
|
||||
log_create_g=Webmin-Gruppe $1 erstellt
|
||||
log_delete_g=Webmin-Gruppe $1 gelöscht
|
||||
log_switch=Zu Webmin-Benutzer $1 gewechselt
|
||||
log_delete_users=$1 Webmin-Benutzer gelöscht
|
||||
log_switch=Zu Webmin-Benutzer:in $1 gewechselt
|
||||
log_delete_users=$1 Webmin-Benutzer:innen gelöscht
|
||||
log_delete_groups=$1 Webmin-Gruppen gelöscht
|
||||
log_joingroup=$1 Webmin-Benutzer zur Gruppe $2 hinzugefügt
|
||||
log_joingroup=$1 Webmin-Benutzer:innen zur Gruppe $2 hinzugefügt
|
||||
log_pass=Passwortbeschränkungen geändert
|
||||
log_unix=Unix-Authentifizierung geändert
|
||||
log_sync=Unix-Benutzersynchronisierung geändert
|
||||
log_sql=Benutzer- und Gruppendatenbank geändert
|
||||
log_twofactor=Benutzer $1 bei Zwei-Faktor-Anbieter $2 registriert
|
||||
log_onefactor=Benutzer $1 von Zwei-Faktor-Authentifizierung abgemeldet
|
||||
log_unix=Unix-Benutzerauthentifizierung geändert
|
||||
log_sync=Unix-Benutzersynchronisation geändert
|
||||
log_sql=Benutzer:innen- und Gruppendatenbank geändert
|
||||
log_twofactor=Benutzer:in $1 bei Zwei-Faktor-Anbieter:in $2 registriert
|
||||
log_onefactor=Zwei-Faktor-Authentifizierung für Benutzer:in $1 deaktiviert
|
||||
log_forgot_send=E-Mail zum Zurücksetzen des Passworts für Benutzer:in $1 an $2 gesendet
|
||||
log_forgot_reset=Passwort für Benutzer:in $1 mit E-Mail $2 zurückgesetzt
|
||||
log_forgot_admin=Administrator:in hat E-Mail zum Zurücksetzen des Passworts für Benutzer:in $1 an $2 gesendet
|
||||
|
||||
gedit_ecannot=Sie dürfen Gruppen nicht bearbeiten
|
||||
gedit_ecannot=Sie dürfen keine Gruppen bearbeiten
|
||||
gedit_title=Webmin-Gruppe bearbeiten
|
||||
gedit_title2=Webmin-Gruppe erstellen
|
||||
gedit_group=Gruppenname
|
||||
gedit_rights=Webmin-Gruppen-Zugriffsrechte
|
||||
gedit_rights=Zugriffsrechte der Webmin-Gruppe
|
||||
gedit_modules=Module der Mitglieder
|
||||
gedit_members=Mitgliedsbenutzer und -gruppen
|
||||
gedit_members=Mitglieds-Benutzer:innen und -Gruppen
|
||||
gedit_desc=Gruppenbeschreibung
|
||||
gedit_egone=Ausgewählte Gruppe existiert nicht mehr!
|
||||
|
||||
gdelete_err=Fehler beim Löschen der Gruppe
|
||||
gdelete_ecannot=Sie dürfen Gruppen nicht löschen
|
||||
gdelete_err=Gruppe konnte nicht gelöscht werden
|
||||
gdelete_ecannot=Sie dürfen keine Gruppen löschen
|
||||
gdelete_euser=Sie können Ihre eigene Gruppe nicht löschen
|
||||
gdelete_esub=Gruppen mit Untergruppen können nicht gelöscht werden
|
||||
gdelete_title=Gruppe löschen
|
||||
gdelete_desc=Wollen Sie die Gruppe $1 und ihre Mitgliedsbenutzer $2 wirklich löschen?
|
||||
gdelete_desc=Möchten Sie die Gruppe $1 und ihre Mitglieds-Benutzer:innen $2 wirklich löschen?
|
||||
gdelete_ok=Gruppe löschen
|
||||
|
||||
gsave_err=Fehler beim Speichern der Gruppe
|
||||
gsave_err=Gruppe konnte nicht gespeichert werden
|
||||
gsave_ename=Fehlender oder ungültiger Gruppenname
|
||||
gsave_enamewebmin=Der Gruppenname 'webmin' ist für die interne Nutzung reserviert
|
||||
gsave_enamewebmin=Der Gruppenname 'webmin' ist für interne Zwecke reserviert
|
||||
gsave_edup=Gruppenname wird bereits verwendet
|
||||
gsave_edesc=Ungültige Beschreibung - das Zeichen : ist nicht erlaubt
|
||||
gsave_edesc=Ungültige Beschreibung – das Zeichen ":" ist nicht erlaubt
|
||||
|
||||
convert_title=Benutzer konvertieren
|
||||
convert_ecannot=Sie dürfen Unix-Benutzer nicht konvertieren
|
||||
convert_nogroups=Auf Ihrem System sind keine Webmin-Gruppen definiert. Es muss mindestens eine Gruppe erstellt werden, bevor eine Konvertierung erfolgt, um Berechtigungen für die konvertierten Benutzer zu definieren.
|
||||
convert_desc=Mit diesem Formular können Sie vorhandene Unix-Benutzer in Webmin-Benutzer konvertieren. Die Berechtigungen jedes neuen Webmin-Benutzers werden durch die unten ausgewählte Gruppe bestimmt.
|
||||
convert_0=Alle Benutzer
|
||||
convert_1=Nur Benutzer
|
||||
convert_2=Alle außer Benutzern
|
||||
convert_3=Benutzer mit Gruppe
|
||||
convert_4=Benutzer mit UIDs im Bereich
|
||||
convert_group=Neuen Benutzern Webmin-Gruppe zuweisen
|
||||
convert_sync2=Passwort zukünftig mit Unix-Benutzer synchronisieren?
|
||||
convert_title=Benutzer:innen konvertieren
|
||||
convert_ecannot=Sie dürfen keine Unix-Benutzer:innen konvertieren
|
||||
convert_nogroups=Auf Ihrem System wurden keine Webmin-Gruppen definiert. Mindestens eine Gruppe muss erstellt werden, bevor Benutzer:innen konvertiert werden können, um die Berechtigungen festzulegen.
|
||||
convert_desc=Mit diesem Formular können bestehende Unix-Benutzer:innen in Webmin-Benutzer:innen konvertiert werden. Die Berechtigungen jedes neuen Webmin-Benutzers:in werden durch die unten ausgewählte Gruppe bestimmt.
|
||||
convert_0=Alle Benutzer:innen
|
||||
convert_1=Nur Benutzer:innen
|
||||
convert_2=Alle außer Benutzer:innen
|
||||
convert_3=Benutzer:innen mit Gruppe
|
||||
convert_4=Benutzer:innen mit UIDs im Bereich
|
||||
convert_group=Neuen Benutzer:innen Webmin-Gruppe zuweisen
|
||||
convert_sync2=Passwort künftig mit Unix-Benutzer:in synchronisieren?
|
||||
convert_ok=Jetzt konvertieren
|
||||
convert_err=Fehler bei der Konvertierung der Benutzer
|
||||
convert_eusers=Keine Benutzer zur Konvertierung eingegeben
|
||||
convert_err=Benutzer:innen konnten nicht konvertiert werden
|
||||
convert_eusers=Keine zu konvertierenden Benutzer:innen eingegeben
|
||||
convert_egroup=Unix-Gruppe existiert nicht
|
||||
convert_emin=Ungültige minimale UID
|
||||
convert_emax=Ungültige maximale UID
|
||||
convert_ewgroup=Keine solche Webmin-Gruppe
|
||||
convert_ewgroup2=Sie dürfen keine neuen Benutzer dieser Gruppe zuweisen
|
||||
convert_ewgroup2=Sie dürfen neuen Benutzer:innen diese Gruppe nicht zuweisen
|
||||
convert_skip=$1 wird übersprungen
|
||||
convert_exists=$1 existiert bereits
|
||||
convert_invalid=$1 ist kein gültiger Webmin-Benutzername
|
||||
convert_invalid=$1 ist kein gültiger Webmin-Benutzer:innenname
|
||||
convert_added=$1 wird hinzugefügt
|
||||
convert_msg=Konvertiere Unix-Benutzer...
|
||||
convert_user=Unix-Benutzer
|
||||
convert_action=Durchgeführte Aktion
|
||||
convert_done=$1 Benutzer konvertiert, $2 ungültig, $3 bereits vorhanden, $4 ausgeschlossen.
|
||||
convert_users=Zu konvertierende Benutzer
|
||||
convert_msg=Konvertiere Unix-Benutzer:innen …
|
||||
convert_user=Unix-Benutzer:in
|
||||
convert_action=Ausgeführte Aktion
|
||||
convert_done=$1 Benutzer:innen konvertiert, $2 ungültig, $3 bereits vorhanden, $4 ausgeschlossen.
|
||||
convert_users=Zu konvertierende Benutzer:innen
|
||||
|
||||
sync_title=Unix-Benutzersynchronisierung
|
||||
sync_desc=Mit diesem Formular können Sie die automatische Synchronisierung von Unix-Benutzern, die über Webmin erstellt wurden, und Benutzern in diesem Modul konfigurieren.
|
||||
sync_nogroups=Auf Ihrem System sind keine Webmin-Gruppen definiert. Es muss mindestens eine Gruppe erstellt werden, um den Zugriff für erstellte Benutzer festzulegen.
|
||||
sync_title=Synchronisation von Unix-Benutzer:innen
|
||||
sync_desc=Mit diesem Formular können Sie die automatische Synchronisation von über Webmin erstellten Unix-Benutzer:innen und Benutzer:innen in diesem Modul konfigurieren.
|
||||
sync_nogroups=Auf Ihrem System wurden keine Webmin-Gruppen definiert. Es muss mindestens eine Gruppe erstellt werden, um die Zugriffsrechte für erstellte Benutzer:innen festzulegen.
|
||||
sync_when=Wann synchronisieren
|
||||
sync_create=Erstelle einen Webmin-Benutzer, wenn ein Unix-Benutzer erstellt wird.
|
||||
sync_update=Aktualisiere den entsprechenden Webmin-Benutzer, wenn ein Unix-Benutzer aktualisiert wird.
|
||||
sync_delete=Lösche den entsprechenden Webmin-Benutzer, wenn ein Unix-Benutzer gelöscht wird.
|
||||
sync_modify=Ändere den Namen des entsprechenden Webmin-Benutzers, wenn ein Unix-Benutzer umbenannt wird.
|
||||
sync_group=Neuen Benutzern Webmin-Gruppe zuweisen
|
||||
sync_unix=Passwort neuer Benutzer auf Unix-Authentifizierung setzen.
|
||||
sync_ecannot=Sie dürfen die Benutzersynchronisierung nicht konfigurieren.
|
||||
sync_create=Webmin-Benutzer:in erstellen, wenn ein Unix-Benutzer:in erstellt wird.
|
||||
sync_update=Den zugehörigen Webmin-Benutzer:in aktualisieren, wenn ein Unix-Benutzer:in aktualisiert wird.
|
||||
sync_delete=Den zugehörigen Webmin-Benutzer:in löschen, wenn ein Unix-Benutzer:in gelöscht wird.
|
||||
sync_modify=Den zugehörigen Webmin-Benutzer:in umbenennen, wenn ein Unix-Benutzer:in umbenannt wird.
|
||||
sync_group=Neuen Benutzer:innen Webmin-Gruppe zuweisen
|
||||
sync_unix=Passwort für neue Benutzer:innen auf Unix-Authentifizierung setzen.
|
||||
sync_ecannot=Sie dürfen keine Benutzersynchronisation konfigurieren.
|
||||
|
||||
unix_title=Unix-Benutzerauthentifizierung
|
||||
unix_err=Fehler beim Speichern der Unix-Authentifizierung
|
||||
unix_desc=Diese Seite ermöglicht es Ihnen, Webmin so zu konfigurieren, dass Anmeldeversuche gegen die Systembenutzerliste und PAM überprüft werden. Dies kann nützlich sein, wenn Sie eine große Anzahl von vorhandenen Unix-Benutzern haben, denen Sie Zugriff auf Webmin gewähren möchten.
|
||||
unix_def=Nur Webmin-Benutzer dürfen sich anmelden
|
||||
unix_sel=Erlaube den folgenden Unix-Benutzern die Anmeldung ..
|
||||
unix_err=Speichern der Unix-Authentifizierung fehlgeschlagen
|
||||
unix_desc=Auf dieser Seite können Sie Webmin so konfigurieren, dass Anmeldeversuche gegen die Systembenutzer:innenliste und PAM validiert werden. Dies ist nützlich, wenn Sie vielen bestehenden Unix-Benutzer:innen Zugriff auf Webmin gewähren möchten.
|
||||
unix_def=Nur Webmin-Benutzer:innen dürfen sich anmelden
|
||||
unix_sel=Folgenden Unix-Benutzer:innen Anmeldung erlauben ..
|
||||
unix_mode=Erlauben
|
||||
unix_mall=Alle Benutzer
|
||||
unix_mall=Alle Benutzer:innen
|
||||
unix_group=Mitglieder der Gruppe ..
|
||||
unix_user=Unix-Benutzer ..
|
||||
unix_who=Benutzer oder Gruppe
|
||||
unix_to=Als Webmin-Benutzer
|
||||
unix_ecannot=Sie dürfen die Unix-Benutzerauthentifizierung nicht konfigurieren
|
||||
unix_epam=Unix-Authentifizierung ist nicht verfügbar, da das Perl-Modul <tt>Authen::PAM</tt> nicht installiert oder nicht ordnungsgemäß funktioniert.
|
||||
unix_all=Alle Unix-Benutzer erlauben
|
||||
unix_allow=Nur gelisteten Unix-Benutzern erlauben
|
||||
unix_deny=Gelisteten Unix-Benutzern verweigern
|
||||
unix_none=Keine Benutzer eingegeben
|
||||
unix_euser='$1' ist kein gültiger Benutzername
|
||||
unix_user=Unix-Benutzer:in ..
|
||||
unix_who=Benutzer:in oder Gruppe
|
||||
unix_to=Als Webmin-Benutzer:in
|
||||
unix_ecannot=Sie dürfen die Unix-Authentifizierung nicht konfigurieren
|
||||
unix_epam=Unix-Authentifizierung ist nicht verfügbar, da das Perl-Modul <tt>Authen::PAM</tt> nicht installiert oder nicht korrekt funktioniert.
|
||||
unix_all=Allen Unix-Benutzer:innen Zugang erlauben
|
||||
unix_allow=Nur gelisteten Unix-Benutzer:innen Zugang erlauben
|
||||
unix_deny=Gelisteten Unix-Benutzer:innen Zugang verweigern
|
||||
unix_none=Keine Benutzer:innen eingegeben
|
||||
unix_euser='$1' ist kein gültiger Benutzer:innenname
|
||||
unix_egroup='$1' ist kein gültiger Gruppenname
|
||||
unix_shells=Unix-Benutzern deren Shells nicht in der Datei enthalten sind verweigern
|
||||
unix_shells=Unix-Benutzer:innen mit nicht gelisteten Shells den Zugang verweigern
|
||||
unix_eshells=Fehlende oder nicht vorhandene Shells-Datei
|
||||
unix_restrict2=Zusätzliche Einschränkungen
|
||||
unix_ewhogroup=Fehlende Gruppe zum Erlauben in Zeile $1
|
||||
unix_ewhouser=Fehlender Benutzer zum Erlauben in Zeile $1
|
||||
unix_enone=Keine Unix-Benutzer oder -Gruppen zum Erlauben eingegeben
|
||||
unix_same=<Gleicher Benutzer oder Gruppe>
|
||||
unix_sudo=Benutzern, die alle Befehle über <tt>sudo</tt> ausführen können, die Anmeldung als <tt>root</tt> erlauben
|
||||
unix_pamany=Behandle Anmeldungen, die nur die PAM-Überprüfung bestehen, als $1
|
||||
unix_esudo=Der $1-Befehl ist nicht installiert
|
||||
unix_esudomod=Das benötigte Perl-Modul $1 für die <tt>sudo</tt>-Authentifizierung ist nicht installiert
|
||||
unix_header=Einstellungen zur Unix-Benutzerauthentifizierung
|
||||
unix_utable=Erlaubte Unix-Benutzer
|
||||
unix_ewhogroup=Fehlende Gruppe in Zeile $1
|
||||
unix_ewhouser=Fehlender Benutzer:in in Zeile $1
|
||||
unix_enone=Keine Unix-Benutzer:innen oder Gruppen zur Erlaubnis eingegeben
|
||||
unix_same=<Gleiche:r Benutzer:in oder Gruppe>
|
||||
unix_sudo=Benutzer:innen, die über <tt>sudo</tt> alle Befehle ausführen dürfen, erlauben sich als <tt>root</tt> anzumelden
|
||||
unix_pamany=Anmeldungen, die nur PAM bestehen, als $1 behandeln
|
||||
unix_esudo=Der Befehl $1 ist nicht installiert
|
||||
unix_esudomod=Das Perl-Modul $1, das für die <tt>sudo</tt>-Authentifizierung benötigt wird, ist nicht installiert
|
||||
unix_header=Einstellungen für Unix-Benutzerauthentifizierung
|
||||
unix_utable=Erlaubte Unix-Benutzer:innen
|
||||
|
||||
sessions_title=Aktuelle Anmelde-Sitzungen
|
||||
sessions_title=Aktuelle Anmeldesitzungen
|
||||
sessions_id=Sitzungs-ID
|
||||
sessions_user=Webmin-Benutzer
|
||||
sessions_login=Zuletzt aktiv um
|
||||
sessions_user=Webmin-Benutzer:in
|
||||
sessions_login=Zuletzt aktiv am
|
||||
sessions_host=IP-Adresse
|
||||
sessions_lview=Protokolle anzeigen ..
|
||||
sessions_actions=Aktionen ..
|
||||
sessions_all=Alle Sitzungen ..
|
||||
sessions_logouts=Auch abgemeldete Sitzungen anzeigen ..
|
||||
sessions_state=Zustand
|
||||
sessions_lview=Protokolle anzeigen..
|
||||
sessions_actions=Aktionen..
|
||||
sessions_all=Alle Sitzungen..
|
||||
sessions_logouts=Auch abgemeldete Sitzungen anzeigen..
|
||||
sessions_state=Status
|
||||
sessions_action=Aktionen
|
||||
sessions_this=Diese Anmeldung
|
||||
sessions_in=Angemeldet
|
||||
sessions_out=Abgemeldet
|
||||
sessions_kill=Trennen ..
|
||||
sessions_kill=Verbindung trennen..
|
||||
|
||||
logins_title=Kürzliche Webmin-Anmeldungen
|
||||
logins_title=Letzte Webmin-Anmeldungen
|
||||
|
||||
hide_title=Nicht verwendete Module ausblenden
|
||||
hide_desc=Die folgenden Module werden aus der Modulliste für $1 entfernt, da die entsprechenden Server auf Ihrem System nicht installiert sind ..
|
||||
hide_desc=Folgende Module werden aus der Modulliste für $1 entfernt, da deren zugehörige Server auf Ihrem System nicht installiert sind ..
|
||||
hide_ok=Module jetzt ausblenden
|
||||
hide_none=Nichts auszublenden - $1 hat keinen Zugriff auf Module, deren entsprechende Server auf Ihrem System nicht installiert sind.
|
||||
hide_desc2=Bitte beachten Sie, dass diese Module nicht automatisch wieder erscheinen, wenn die entsprechenden Server installiert werden. Sie müssen den Zugriff manuell über dieses Modul gewähren.
|
||||
hide_clone=(Klonen $1)
|
||||
hide_none=Nichts auszublenden – $1 hat keinen Zugriff auf Module, deren Server nicht installiert sind.
|
||||
hide_desc2=Beachten Sie, dass diese Module nicht automatisch wieder angezeigt werden, wenn die zugehörigen Server installiert werden. Der Zugriff muss manuell über dieses Modul gewährt werden.
|
||||
hide_clone=(Klon von $1)
|
||||
|
||||
switch_euser=Sie dürfen nicht zu diesem Benutzer wechseln
|
||||
switch_eold=Bestehende Sitzung nicht gefunden!
|
||||
switch_euser=Sie dürfen nicht zu diesem:r Benutzer:in wechseln
|
||||
switch_eold=Vorhandene Sitzung nicht gefunden!
|
||||
|
||||
rbac_title=RBAC einrichten
|
||||
rbac_desc=Die RBAC-Integration von Webmin bietet eine Möglichkeit, die Berechtigungen für Benutzer-Module und ACLs aus einer RBAC (Role Based Access Control)-Datenbank zu bestimmen, anstatt aus den eigenen Konfigurationsdateien von Webmin. Sobald die RBAC-Unterstützung aktiviert ist, werden die Fähigkeiten eines Benutzers, für den die Option <b>RBAC steuert alle Module und ACLs</b> ausgewählt ist, von RBAC und nicht von den eigenen Zugriffskontroll-Einstellungen von Webmin bestimmt.
|
||||
rbac_esolaris=RBAC wird derzeit nur auf Solaris unterstützt und kann daher auf diesem $1-System nicht verwendet werden.
|
||||
rbac_eperl=Das Perl-Modul $1, das für die RBAC-Integration benötigt wird, ist nicht installiert. <a href='$2'>Klicken Sie hier</a>, um es jetzt installieren zu lassen.
|
||||
rbac_ecpan=Sie haben keinen Zugriff auf die Webmin Perl-Module-Seite, um das notwendige $1-Modul für die RBAC-Integration zu installieren.
|
||||
rbac_ok=Die RBAC-Integration ist auf diesem System verfügbar und kann auf der Seite "Webmin-Benutzer bearbeiten" pro Benutzer aktiviert werden.
|
||||
rbac_desc=Die RBAC-Integration von Webmin bietet eine Möglichkeit, Modul- und ACL-Berechtigungen für Benutzer:innen aus einer RBAC-Datenbank (Role Based Access Control) statt aus Webmins eigenen Konfigurationsdateien abzuleiten. Sobald RBAC aktiviert ist, werden alle Berechtigungen für Benutzer:innen mit der Option <b>RBAC steuert alle Module und ACLs</b> über RBAC verwaltet.
|
||||
rbac_esolaris=RBAC wird derzeit nur unter Solaris unterstützt und kann daher auf diesem $1-System nicht verwendet werden.
|
||||
rbac_eperl=Das für die RBAC-Integration benötigte Perl-Modul $1 ist nicht installiert. <a href='$2'>Hier klicken</a>, um es jetzt zu installieren.
|
||||
rbac_ecpan=Sie haben keinen Zugriff auf die Seite „Perl-Module“, um das erforderliche Modul $1 für die RBAC-Integration zu installieren.
|
||||
rbac_ok=RBAC-Integration ist auf diesem System verfügbar und kann auf der Seite „Webmin-Benutzer:in bearbeiten“ benutzerspezifisch aktiviert werden.
|
||||
|
||||
udeletes_err=Fehler beim Löschen der Benutzer
|
||||
udeletes_jerr=Fehler beim Hinzufügen von Benutzern zur Gruppe
|
||||
udeletes_err=Benutzer:innen konnten nicht gelöscht werden
|
||||
udeletes_jerr=Benutzer:innen konnten nicht zur Gruppe hinzugefügt werden
|
||||
udeletes_enone=Keine ausgewählt
|
||||
udeletes_title=Benutzer löschen
|
||||
udeletes_rusure=Sind Sie sicher, dass Sie die $1 ausgewählten Benutzer löschen möchten? Alle ihre Zugriffskontrolleinstellungen und Benutzerdaten gehen verloren.
|
||||
udeletes_users=Ausgewählte Benutzer: $1
|
||||
udeletes_ok=Benutzer löschen
|
||||
udeletes_ereadonly=Einer der ausgewählten Benutzer ist als nicht bearbeitbar markiert
|
||||
udeletes_title=Benutzer:innen löschen
|
||||
udeletes_rusure=Möchten Sie die $1 ausgewählten Benutzer:innen wirklich löschen? Alle deren Zugriffseinstellungen und Benutzerdetails gehen dabei verloren.
|
||||
udeletes_users=Ausgewählte Benutzer:innen: $1
|
||||
udeletes_ok=Benutzer:innen löschen
|
||||
udeletes_ereadonly=Einer der ausgewählten Benutzer:innen ist als nicht bearbeitbar markiert
|
||||
|
||||
gdeletes_err=Fehler beim Löschen der Gruppen
|
||||
gdeletes_err=Gruppen konnten nicht gelöscht werden
|
||||
gdeletes_title=Gruppen löschen
|
||||
gdeletes_rusure=Sind Sie sicher, dass Sie die $1 ausgewählten Gruppen und die $2 Benutzer, die sie enthalten, löschen möchten? Alle ihre Zugriffskontrolleinstellungen und Benutzerdaten gehen verloren.
|
||||
gdeletes_rusure=Möchten Sie die $1 ausgewählten Gruppen und die darin enthaltenen $2 Benutzer:innen wirklich löschen? Alle Zugriffseinstellungen und Benutzerdetails gehen dabei verloren.
|
||||
gdeletes_users=Ausgewählte Gruppen: $1
|
||||
gdeletes_ok=Gruppen löschen
|
||||
|
||||
pass_title=Passwortrichtlinien
|
||||
pass_ecannot=Sie dürfen die Passwortrichtlinien nicht bearbeiten
|
||||
pass_header=Webmin Passwortdurchsetzungsoptionen
|
||||
pass_title=Passwortbeschränkungen
|
||||
pass_ecannot=Sie dürfen keine Passwortbeschränkungen bearbeiten
|
||||
pass_header=Optionen zur Passwortdurchsetzung in Webmin
|
||||
pass_minsize=Minimale Passwortlänge
|
||||
pass_nominsize=Keine Mindestlänge
|
||||
pass_regexps=Reguläre Ausdrücke, mit denen Passwörter übereinstimmen müssen
|
||||
pass_regdesc=Beschreibung des regulären Ausdrucks für Menschen
|
||||
pass_maxdays=Tage, bevor das Passwort geändert werden muss
|
||||
pass_lockdays=Tage, bevor das unveränderte Passwort das Konto sperrt
|
||||
pass_nominsize=Kein Minimum
|
||||
pass_regexps=Reguläre Ausdrücke, die Passwörter erfüllen müssen
|
||||
pass_regdesc=Lesbare Beschreibung für regulären Ausdruck
|
||||
pass_maxdays=Tage, bis Passwort geändert werden muss
|
||||
pass_lockdays=Tage, bis Konto bei unverändertem Passwort gesperrt wird
|
||||
pass_nomaxdays=Änderung nie erforderlich
|
||||
pass_nolockdays=Konto wird nie gesperrt
|
||||
pass_nouser=Passwörter mit Benutzernamen verbieten?
|
||||
pass_nodict=Passwörter aus Wörterbüchern verbieten?
|
||||
pass_oldblock=Anzahl der alten Passwörter, die abgelehnt werden
|
||||
pass_nooldblock=Keine Begrenzung der Passwortwiederverwendung
|
||||
pass_nouser=Passwörter dürfen keinen Benutzernamen enthalten?
|
||||
pass_nodict=Keine Wörterbuchwörter im Passwort erlaubt?
|
||||
pass_oldblock=Anzahl vorheriger Passwörter, die abgelehnt werden
|
||||
pass_nooldblock=Keine Beschränkung der Wiederverwendung
|
||||
pass_days=Tage
|
||||
pass_pass=Passwörter
|
||||
pass_err=Fehler beim Speichern der Passwortrichtlinien
|
||||
pass_eminsize=Fehlende oder nicht numerische Mindestpasswortlänge
|
||||
pass_emaxdays=Fehlende oder nicht numerische Anzahl der Tage vor der Änderung
|
||||
pass_elockdays=Fehlende oder nicht numerische Anzahl der Tage vor der Kontosperrung
|
||||
pass_eoldblock=Fehlende oder nicht numerische Anzahl der alten Passwörter, die abgelehnt werden
|
||||
pass_err=Speichern der Passwortbeschränkungen fehlgeschlagen
|
||||
pass_eminsize=Fehlende oder ungültige minimale Passwortlänge
|
||||
pass_emaxdays=Fehlende oder ungültige Anzahl Tage bis zur Änderung
|
||||
pass_elockdays=Fehlende oder ungültige Anzahl Tage bis zur Sperrung
|
||||
pass_eoldblock=Fehlende oder ungültige Anzahl alter Passwörter zur Ablehnung
|
||||
|
||||
cpass_minsize=Muss mindestens $1 Buchstaben lang sein
|
||||
cpass_notre=Entspricht einem nicht erlaubten Muster
|
||||
cpass_re=Entspricht nicht einem erforderlichen Muster
|
||||
cpass_re=Entspricht keinem erforderlichen Muster
|
||||
cpass_name=Enthält den Benutzernamen
|
||||
cpass_dict=Ist ein Wörterbuchwort
|
||||
cpass_spellcmd=Weder der $1- noch der $2-Befehl, der zur Überprüfung von Wörterbuchwörtern benötigt wird, ist installiert
|
||||
cpass_old=Alte Passwörter können nicht wiederverwendet werden
|
||||
cpass_spellcmd=Die Befehle $1 oder $2 zur Wörterbuchprüfung sind nicht installiert
|
||||
cpass_old=Alte Passwörter dürfen nicht wiederverwendet werden
|
||||
|
||||
sql_title=Benutzer- und Gruppendatenbank
|
||||
sql_ecannot=Sie dürfen die Benutzer- und Gruppendatenbank nicht konfigurieren
|
||||
sql_header=Optionen für die Datenbank-Backend für Benutzer und Gruppen
|
||||
sql_title=Benutzer:innen- und Gruppendatenbank
|
||||
sql_ecannot=Sie dürfen die Benutzer:innen- und Gruppendatenbank nicht konfigurieren
|
||||
sql_header=Optionen für Datenbank-Backend für Benutzer:innen und Gruppen
|
||||
sql_host=Hostname
|
||||
sql_user=Benutzername
|
||||
sql_user=Benutzer:innenname
|
||||
sql_pass=Passwort
|
||||
sql_db=Datenbankname
|
||||
sql_ssl=Verbindung Verschlüsselung
|
||||
sql_ssl=Verbindungsverschlüsselung
|
||||
sql_ssl0=Keine
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
sql_userclass=Objektklasse für Benutzer
|
||||
sql_userclass=Objektklasse für Benutzer:innen
|
||||
sql_groupclass=Objektklasse für Gruppen
|
||||
sql_euserclass=Fehlende oder ungültige Objektklasse für Benutzer
|
||||
sql_euserclass=Fehlende oder ungültige Objektklasse für Benutzer:innen
|
||||
sql_egroupclass=Fehlende oder ungültige Objektklasse für Gruppen
|
||||
sql_none=Nur lokale Dateien zur Speicherung von Benutzern und Gruppen verwenden
|
||||
sql_none=Nur lokale Dateien zur Speicherung von Benutzer:innen und Gruppen verwenden
|
||||
sql_mysql=MySQL-Datenbank verwenden
|
||||
sql_postgresql=PostgreSQL-Datenbank verwenden
|
||||
sql_ldap=LDAP-Server verwenden
|
||||
sql_prefix=Erstellen unter DN
|
||||
sql_addto0=Neue Benutzer zur oben ausgewählten Datenbank hinzufügen
|
||||
sql_addto1=Neue Benutzer zu lokalen Dateien hinzufügen
|
||||
sql_nocache0=Verbindungen zur Datenbank cachen
|
||||
sql_nocache1=Für jede Abfrage eine neue Verbindung öffnen
|
||||
sql_prefix=Unter DN erstellen
|
||||
sql_addto0=Neue Benutzer:innen zur oben ausgewählten Datenbank hinzufügen
|
||||
sql_addto1=Neue Benutzer:innen zu lokalen Dateien hinzufügen
|
||||
sql_nocache0=Datenbankverbindungen zwischenspeichern
|
||||
sql_nocache1=Für jede Abfrage neue Verbindung öffnen
|
||||
sql_emod=Fehlendes erforderliches Perl-Modul <tt>$1</tt>
|
||||
sql_etable=Fehler beim Abfragen der erforderlichen Tabelle $1 : $2
|
||||
sql_eldapdn=Basis LDAP DN $1 wurde nicht gefunden
|
||||
sql_eclass=LDAP-Objektklasse $1 existiert nicht im Schema des Servers
|
||||
sql_err=Fehler beim Speichern der Benutzer- und Gruppendatenbank-Einstellungen
|
||||
sql_etable=Abfrage der erforderlichen Tabelle $1 fehlgeschlagen : $2
|
||||
sql_eldapdn=Basis-LDAP-DN $1 wurde nicht gefunden
|
||||
sql_eclass=LDAP-Objektklasse $1 existiert nicht im Server-Schema
|
||||
sql_err=Speichern der Datenbankeinstellungen für Benutzer:innen und Gruppen fehlgeschlagen
|
||||
sql_ehost=Fehlender oder nicht auflösbarer Hostname
|
||||
sql_euser=Fehlender oder ungültiger Benutzername (keine Leerzeichen erlaubt)
|
||||
sql_euser=Fehlender oder ungültiger Benutzer:innenname (keine Leerzeichen erlaubt)
|
||||
sql_epass=Ungültiges Passwort (keine Leerzeichen erlaubt)
|
||||
sql_edb=Ungültiger Datenbankname (keine Leerzeichen erlaubt)
|
||||
sql_eprefix=Fehlender oder ungültiger Basis-DN (keine Leerzeichen erlaubt)
|
||||
sql_eprefix2=Ungültig aussehender Basis-DN - sollte wie <tt>dc=mydomain,dc=com</tt> aussehen
|
||||
sql_eprefix2=Ungültig aussehender Basis-DN – sollte z. B. <tt>dc=meinedomain,dc=com</tt> sein
|
||||
sql_title2=Fehlende Tabellen erstellen
|
||||
sql_tableerr=Benutzer- und Gruppendatenbankeinstellungen sind gültig, aber einige Tabellen, die von Webmin benötigt werden, fehlen: $1
|
||||
sql_tableerr2=Klicken Sie auf die Schaltfläche <b>Tabellen erstellen</b>, um sie automatisch zu erstellen, oder führen Sie das SQL unten manuell aus.
|
||||
sql_tableerr=Einstellungen der Benutzer:innen- und Gruppendatenbank sind gültig, aber einige für Webmin erforderliche Tabellen fehlen : $1
|
||||
sql_tableerr2=Klicken Sie auf die Schaltfläche <b>Tabellen erstellen</b> unten, um sie automatisch zu erstellen, oder führen Sie das untenstehende SQL manuell aus.
|
||||
sql_make=Tabellen erstellen
|
||||
sql_title3=Fehlende DN erstellen
|
||||
sql_dnerr=Benutzer- und Gruppendatenbankeinstellungen sind gültig, aber der LDAP-DN, den Webmin benötigt, fehlt: $1
|
||||
sql_dnerr2=Klicken Sie auf die Schaltfläche <b>DN erstellen</b>, um ihn automatisch zu erstellen, oder fügen Sie ihn manuell zu Ihrem LDAP-Server hinzu.
|
||||
sql_title3=Fehlenden DN erstellen
|
||||
sql_dnerr=Einstellungen der Benutzer:innen- und Gruppendatenbank sind gültig, aber der für Webmin erforderliche LDAP-DN fehlt : $1
|
||||
sql_dnerr2=Klicken Sie auf die Schaltfläche <b>DN erstellen</b> unten, um ihn automatisch zu erstellen, oder fügen Sie ihn manuell zu Ihrem LDAP-Server hinzu.
|
||||
sql_makedn=DN erstellen
|
||||
sql_schema=LDAP-Schema herunterladen
|
||||
sql_timeout_def=Standardverbindungstimeout verwenden (60 Sekunden)
|
||||
sql_timeout_for=Cache-Verbindungen nach
|
||||
sql_timeout_secs=Sekunden schließen
|
||||
sql_etimeout=Cache-Verbindungstimeout muss eine Zahl sein
|
||||
sql_timeout_def=Standard-Timeout für Verbindungen verwenden (60 Sekunden)
|
||||
sql_timeout_for=Zwischengespeicherte Verbindungen schließen nach
|
||||
sql_timeout_secs=Sekunden
|
||||
sql_etimeout=Timeout für zwischengespeicherte Verbindungen muss eine Zahl sein
|
||||
|
||||
make_title=Benutzer- und Gruppentabellen erstellen
|
||||
make_err=Fehler beim Erstellen der Benutzer- und Gruppentabellen
|
||||
make_exec=Führe SQL $1 aus ..
|
||||
make_failed=.. Erstellung fehlgeschlagen : $1
|
||||
make_title=Benutzer:innen- und Gruppentabellen erstellen
|
||||
make_err=Erstellen der Benutzer:innen- und Gruppentabellen fehlgeschlagen
|
||||
make_exec=SQL $1 wird ausgeführt ..
|
||||
make_failed=.. Erstellen fehlgeschlagen : $1
|
||||
make_done=.. abgeschlossen
|
||||
make_still=Einige Probleme wurden auch nach der Tabellenerstellung gefunden: $1
|
||||
make_still=Einige Probleme wurden auch nach dem Erstellen der Tabellen festgestellt : $1
|
||||
|
||||
makedn_title=LDAP DN erstellen
|
||||
makedn_title=LDAP-DN erstellen
|
||||
makedn_eoc=Keine strukturellen Objektklassen gefunden!
|
||||
makedn_exec=Erstelle übergeordneten DN $1 ..
|
||||
makedn_failed=.. Erstellung fehlgeschlagen : $1
|
||||
makedn_exec=Eltern-DN $1 wird erstellt ..
|
||||
makedn_failed=.. Erstellen fehlgeschlagen : $1
|
||||
makedn_done=.. abgeschlossen
|
||||
makedn_still=Einige Probleme wurden auch nach der DN-Erstellung gefunden: $1
|
||||
makedn_still=Einige Probleme wurden auch nach dem Erstellen des DN festgestellt : $1
|
||||
|
||||
schema_title=LDAP-Schema herunterladen
|
||||
schema_desc=Bevor Webmin einen LDAP-Server zur Speicherung von Benutzern und Gruppen verwenden kann, muss er konfiguriert werden, um das unten stehende Schema zu verwenden. Dies kann normalerweise erreicht werden, indem die Schema-Definition in <tt>/etc/ldap/schema</tt> oder <tt>/etc/openldap/schema</tt> als <tt>webmin.schema</tt> gespeichert wird, und dann den Server konfiguriert wird, um diese Schema-Datei zu laden.
|
||||
schema_desc=Bevor Webmin einen LDAP-Server zur Speicherung von Benutzer:innen und Gruppen verwenden kann, muss er mit dem untenstehenden Schema konfiguriert werden. Das kann typischerweise durch Speichern der Schema-Definition in <tt>/etc/ldap/schema</tt> oder <tt>/etc/openldap/schema</tt> als <tt>webmin.schema</tt> erfolgen, gefolgt von der Konfiguration des Servers zur Verwendung dieser Datei.
|
||||
schema_download=Schema-Datei herunterladen : <a href=$1>$1</a>
|
||||
|
||||
twofactor_err=Fehler beim Einrichten der Zwei-Faktor-Authentifizierung
|
||||
twofactor_euser=Ihr Webmin-Benutzer wurde nicht gefunden!
|
||||
twofactor_err=Zwei-Faktor-Authentifizierung konnte nicht eingerichtet werden
|
||||
twofactor_euser=Ihr Webmin-Benutzer:in wurde nicht gefunden!
|
||||
twofactor_title=Zwei-Faktor-Authentifizierung
|
||||
twofactor_disable=Zwei-Faktor-Authentifizierung deaktivieren
|
||||
twofactor_already=Ihre Webmin-Anmeldung hat bereits zwei-Faktor-Authentifizierung mit Anbieter $1 und Konten-ID $2 aktiviert.
|
||||
twofactor_already2=Webmin-Anmeldung $3 hat bereits zwei-Faktor-Authentifizierung mit Anbieter $1 und Konten-ID $2 aktiviert.
|
||||
twofactor_desc=Diese Seite ermöglicht es Ihnen, die Zwei-Faktor-Authentifizierung für Ihre Webmin-Anmeldung mit <a href='$2' target=_blank>$1</a> zu aktivieren. Sobald aktiviert, wird ein zusätzlicher Authentifizierungstoken erforderlich sein, um sich bei Webmin anzumelden.
|
||||
twofactor_desc2=Diese Seite ermöglicht es Ihnen, die Zwei-Faktor-Authentifizierung für Webmin-Anmeldung $3 mit <a href='$2' target=_blank>$1</a> zu aktivieren. Sobald aktiviert, wird ein zusätzlicher Authentifizierungstoken erforderlich sein, um sich bei Webmin anzumelden.
|
||||
twofactor_enable=Für Zwei-Faktor-Authentifizierung anmelden
|
||||
twofactor_header=Details zur Zwei-Faktor-Authentifizierung
|
||||
twofactor_enrolling=Anmeldung zur Zwei-Faktor-Authentifizierung mit Anbieter $1 ..
|
||||
twofactor_failed=.. Anmeldung fehlgeschlagen : $1
|
||||
twofactor_done=.. abgeschlossen. Ihre ID bei diesem Anbieter ist <tt>$1</tt>.
|
||||
twofactor_setup=Die Zwei-Faktor-Authentifizierung wurde auf diesem System noch nicht aktiviert, kann aber über das <a href='$1'>Webmin-Konfigurations</a> Modul aktiviert werden.
|
||||
twofactor_ebutton=Kein Button geklickt!
|
||||
twofactor_already=Ihr Webmin-Login hat bereits Zwei-Faktor-Authentifizierung mit Anbieter:in $1 und Konto-ID $2 aktiviert.
|
||||
twofactor_already2=Webmin-Login $3 hat bereits Zwei-Faktor-Authentifizierung mit Anbieter:in $1 und Konto-ID $2 aktiviert.
|
||||
twofactor_desc=Auf dieser Seite können Sie die Zwei-Faktor-Authentifizierung für Ihr Webmin-Login mit <a href='$2' target=_blank>$1</a> aktivieren. Nach der Aktivierung ist beim Login ein zusätzlicher Authentifizierungscode erforderlich.
|
||||
twofactor_desc2=Auf dieser Seite können Sie die Zwei-Faktor-Authentifizierung für das Webmin-Login $3 mit <a href='$2' target=_blank>$1</a> aktivieren. Nach der Aktivierung ist beim Login ein zusätzlicher Authentifizierungscode erforderlich.
|
||||
twofactor_enable=Für Zwei-Faktor-Authentifizierung registrieren
|
||||
twofactor_header=Details zur Zwei-Faktor-Registrierung
|
||||
twofactor_enrolling=Registrierung für Zwei-Faktor-Authentifizierung bei Anbieter:in $1 läuft ..
|
||||
twofactor_failed=.. Registrierung fehlgeschlagen : $1
|
||||
twofactor_done=.. abgeschlossen. Ihre ID bei diesem Anbieter:in ist <tt>$1</tt>.
|
||||
twofactor_setup=Zwei-Faktor-Authentifizierung ist auf diesem System noch nicht aktiviert, kann aber über das Modul <a href='$1'>Webmin-Konfiguration</a> eingeschaltet werden.
|
||||
twofactor_ebutton=Keine Schaltfläche geklickt!
|
||||
|
||||
forgot_title=Link zum Zurücksetzen des Passworts senden
|
||||
forgot_err=Link zum Zurücksetzen des Passworts konnte nicht gesendet werden
|
||||
forgot_header=Details zum Link zum Zurücksetzen des Passworts
|
||||
forgot_user=Passwort für Benutzer:in zurücksetzen
|
||||
forgot_email=Zustellungsmethode für Link
|
||||
forgot_email_def=Link in Webmin anzeigen
|
||||
forgot_email_sel=Link per E-Mail senden an
|
||||
forgot_send=Link senden
|
||||
forgot_desc=Auf dieser Seite können Sie einen Link erzeugen oder versenden, mit dem ein:e Webmin-Benutzer:in ein neues Passwort festlegen kann. Seien Sie vorsichtig, an welche Adresse Sie diesen Link senden, da er vollständigen Zugriff auf das Webmin-Login gewährt!
|
||||
forgot_adminmsg=Sie erhalten diese E-Mail vom Admin des Webmin-Systems unter $3 für das Login $1.\n\nWenn Sie das Passwort zurücksetzen möchten, folgen Sie diesem Link:\n$2
|
||||
forgot_sending=Passwort-Zurücksetzungs-E-Mail für $2 an $1 wird gesendet ..
|
||||
forgot_sent=.. gesendet
|
||||
forgot_link=Der folgende Link kann verwendet werden, um das Webmin-Passwort für $1 in den nächsten $2 Minuten zurückzusetzen:
|
||||
forgot_enosudo=Sudo ist auf diesem System nicht verfügbar!
|
||||
forgot_ecansudo=Der eingegebene Benutzer:in hat keine Sudo-Rechte
|
||||
forgot_eunix=Der eingegebene sudo-fähige Benutzer:in existiert nicht!
|
||||
|
||||
23
acl/lang/en
23
acl/lang/en
@@ -36,6 +36,7 @@ edit_rights=Webmin user access rights
|
||||
edit_user=Username
|
||||
edit_cloneof=Cloning Webmin user
|
||||
edit_real=Real name
|
||||
edit_email=Contact email
|
||||
edit_group=Member of group
|
||||
edit_pass=Password
|
||||
edit_same=Same as Unix
|
||||
@@ -90,6 +91,7 @@ edit_selall=Select all
|
||||
edit_invert=Invert selection
|
||||
edit_hide=Hide Unused
|
||||
edit_switch=Switch to User
|
||||
edit_forgot=Send Password Reset Link
|
||||
edit_return=Webmin user
|
||||
edit_return2=Webmin group
|
||||
edit_rbacdeny=RBAC access mode
|
||||
@@ -148,6 +150,7 @@ save_edays=No days to allow selected
|
||||
save_ehours=Missing or invalid times to allow
|
||||
save_ehours2=Start time to allow must be before end
|
||||
save_etemp=The option to force a password change at next login cannot be used unless <a href='$1'>prompting users to enter new passwords</a> is enabled
|
||||
save_eemail=Email address cannot contain the : character
|
||||
|
||||
delete_err=Failed to delete user
|
||||
delete_eself=You cannot delete yourself
|
||||
@@ -247,6 +250,9 @@ log_sync=Changed unix user synchronization
|
||||
log_sql=Changed user and group database
|
||||
log_twofactor=Enrolled user $1 with two-factor provider $2
|
||||
log_onefactor=Dis-enrolled user $1 for two-factor authentication
|
||||
log_forgot_send=Sent password reset email for user $1 to $2
|
||||
log_forgot_reset=Reset password for user $1 with email $2
|
||||
log_forgot_admin=Admin sent password reset email for user $1 to $2
|
||||
|
||||
gedit_ecannot=You are not allowed to edit groups
|
||||
gedit_title=Edit Webmin Group
|
||||
@@ -510,4 +516,21 @@ twofactor_done=.. complete. Your ID with this provider is <tt>$1</tt>.
|
||||
twofactor_setup=Two-factor authentication has not been enabled on this system yet, but can be turned on using the <a href='$1'>Webmin Configuration</a> module.
|
||||
twofactor_ebutton=No button clicked!
|
||||
|
||||
forgot_title=Send Password Reset Link
|
||||
forgot_err=Failed to send password reset link
|
||||
forgot_header=Password reset link details
|
||||
forgot_user=Reset password for user
|
||||
forgot_email=Link delivery method
|
||||
forgot_email_def=Display link in Webmin
|
||||
forgot_email_sel=Send link via email to
|
||||
forgot_send=Send Link
|
||||
forgot_desc=This page allows you to generate or send a link that can be used to select a new password for a Webmin user to any email address. Be careful which address you send this link to, as it will effectively grant full access to the Webmin login!
|
||||
forgot_adminmsg=You are receiving this email from the administrator of the Webmin system at $3, for the login $1.\n\nIf you would like to proceed with resetting the password, follow this link :\n$2
|
||||
forgot_sending=Sending password reset email for $2 to $1 ..
|
||||
forgot_sent=.. sent
|
||||
forgot_link=The link below can be used to reset the Webmin password for $1 for the next $2 minutes :
|
||||
forgot_enosudo=Sudo is not available on this system!
|
||||
forgot_ecansudo=The user entered does not have sudo permissions
|
||||
forgot_eunix=The sudo-capable user entered does not exist!
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -37,6 +37,7 @@ foreach my $k (sort { my @a = split(/\s+/, $sessiondb{$a});
|
||||
next if ($k =~ /^1111111/);
|
||||
my ($user, $ltime, $lip) = split(/\s+/, $sessiondb{$k});
|
||||
next if ($user =~ /^\!/ && !$in{'logouts'});
|
||||
next if ($user =~ /^-/);
|
||||
next if ($miniserv{'logouttime'} &&
|
||||
$time_now - $ltime > $miniserv{'logouttime'}*60);
|
||||
my @cols;
|
||||
|
||||
@@ -62,6 +62,10 @@ elsif ($action eq 'switch') {
|
||||
elsif ($action eq 'twofactor') {
|
||||
return &text('log_twofactor', $object, $p->{'provider'}, $p->{'id'});
|
||||
}
|
||||
elsif ($action eq 'forgot') {
|
||||
return &text('log_forgot_'.$type, &html_escape($p->{'user'}),
|
||||
&html_escape($p->{'email'}));
|
||||
}
|
||||
else {
|
||||
return $text{'log_'.$action};
|
||||
}
|
||||
|
||||
@@ -14,24 +14,28 @@ our (%in, %text, %config, %access, $config_directory, $base_remote_user);
|
||||
# Check for special button clicks, and redirect
|
||||
if ($in{'but_clone'}) {
|
||||
&redirect("edit_user.cgi?clone=".&urlize($in{'old'}));
|
||||
exit;
|
||||
return;
|
||||
}
|
||||
elsif ($in{'but_log'}) {
|
||||
&redirect("../webminlog/search.cgi?uall=0&mall=1&tall=1&user=".
|
||||
&urlize($in{'old'}));
|
||||
exit;
|
||||
return;
|
||||
}
|
||||
elsif ($in{'but_switch'}) {
|
||||
&redirect("switch.cgi?user=".&urlize($in{'old'}));
|
||||
exit;
|
||||
return;
|
||||
}
|
||||
elsif ($in{'but_delete'}) {
|
||||
&redirect("delete_user.cgi?user=".&urlize($in{'old'}));
|
||||
exit;
|
||||
return;
|
||||
}
|
||||
elsif ($in{'twofactor'}) {
|
||||
&redirect("twofactor_form.cgi?user=".&urlize($in{'old'}));
|
||||
exit;
|
||||
return;
|
||||
}
|
||||
elsif ($in{'but_forgot'}) {
|
||||
&redirect("forgot_form.cgi?user=".&urlize($in{'old'}));
|
||||
return;
|
||||
}
|
||||
|
||||
# Get the user object
|
||||
@@ -225,6 +229,8 @@ $user{'nochange'} = !$access{'nochange'} || !defined($in{'nochange'}) ?
|
||||
$user{'lastchange'} = $old->{'lastchange'};
|
||||
$user{'olds'} = $old->{'olds'};
|
||||
$user{'real'} = $in{'real'} =~ /\S/ ? $in{'real'} : undef;
|
||||
$in{'email'} =~ /:/ && &error($text{'save_eemail'});
|
||||
$user{'email'} = $in{'email'};
|
||||
my $raddr = $ENV{'REMOTE_ADDR'};
|
||||
my @ips;
|
||||
if ($access{'ips'}) {
|
||||
|
||||
@@ -654,6 +654,7 @@ if ($newdir) {
|
||||
if ($isrc) {
|
||||
&recursive_set_indent($newdir, $isrc->{'indent'});
|
||||
}
|
||||
$newdir{'words'} = &wsplit($newdir{'value'});
|
||||
@newlines = &directive_lines($newdir);
|
||||
}
|
||||
if ($olddir && $newdir) {
|
||||
@@ -664,6 +665,7 @@ if ($olddir && $newdir) {
|
||||
$lref->[$olddir->{'eline'}] = $newlines[$#newlines];
|
||||
$olddir->{'name'} = $newdir->{'name'};
|
||||
$olddir->{'value'} = $newdir->{'value'};
|
||||
$olddir->{'words'} = $newdir->{'words'};
|
||||
}
|
||||
else {
|
||||
# Re-writing whole block
|
||||
@@ -778,17 +780,17 @@ unlink($file);
|
||||
# beyond the given line.
|
||||
sub renumber
|
||||
{
|
||||
local($d);
|
||||
if (!$_[3]) { return; }
|
||||
foreach $d (@{$_[0]}) {
|
||||
if ($d->{'file'} eq $_[2] && $d->{'line'} >= $_[1]) {
|
||||
$d->{'line'} += $_[3];
|
||||
my ($conf, $line, $file, $offset) = @_;
|
||||
return if (!$offset);
|
||||
foreach my $d (@$conf) {
|
||||
if ($d->{'file'} eq $file && $d->{'line'} >= $_[1]) {
|
||||
$d->{'line'} += $offset;
|
||||
}
|
||||
if ($d->{'file'} eq $_[2] && $d->{'eline'} >= $_[1]) {
|
||||
$d->{'eline'} += $_[3];
|
||||
if ($d->{'file'} eq $file && $d->{'eline'} >= $_[1]) {
|
||||
$d->{'eline'} += $offset;
|
||||
}
|
||||
if ($d->{'type'}) {
|
||||
&renumber($d->{'members'}, $_[1], $_[2], $_[3]);
|
||||
&renumber($d->{'members'}, $line, $file, $offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1466,10 +1468,11 @@ foreach $f (@main::locked_apache_files) {
|
||||
}
|
||||
|
||||
# directive_lines(directive, ...)
|
||||
# Convery a list of Apache directives into a list of lines
|
||||
sub directive_lines
|
||||
{
|
||||
local @rv;
|
||||
foreach $d (@_) {
|
||||
my @rv;
|
||||
foreach my $d (@_) {
|
||||
next if ($d->{'name'} eq 'dummy');
|
||||
my $indent = (" " x $d->{'indent'});
|
||||
if ($d->{'type'}) {
|
||||
|
||||
13
at/at-lib.pl
13
at/at-lib.pl
@@ -153,5 +153,18 @@ else {
|
||||
}
|
||||
}
|
||||
|
||||
# get_init_status()
|
||||
# If the init module is installed and there is an atd bootup action, return
|
||||
# its name, current running status and boot status
|
||||
sub get_init_status
|
||||
{
|
||||
return () if (!&foreign_available("init"));
|
||||
my $init = defined(&get_init_name) ? &get_init_name() : undef;
|
||||
return () if (!$init);
|
||||
my $r = &init::status_action($init);
|
||||
my $atboot = &init::action_status($init);
|
||||
return ($init, $r, $atboot);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
49
at/index.cgi
49
at/index.cgi
@@ -138,34 +138,31 @@ if ($access{'allow'} && $config{'allow_file'}) {
|
||||
}
|
||||
|
||||
# If there is an init script that runs an atd server, show status
|
||||
if (&foreign_available("init")) {
|
||||
&foreign_require("init");
|
||||
my $init = defined(&get_init_name) ? &get_init_name() : undef;
|
||||
if ($access{'stop'} && $init) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
my ($init, $r, $atboot) = &get_init_status();
|
||||
if ($access{'stop'} && $init) {
|
||||
print &ui_hr();
|
||||
print &ui_buttons_start();
|
||||
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
my $atboot = &init::action_status($init);
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
# Running now?
|
||||
my $r = &init::status_action($init);
|
||||
if ($r == 1) {
|
||||
print &ui_buttons_row("stop.cgi", $text{'index_stop'},
|
||||
$text{'index_stopdesc'});
|
||||
}
|
||||
elsif ($r == 0) {
|
||||
print &ui_buttons_row("start.cgi", $text{'index_start'},
|
||||
$text{'index_startdesc'});
|
||||
}
|
||||
|
||||
# Start at boot?
|
||||
my $atboot = &init::action_status($init);
|
||||
print &ui_buttons_row("bootup.cgi", $text{'index_boot'},
|
||||
$text{'index_bootdesc'}, undef,
|
||||
&ui_radio("boot", $atboot == 2 ? 1 : 0,
|
||||
[ [ 1, $text{'yes'} ],
|
||||
[ 0, $text{'no'} ] ]));
|
||||
|
||||
print &ui_buttons_end();
|
||||
}
|
||||
|
||||
&ui_print_footer("/", $text{'index'});
|
||||
|
||||
@@ -63,16 +63,21 @@ if ($bind_version && $bind_version =~ /^(\d+\.\d+)\./) {
|
||||
our $dnssec_dlv_zone = "dlv.isc.org.";
|
||||
our @dnssec_dlv_key = ( 257, 3, 5, '"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VStTDN0YUuWrBNh"' );
|
||||
|
||||
my $rand_flag;
|
||||
# get_rand_flag()
|
||||
# Return a flag to read from a randomness source
|
||||
sub get_rand_flag
|
||||
{
|
||||
if ($gconfig{'os_type'} =~ /-linux$/ &&
|
||||
$config{'force_random'} eq '0' &&
|
||||
-r "/dev/urandom" &&
|
||||
$bind_version =~ /^9\./ &&
|
||||
&compare_version_numbers($bind_version, '<', '9.14.2')) {
|
||||
&compare_version_numbers($bind_version, 9) >= 0 &&
|
||||
&compare_version_numbers($bind_version, '9.14.2') < 0) {
|
||||
# Version: 9.14.2 deprecated the use of -r option
|
||||
# in favor of using /dev/random [bugs:#5370]
|
||||
$rand_flag = "-r /dev/urandom";
|
||||
return "-r /dev/urandom";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
# have_dnssec_tools_support()
|
||||
# Returns 1 if dnssec-tools support is available and we meet minimum version
|
||||
@@ -398,10 +403,11 @@ return defined($dir->{'value'}) ? $dir->{'value'} :
|
||||
# Returns the base directory for named files
|
||||
sub base_directory
|
||||
{
|
||||
if ($_[1] || !-r $zone_names_cache) {
|
||||
my ($conf, $nocache) = @_;
|
||||
if ($nocache || !-r $zone_names_cache) {
|
||||
# Actually work out base
|
||||
my ($opts, $dir, $conf);
|
||||
$conf = $_[0] ? $_[0] : &get_config();
|
||||
my ($opts, $dir);
|
||||
$conf ||= &get_config();
|
||||
if (($opts = &find("options", $conf)) &&
|
||||
($dir = &find("directory", $opts->{'members'}))) {
|
||||
return $dir->{'value'};
|
||||
@@ -415,7 +421,7 @@ else {
|
||||
# Use cache
|
||||
my %znc;
|
||||
&read_file_cached($zone_names_cache, \%znc);
|
||||
return $znc{'base'} || &base_directory($_[0], 1);
|
||||
return $znc{'base'} || &base_directory($conf, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,12 +536,10 @@ if ($dir->{'type'} && $dir->{'type'} == 1 && $dir->{'members'}) {
|
||||
}
|
||||
|
||||
# directives that need their value to be quoted
|
||||
my %need_quote;
|
||||
my @need_quote = ( "file", "zone", "view", "pid-file", "statistics-file",
|
||||
"dump-file", "named-xfer", "secret" );
|
||||
foreach my $need (@need_quote) {
|
||||
$need_quote{$need}++;
|
||||
}
|
||||
"dump-file", "named-xfer", "secret", "cert-file", "key-file",
|
||||
"ca-file" );
|
||||
my %need_quote = map { $_, 1 } @need_quote;
|
||||
|
||||
# directive_lines(&directive, tabs)
|
||||
# Renders some directive into a number of lines of text
|
||||
@@ -2481,22 +2485,22 @@ sub list_zone_names
|
||||
{
|
||||
# Check if any files have changed, or if the master config has changed, or
|
||||
# the PID file.
|
||||
my (%files, %znc);
|
||||
my ($changed, $filecount, %donefile);
|
||||
my (%files, %znc, $changed);
|
||||
my @st = stat($zone_names_cache);
|
||||
if (@st) {
|
||||
&read_file_cached_with_stat($zone_names_cache, \%znc);
|
||||
my $filecount = 0;
|
||||
foreach my $k (keys %znc) {
|
||||
if ($k =~ /^file_(.*)$/) {
|
||||
$filecount++;
|
||||
$donefile{$1}++;
|
||||
my @fst = stat($1);
|
||||
if (!@fst || $fst[9] > $st[9] ||
|
||||
$znc{'size_'.$1} != $fst[7]) {
|
||||
$changed = 1;
|
||||
}
|
||||
$filecount++;
|
||||
}
|
||||
}
|
||||
$changed = 1 if (!$filecount);
|
||||
}
|
||||
else {
|
||||
$changed = 1;
|
||||
@@ -2508,6 +2512,11 @@ if ($changed || !$znc{'version'} ||
|
||||
# Yes .. need to rebuild
|
||||
%znc = ( );
|
||||
my $conf = &get_config();
|
||||
my $gau;
|
||||
my $opts = &find("options", $conf);
|
||||
if ($opts && &find("allow-update", $opts->{'members'})) {
|
||||
$gau = 1;
|
||||
}
|
||||
my @views = &find("view", $conf);
|
||||
my $n = 0;
|
||||
foreach my $v (@views) {
|
||||
@@ -2519,7 +2528,7 @@ if ($changed || !$znc{'version'} ||
|
||||
my $file = &find_value("file", $z->{'members'});
|
||||
my $up = &find("update-policy", $z->{'members'});
|
||||
my $au = &find("allow-update", $z->{'members'});
|
||||
my $dynamic = $up || $au ? 1 : 0;
|
||||
my $dynamic = $up || $au || $gau ? 1 : 0;
|
||||
$znc{"zone_".($n++)} = join("\t", $z->{'value'},
|
||||
$z->{'index'}, $type, $v->{'value'}, $dynamic, $file);
|
||||
$files{$z->{'file'}}++;
|
||||
@@ -2535,7 +2544,7 @@ if ($changed || !$znc{'version'} ||
|
||||
$file ||= ""; # slaves and other types with no file
|
||||
my $up = &find("update-policy", $z->{'members'});
|
||||
my $au = &find("allow-update", $z->{'members'});
|
||||
my $dynamic = $up || $au ? 1 : 0;
|
||||
my $dynamic = $up || $au || $gau ? 1 : 0;
|
||||
$znc{"zone_".($n++)} = join("\t", $z->{'value'},
|
||||
$z->{'index'}, $type, "*", $dynamic, $file);
|
||||
$files{$z->{'file'}}++;
|
||||
@@ -3151,6 +3160,13 @@ sub supports_check_zone
|
||||
return $config{'checkzone'} && &has_command($config{'checkzone'});
|
||||
}
|
||||
|
||||
# supports_tls()
|
||||
# Returns 1 if DNS over TLS is supported
|
||||
sub supports_tls
|
||||
{
|
||||
return &compare_version_numbers($bind_version, 9.17) >= 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
# check_zone_records(&zone-name|&zone)
|
||||
# Returns a list of errors from checking some zone file, if any
|
||||
sub check_zone_records
|
||||
@@ -3174,6 +3190,36 @@ my $out = &backquote_command(
|
||||
return $? ? split(/\r?\n/, $out) : ( );
|
||||
}
|
||||
|
||||
# check_zone_warnings(&zone-name|&zone)
|
||||
# Returns a list of warnings from checking some zone file, if any
|
||||
sub check_zone_warnings
|
||||
{
|
||||
my ($zone) = @_;
|
||||
my ($zonename, $zonefile);
|
||||
if ($zone->{'values'}) {
|
||||
# Zone object
|
||||
$zonename = $zone->{'values'}->[0];
|
||||
my $f = &find("file", $zone->{'members'});
|
||||
$zonefile = $f->{'values'}->[0];
|
||||
}
|
||||
else {
|
||||
# Zone name object
|
||||
$zonename = $zone->{'name'};
|
||||
$zonefile = $zone->{'file'};
|
||||
}
|
||||
my $absfile = &make_chroot(&absolute_path($zonefile));
|
||||
my $out = &backquote_command(
|
||||
$config{'checkzone'}." ".quotemeta($zonename)." ".
|
||||
quotemeta($absfile)." 2>&1 </dev/null");
|
||||
my @rv;
|
||||
foreach my $l (split(/\r?\n/, $out)) {
|
||||
if ($l =~ /^\Q$absfile\E:\d+:\s*(.*)/) {
|
||||
push(@rv, $1);
|
||||
}
|
||||
}
|
||||
return @rv;
|
||||
}
|
||||
|
||||
# supports_check_conf()
|
||||
# Returns 1 if BIND configuration checking is supported, 0 if not
|
||||
sub supports_check_conf
|
||||
@@ -3337,10 +3383,8 @@ return &has_command($config{'signzone'}) &&
|
||||
# dnssec-validation directive is not supported, 0 otherwise
|
||||
sub supports_dnssec_client
|
||||
{
|
||||
my ($bind_major, $bind_minor) = split(/\./, $bind_version);
|
||||
|
||||
return $bind_major > 9 ? 2 :
|
||||
$bind_major == 9 ? ($bind_minor >= 4 ? 2 : 1) : 0;
|
||||
return &compare_version_numbers($bind_version, 9.4) >= 0 ? 2 :
|
||||
&compare_version_numbers($bind_version, 9) >= 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
# dnssec_size_range(algorithm)
|
||||
@@ -3406,7 +3450,7 @@ closedir(ZONEDIR);
|
||||
|
||||
# Fork a background job to do lots of IO, to generate entropy
|
||||
my $pid;
|
||||
if (!$rand_flag) {
|
||||
if (!&get_rand_flag()) {
|
||||
$pid = fork();
|
||||
if (!$pid) {
|
||||
exec("find / -type f >/dev/null 2>&1");
|
||||
@@ -3455,7 +3499,7 @@ else {
|
||||
"cd ".quotemeta($fn)." && ".
|
||||
"$config{'keygen'} -a ".quotemeta($alg).
|
||||
" -b ".quotemeta($zonesize).
|
||||
" -n ZONE $rand_flag $dom 2>&1");
|
||||
" -n ZONE ".&get_rand_flag()." $dom 2>&1");
|
||||
if ($?) {
|
||||
kill('KILL', $pid) if ($pid);
|
||||
return $out;
|
||||
@@ -3467,7 +3511,7 @@ else {
|
||||
"cd ".quotemeta($fn)." && ".
|
||||
"$config{'keygen'} -a ".quotemeta($alg).
|
||||
" -b ".quotemeta($size).
|
||||
" -n ZONE -f KSK $rand_flag $dom 2>&1");
|
||||
" -n ZONE -f KSK ".&get_rand_flag()." $dom 2>&1");
|
||||
kill('KILL', $pid) if ($pid);
|
||||
if ($?) {
|
||||
return $out;
|
||||
@@ -3537,7 +3581,7 @@ $zonekey || return "Could not find DNSSEC zone key";
|
||||
|
||||
# Fork a background job to do lots of IO, to generate entropy
|
||||
my $pid;
|
||||
if (!$rand_flag) {
|
||||
if (!&get_rand_flag()) {
|
||||
$pid = fork();
|
||||
if (!$pid) {
|
||||
exec("find / -type f >/dev/null 2>&1");
|
||||
@@ -3554,7 +3598,7 @@ my $alg = $zonekey->{'algorithm'};
|
||||
my $out = &backquote_logged(
|
||||
"cd ".quotemeta($dir)." && ".
|
||||
"$config{'keygen'} -a ".quotemeta($alg)." -b ".quotemeta($zonesize).
|
||||
" -n ZONE $rand_flag $dom 2>&1");
|
||||
" -n ZONE ".&get_rand_flag()." $dom 2>&1");
|
||||
kill('KILL', $pid) if ($pid);
|
||||
if ($?) {
|
||||
return "Failed to generate new zone key : $out";
|
||||
@@ -4492,4 +4536,24 @@ if ($zone) {
|
||||
return $r;
|
||||
}
|
||||
|
||||
# find_tls_users(&conf, name)
|
||||
# Find all listen-on or other directives that use a given TLS key name
|
||||
sub find_tls_users
|
||||
{
|
||||
my ($conf, $name) = @_;
|
||||
my @rv;
|
||||
my $opts = &find("options", $conf);
|
||||
if ($opts) {
|
||||
my @listen = ( &find("listen-on", $opts->{'members'}),
|
||||
&find("listen-on-v6", $opts->{'members'}) );
|
||||
foreach my $l (@listen) {
|
||||
my $idx = &indexof("tls", @{$l->{'values'}});
|
||||
if ($idx >= 0 && $l->{'values'}->[$idx+1] eq $name) {
|
||||
push(@rv, $l);
|
||||
}
|
||||
}
|
||||
}
|
||||
return @rv;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -20,12 +20,22 @@ my $desc = &ip6int_to_net(&arpa_to_ip($zone->{'name'}));
|
||||
|
||||
my $file = &make_chroot(&absolute_path($zone->{'file'}));
|
||||
my @errs = &check_zone_records($zone);
|
||||
my @warns = &check_zone_warnings($zone);
|
||||
if (@errs) {
|
||||
# Show list of errors
|
||||
print "<b>",&text('check_errs', "<tt>$file</tt>"),"</b><p>\n";
|
||||
print "<ul>\n";
|
||||
foreach my $e (@errs) {
|
||||
print "<li>".&html_escape($e)."\n";
|
||||
print "<li>".&html_escape($e)."</li>\n";
|
||||
}
|
||||
print "</ul>\n";
|
||||
}
|
||||
elsif (@warns) {
|
||||
# Just show warnings
|
||||
print "<b>",&text('check_warns', "<tt>$file</tt>"),"</b><p>\n";
|
||||
print "<ul>\n";
|
||||
foreach my $e (@warns) {
|
||||
print "<li>".&html_escape($e)."</li>\n";
|
||||
}
|
||||
print "</ul>\n";
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ if (@errs) {
|
||||
print "<b>",&text('ncheck_errs', "<tt>$file</tt>"),"</b><p>\n";
|
||||
print "<ul>\n";
|
||||
foreach my $e (@errs) {
|
||||
print "<li>".&html_escape($e)."\n";
|
||||
print "<li>".&html_escape($e)."</li>\n";
|
||||
}
|
||||
print "</ul>\n";
|
||||
}
|
||||
|
||||
@@ -22,26 +22,47 @@ print &ui_form_start("save_net.cgi", "post");
|
||||
print &ui_table_start($text{'net_header'}, "width=100%", 4);
|
||||
|
||||
# Ports and addresses to listen on
|
||||
my @listen = &find("listen-on", $mems);
|
||||
my @listen = ( &find("listen-on", $mems),
|
||||
&find("listen-on-v6", $mems) );
|
||||
my $ltable = &ui_radio("listen_def", @listen ? 0 : 1,
|
||||
[ [ 1, $text{'default'} ],
|
||||
[ 0, $text{'net_below'} ] ])."<br>\n";
|
||||
|
||||
my @table = ( );
|
||||
push(@listen, { });
|
||||
my @tls = map { $_->{'values'}->[0] } &find("tls", $conf);
|
||||
for(my $i=0; $i<@listen; $i++) {
|
||||
my $port = $listen[$i]->{'value'} eq 'port' ?
|
||||
$listen[$i]->{'values'}->[1] : undef;
|
||||
my @vals = map { $_->{'name'} } @{$listen[$i]->{'members'}};
|
||||
my $l = $listen[$i];
|
||||
my $v = $l->{'values'} || [];
|
||||
my ($port, $tls);
|
||||
for(my $j=0; $j<@$v; $j++) {
|
||||
if ($v->[$j] eq "port") {
|
||||
$port = $v->[++$j];
|
||||
}
|
||||
if ($v->[$j] eq "tls") {
|
||||
$tls = $v->[++$j];
|
||||
}
|
||||
}
|
||||
my @vals = map { $_->{'name'} } @{$l->{'members'}};
|
||||
push(@table, [
|
||||
&ui_select("proto_$i",
|
||||
$l->{'name'} eq 'listen-on-v6' ? 'v6' :
|
||||
$l->{'name'} eq 'listen-on' ? 'v4' : '',
|
||||
[ [ '', $text{'net_none'} ],
|
||||
[ 'v4', 'IPv4' ],
|
||||
[ 'v6', 'IPv6' ] ]),
|
||||
&ui_radio("pdef_$i", $port ? 0 : 1,
|
||||
[ [ 1, $text{'default'} ],
|
||||
[ 0, &ui_textbox("port_$i", $port, 5) ] ]),
|
||||
@tls ? ( &ui_select("tls_$i", $tls, [ '', @tls ]) ) : ( ),
|
||||
&ui_textbox("addrs_$i", join(" ", @vals), 50),
|
||||
]);
|
||||
}
|
||||
$ltable .= &ui_columns_table(
|
||||
[ $text{'net_port'}, $text{'net_addrs'} ],
|
||||
[ $text{'net_proto'},
|
||||
$text{'net_port'},
|
||||
@tls ? ( $text{'net_tls'} ) : ( ),
|
||||
$text{'net_addrs'} ],
|
||||
undef,
|
||||
\@table,
|
||||
undef,
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -18,7 +18,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -22,7 +22,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -22,7 +22,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -22,7 +22,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -25,7 +25,7 @@ pid_file=/var/run/named/named.pid
|
||||
chroot=
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -22,7 +22,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -25,7 +25,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -19,7 +19,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -25,7 +25,7 @@ pid_file=/var/run/named/named.pid
|
||||
chroot=/var/lib/named
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -25,7 +25,7 @@ pid_file=/var/run/named/named.pid
|
||||
chroot=/var/lib/named
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -25,7 +25,7 @@ pid_file=/var/run/named/named.pid
|
||||
chroot=/var/lib/named
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -16,7 +16,7 @@ short_names=0
|
||||
named_path=/usr/syno/named/bin
|
||||
confirm_zone=1
|
||||
soa_style=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
pid_file=/var/run/named.pid
|
||||
by_view=0
|
||||
show_list=1
|
||||
|
||||
@@ -24,7 +24,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
chroot=/
|
||||
master_dir=/etc/named.d/master
|
||||
|
||||
@@ -24,7 +24,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
chroot=/
|
||||
master_dir=/var/named/master
|
||||
|
||||
@@ -24,7 +24,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
chroot=/var/lib/named/chroot
|
||||
master_dir=/var/named/master
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -23,7 +23,7 @@ stop_cmd=/etc/init.d/named stop
|
||||
pid_file=/var/run/named/named.pid
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -21,7 +21,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
@@ -20,7 +20,7 @@ forwardzonefilename_format=ZONE.hosts
|
||||
reversezonefilename_format=ZONE.rev
|
||||
rev_must=0
|
||||
ipv6_mode=1
|
||||
allow_underscore=1
|
||||
allow_underscore=0
|
||||
by_view=0
|
||||
confirm_zone=1
|
||||
confirm_rec=0
|
||||
|
||||
63
bind8/edit_tls.cgi
Executable file
63
bind8/edit_tls.cgi
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/usr/local/bin/perl
|
||||
# Show a form to edit or create a TLS key and cert
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
no warnings 'redefine';
|
||||
no warnings 'uninitialized';
|
||||
our (%access, %text, %in);
|
||||
|
||||
require './bind8-lib.pl';
|
||||
$access{'defaults'} || &error($text{'tls_ecannot'});
|
||||
&supports_tls() || &error($text{'tls_esupport'});
|
||||
&ReadParse();
|
||||
|
||||
# Get the TLS config being edited
|
||||
my $tls;
|
||||
if (!$in{'new'}) {
|
||||
my $conf = &get_config();
|
||||
my @tls = &find("tls", $conf);
|
||||
($tls) = grep { $_->{'values'}->[0] eq $in{'name'} } @tls;
|
||||
$tls || &error($text{'tls_egone'});
|
||||
}
|
||||
else {
|
||||
$tls = { 'values' => [],
|
||||
'members' => [] };
|
||||
}
|
||||
my $mems = $tls->{'members'};
|
||||
|
||||
&ui_print_header(undef, $in{'new'} ? $text{'tls_title1'}
|
||||
: $text{'tls_title2'}, "");
|
||||
|
||||
print &ui_form_start("save_tls.cgi", "post");
|
||||
print &ui_hidden("new", $in{'new'});
|
||||
print &ui_hidden("oldname", $in{'name'});
|
||||
print &ui_table_start($text{'tls_header'}, undef, 2);
|
||||
|
||||
# Name of this key
|
||||
print &ui_table_row($text{'tls_name'},
|
||||
&ui_textbox("name", $tls->{'values'}->[0], 30));
|
||||
|
||||
# Key file
|
||||
print &ui_table_row($text{'tls_key'},
|
||||
&ui_filebox("key", &find_value("key-file", $mems), 60));
|
||||
|
||||
# Cert file
|
||||
print &ui_table_row($text{'tls_cert'},
|
||||
&ui_filebox("cert", &find_value("cert-file", $mems), 60));
|
||||
|
||||
# CA cert file
|
||||
my $ca = &find_value("ca-file", $mems);
|
||||
print &ui_table_row($text{'tls_ca'},
|
||||
&ui_radio("ca_def", $ca ? 0 : 1,
|
||||
[ [ 1, $text{'tls_ca_def'} ],
|
||||
[ 0, &ui_filebox("ca", $ca, 60) ] ]));
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end(
|
||||
$in{'new'} ? [ [ undef, $text{'create'} ] ]
|
||||
: [ [ undef, $text{'save'} ],
|
||||
[ 'delete', $text{'delete'} ] ]
|
||||
);
|
||||
|
||||
&ui_print_footer("list_tls.cgi", $text{'tls_return'});
|
||||
@@ -26,6 +26,10 @@ foreach my $z (@zones) {
|
||||
$v eq "." || !&can_edit_zone($z) ||
|
||||
&arpa_to_ip($v) !~ /\Q$in{'search'}\E/i);
|
||||
my $t = $z->{'type'};
|
||||
next if (!$t);
|
||||
$t = "delegation" if ($t eq "delegation-only");
|
||||
$t = "master" if ($t eq "primary");
|
||||
$t = "slave" if ($t eq "secondary");
|
||||
if ($z->{'view'}) {
|
||||
push(@zlinks, "edit_$t.cgi?zone=$z->{'name'}".
|
||||
"&view=$z->{'viewindex'}");
|
||||
|
||||
BIN
bind8/images/tls.gif
Normal file
BIN
bind8/images/tls.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 364 B |
@@ -118,16 +118,19 @@ if ($access{'defaults'}) {
|
||||
if ($access{'defaults'}) {
|
||||
# display global options
|
||||
print &ui_subheading($text{'index_opts'});
|
||||
my @olinks = ("conf_servers.cgi", "conf_logging.cgi", "conf_acls.cgi",
|
||||
"conf_files.cgi", "conf_forwarding.cgi", "conf_net.cgi",
|
||||
"conf_misc.cgi", "conf_controls.cgi", "conf_keys.cgi",
|
||||
"conf_zonedef.cgi", "list_slaves.cgi",
|
||||
$bind_version >= 9 ? ( "conf_rndc.cgi" ) : ( ),
|
||||
&supports_dnssec_client() ? ( "conf_trusted.cgi" ) : ( ),
|
||||
((&supports_dnssec()) && (&have_dnssec_tools_support())) ? ( "conf_dnssectools.cgi" ) : ( ),
|
||||
&supports_dnssec() ? ( "conf_dnssec.cgi" ) : ( ),
|
||||
&supports_check_conf() ? ( "conf_ncheck.cgi" ) : ( ),
|
||||
"conf_manual.cgi" );
|
||||
my @olinks = (
|
||||
"conf_servers.cgi", "conf_logging.cgi", "conf_acls.cgi",
|
||||
"conf_files.cgi", "conf_forwarding.cgi", "conf_net.cgi",
|
||||
"conf_misc.cgi", "conf_controls.cgi", "conf_keys.cgi",
|
||||
"conf_zonedef.cgi", "list_slaves.cgi", "conf_rndc.cgi",
|
||||
&supports_dnssec_client() ? ( "conf_trusted.cgi" ) : ( ),
|
||||
&supports_dnssec() && &have_dnssec_tools_support() ?
|
||||
( "conf_dnssectools.cgi" ) : ( ),
|
||||
&supports_dnssec() ? ( "conf_dnssec.cgi" ) : ( ),
|
||||
&supports_tls() ? ( "list_tls.cgi" ) : ( ),
|
||||
&supports_check_conf() ? ( "conf_ncheck.cgi" ) : ( ),
|
||||
"conf_manual.cgi",
|
||||
);
|
||||
my @otitles = map { /(conf|list)_(\S+).cgi/; $text{$2."_title"} } @olinks;
|
||||
my @oicons = map { /^(conf|list)_(\S+).cgi/; "images/$2.gif"; } @olinks;
|
||||
&icons_table(\@olinks, \@otitles, \@oicons, 6);
|
||||
@@ -453,7 +456,7 @@ else {
|
||||
print &ui_links_row(\@crlinks);
|
||||
}
|
||||
|
||||
if ($access{'views'} && $bind_version >= 9) {
|
||||
if ($access{'views'}) {
|
||||
# Display list of views
|
||||
print &ui_hr();
|
||||
print &ui_subheading($text{'index_views'});
|
||||
|
||||
@@ -1173,6 +1173,7 @@ rmass_clash=إنشاء حتى لو كان السجل موجود بالفعل؟
|
||||
check_title=تحقق السجلات
|
||||
check_ecannot=غير مسموح لك بالتحقق من السجلات
|
||||
check_errs=The following errors were found in the records file $1 ..
|
||||
check_warns=تم العثور على التحذيرات التالية في ملف السجلات $1 ..
|
||||
check_allok=No errors were found in the records file $1.
|
||||
|
||||
ncheck_title=تحقق BIND التكوين
|
||||
|
||||
@@ -59,6 +59,8 @@ log_delete_recs2=Изтрити $1 записи в зона $2
|
||||
massdelete_vwarn=Някои зони са свързани с домейна Virtualmin $1 и затова не трябва да се изтриват тук!
|
||||
massdelete_vwarn2=Някои зони са свързани с домейна Virtualmin $1 и $2 други и затова не трябва да се изтриват тук!
|
||||
|
||||
check_warns=Следните предупреждения бяха намерени във файла със записи $1 ..
|
||||
|
||||
zonekey_algorithm=DNSSEC алгоритъм : $1
|
||||
zonekey_ds_keytag=Ключов етикет
|
||||
zonekey_ds_alg=Алгоритъм
|
||||
|
||||
@@ -63,6 +63,8 @@ log_delete_recs2=S'han suprimit $1 registres a la zona $2
|
||||
massdelete_vwarn=Algunes zones estan associades al domini Virtualmin $1, per tant, no hauríem de suprimir-les aquí.
|
||||
massdelete_vwarn2=Algunes zones estan associades al domini Virtualmin $1 i $2, per tant, no hauríem de suprimir-les.
|
||||
|
||||
check_warns=S'han trobat els advertiments següents al fitxer de registres $1 ..
|
||||
|
||||
zonekey_algorithm=Algorisme DNSSEC : $1
|
||||
zonekey_ds_keytag=Etiqueta clau
|
||||
zonekey_ds_alg=Algorisme
|
||||
|
||||
@@ -289,6 +289,7 @@ rmass_eclash2=.. záznam se stejným názvem a stejnou hodnotou $1 již existuje
|
||||
check_title=Zkontrolujte záznamy
|
||||
check_ecannot=Není dovoleno kontrolovat záznamy
|
||||
check_errs=V souboru záznamů $1 byly nalezeny následující chyby.
|
||||
check_warns=V souboru záznamů $1 byla nalezena následující varování ..
|
||||
check_allok=V souboru záznamů $1 nebyly nalezeny žádné chyby.
|
||||
|
||||
ncheck_title=Zkontrolujte BIND Config
|
||||
|
||||
@@ -1173,6 +1173,7 @@ rmass_clash=Opret, selvom der allerede findes en post?
|
||||
check_title=Tjek poster
|
||||
check_ecannot=Du har ikke tilladelse til at kontrollere poster
|
||||
check_errs=Følgende fejl blev fundet i posteringsfilen $1 ..
|
||||
check_warns=Følgende advarsler blev fundet i postfilen $1 ..
|
||||
check_allok=Der blev ikke fundet nogen fejl i postfilen $1.
|
||||
|
||||
ncheck_title=Kontroller BIND Config
|
||||
|
||||
1516
bind8/lang/de
1516
bind8/lang/de
File diff suppressed because it is too large
Load Diff
@@ -1173,6 +1173,7 @@ rmass_clash=Δημιουργήστε ακόμα και αν υπάρχει ήδ
|
||||
check_title=Ελέγξτε τις εγγραφές
|
||||
check_ecannot=Δεν επιτρέπεται να ελέγχετε τα αρχεία
|
||||
check_errs=Τα παρακάτω σφάλματα βρέθηκαν στο αρχείο εγγραφών $1 ..
|
||||
check_warns=Οι ακόλουθες προειδοποιήσεις βρέθηκαν στο αρχείο εγγραφών $1 ..
|
||||
check_allok=Δεν βρέθηκαν σφάλματα στο αρχείο εγγραφών $1.
|
||||
|
||||
ncheck_title=Ελέγξτε το BIND Config
|
||||
|
||||
@@ -732,6 +732,9 @@ net_saddr=Source IP address for queries
|
||||
net_ip=IP address
|
||||
net_sport=Source port for queries
|
||||
net_port=Port number
|
||||
net_proto=Protocol
|
||||
net_tls=SSL Key
|
||||
net_none=<None>
|
||||
net_topol=Nameserver choice topology
|
||||
net_recur=Allow recursive queries from
|
||||
net_err=Failed to save address and topology options
|
||||
@@ -915,6 +918,9 @@ log_sign=Updated DNSSEC signatures for zone $1
|
||||
log_resign=Re-signed DNSSEC key for zone $1
|
||||
log_trusted=Changed DNSSEC verification
|
||||
log_dnssec=Change DNSSEC key re-signing
|
||||
log_create_tls=Created SSL key $1
|
||||
log_delete_tls=Deleted SSL key $1
|
||||
log_modify_tls=Updated SSL key $1
|
||||
|
||||
convert_err=Failed to convert zone
|
||||
convert_efile=A records file must be specified before a slave zone can be converted to a master.
|
||||
@@ -1173,6 +1179,7 @@ rmass_clash=Create even if record already exists?
|
||||
check_title=Check Records
|
||||
check_ecannot=You are not allowed to check records
|
||||
check_errs=The following errors were found in the records file $1 ..
|
||||
check_warns=The following warnings were found in the records file $1 ..
|
||||
check_allok=No errors were found in the records file $1.
|
||||
|
||||
ncheck_title=Check BIND Config
|
||||
@@ -1348,4 +1355,31 @@ xfer_done=.. from $1 : Completed OK
|
||||
xfer_count=Test transfer successfully fetched $1 records from at least one nameserver. Actual transfers by BIND should also succeed.
|
||||
xfer_none=Test transfer appeared to succeed, but didn't actually fetch any records!
|
||||
|
||||
tls_title=SSL Keys And Certificates
|
||||
tls_ecannot=You are not allowed to edit SSL keys and certificates
|
||||
tls_esupport=SSL keys and certificates are not supported on this system
|
||||
tls_name=Key name
|
||||
tls_key=Key file
|
||||
tls_cert=Certificate file
|
||||
tls_ca=CA certificate file
|
||||
tls_ca_def=None required
|
||||
tls_ecannot=You are not allowed to edit SSL keys and certificates
|
||||
tls_esupport=DNS over SSL is not supported on this system
|
||||
tls_none=No SSL keys have been added yet.
|
||||
tls_add=Add a new SSL key.
|
||||
tls_desc=The SSL keys and certificates listed on this page can be used to enable DNS over SSL/TLS.
|
||||
tls_title1=Add SSL Key
|
||||
tls_title2=Edit SSL Key
|
||||
tls_egone=SSL key no longer exists!
|
||||
tls_header=Key and certificate details
|
||||
tls_cerr=Failed to create SSL key
|
||||
tls_derr=Failed to delete SSL key
|
||||
tls_err=Failed to save SSL key
|
||||
tls_ename=SSL key name can only contain letters, numbers, underscore and dash
|
||||
tls_ekey=Missing or non-existent SSL key file
|
||||
tls_ecert=Missing or non-existent SSL certificate file
|
||||
tls_eca=Missing or non-existent SSL CA certificate file
|
||||
tls_eusers=Still in use by a port or address to listen on
|
||||
tls_return=SSL keys and certificates
|
||||
|
||||
__norefs=1
|
||||
|
||||
@@ -489,6 +489,7 @@ rmass_clash=¿Crear incluso si el registro ya existe?
|
||||
check_title=Verificar registros
|
||||
check_ecannot=No tiene permiso para verificar registros
|
||||
check_errs=Se encontraron los siguientes errores en el archivo de registros $1 ..
|
||||
check_warns=Las siguientes advertencias se encontraron en el archivo de registros $1 ..
|
||||
check_allok=No se encontraron errores en el archivo de registros $1.
|
||||
|
||||
ncheck_title=Verifique la configuración de BIND
|
||||
|
||||
@@ -1173,6 +1173,7 @@ rmass_clash=Sortu erregistroa dagoeneko badago?
|
||||
check_title=Egiaztatu Erregistroak
|
||||
check_ecannot=Ezin duzu erregistroak egiaztatu
|
||||
check_errs=Ondorengo akatsak aurkitu dira $1 erregistroko fitxategian.
|
||||
check_warns=Honako abisu hauek $1 erregistro fitxategian aurkitu dira ..
|
||||
check_allok=Ez da akatsik aurkitu $1 erregistroko fitxategian.
|
||||
|
||||
ncheck_title=Begiratu BIND Config
|
||||
|
||||
@@ -429,6 +429,7 @@ rmass_clash=حتی اگر سابقه قبلاً وجود داشته باشد ا
|
||||
check_title=سوابق را بررسی کنید
|
||||
check_ecannot=شما مجاز به بررسی سوابق نیستید
|
||||
check_errs=The following errors were found in the records file $1 ..
|
||||
check_warns=اخطارهای زیر در فایل سوابق $1 یافت شد ..
|
||||
check_allok=No errors were found in the records file $1.
|
||||
|
||||
ncheck_title=پیکربندی BIND را بررسی کنید
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user