mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 22:23:28 +00:00
Compare commits
360 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08c77d156b | ||
|
|
b1904a6271 | ||
|
|
16e1135bd1 | ||
|
|
8dada63714 | ||
|
|
a477a59ca7 | ||
|
|
c5e8c77526 | ||
|
|
8f6a94c537 | ||
|
|
fdad726013 | ||
|
|
65fb187afe | ||
|
|
825ce6154c | ||
|
|
43bdc70248 | ||
|
|
8e81bd0f93 | ||
|
|
8fa410792e | ||
|
|
4c5560544a | ||
|
|
752e722beb | ||
|
|
6899d86d26 | ||
|
|
c85128bb4d | ||
|
|
159cdc8057 | ||
|
|
ccf7c08147 | ||
|
|
53d0566410 | ||
|
|
5d83d4040f | ||
|
|
833292c0d1 | ||
|
|
f34e0c797b | ||
|
|
425ca01c5a | ||
|
|
27ee0cc475 | ||
|
|
ea7b52d65b | ||
|
|
d88c35bf6f | ||
|
|
eac8684eb2 | ||
|
|
92dc310ce0 | ||
|
|
52e24d98e2 | ||
|
|
b56c8eb19b | ||
|
|
200b295da0 | ||
|
|
fe0ad881f2 | ||
|
|
8c0974ac1d | ||
|
|
9e552ab7f4 | ||
|
|
f684a3b8f2 | ||
|
|
426c144c6c | ||
|
|
1bcf541f85 | ||
|
|
b9bde5bee0 | ||
|
|
45c4ea214e | ||
|
|
de834b9cce | ||
|
|
24c319fcc4 | ||
|
|
44d8e9191f | ||
|
|
72673cd72b | ||
|
|
22280486a9 | ||
|
|
0f7cc02c8d | ||
|
|
6ca55b1944 | ||
|
|
6abf9c093e | ||
|
|
8cce264953 | ||
|
|
8ff86fd7f8 | ||
|
|
5790358580 | ||
|
|
c87994e531 | ||
|
|
02d142ced2 | ||
|
|
f3d25ab96b | ||
|
|
73df190a7e | ||
|
|
b48e310a02 | ||
|
|
ac8eac2082 | ||
|
|
fd122a0430 | ||
|
|
3ca8cf64d6 | ||
|
|
532a8042c7 | ||
|
|
3849615cfd | ||
|
|
e4035af18d | ||
|
|
501698ad4b | ||
|
|
b65a787dbe | ||
|
|
023b2d453e | ||
|
|
5ae96fdca5 | ||
|
|
ef487fc14c | ||
|
|
4857b349d6 | ||
|
|
7c51438334 | ||
|
|
3a81bdd87c | ||
|
|
5b93fb30bd | ||
|
|
aaccc9720f | ||
|
|
856c350a0b | ||
|
|
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 | ||
|
|
67e36009f2 | ||
|
|
98bda63c54 | ||
|
|
240f1ff5c2 | ||
|
|
a125de44a4 | ||
|
|
431ca1a491 | ||
|
|
f799102e7a | ||
|
|
ea29e33d53 | ||
|
|
4c990674eb | ||
|
|
0943289abe | ||
|
|
707cd42bb5 | ||
|
|
554cf0e8af | ||
|
|
c918e6583b | ||
|
|
37f4fce674 | ||
|
|
f6fe748647 | ||
|
|
576fef7c76 | ||
|
|
cc908e5336 | ||
|
|
cd84d0e74c | ||
|
|
b691873b5a | ||
|
|
26a256b5bc | ||
|
|
0786538434 | ||
|
|
f6e1eca6fc | ||
|
|
72d16272c7 | ||
|
|
948d3e5a2a | ||
|
|
6d10d5aa55 | ||
|
|
1cef7128d1 | ||
|
|
26f3a2997d | ||
|
|
773011e783 |
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:
|
||||
|
||||
42
CHANGELOG.md
42
CHANGELOG.md
@@ -1,5 +1,47 @@
|
||||
## Changelog
|
||||
|
||||
#### 2.400 (May 25, 2025)
|
||||
* Add built-in support for forgotten password recovery
|
||||
* Add support for SSL certificates and DNS over TLS in the BIND module
|
||||
* Add support to configure listen for any type of address in Dovecot module
|
||||
* Add ability to manage available PHP packages directly from PHP Configuration module
|
||||
* Add ability to configure and show proper branding logo on the login page
|
||||
* Add display of the PHP binary and its version in the PHP Configuration module
|
||||
* Add improvements to MySQL/MariaDB module when editing users and privileges
|
||||
* Add support for AxoSyslog in System Logs NG module
|
||||
* Add TOML as editable format in the File Manager module
|
||||
* Add support for template variables in help pages
|
||||
* Add support for enabling gender-neutral translations if supported by the language
|
||||
* Improve security of single-use login links
|
||||
* Fix to check if local version of `mysqldump` supports `--set-gtid-purged` flag
|
||||
* Fix to respect option to copy new key and certificate to Webmin in the SSL Encryption module
|
||||
* Fix to use new API for auxiliary remote QR code generation
|
||||
* Fix to show human-readable timestamps for kernel log in the System Logs module
|
||||
* Fix to respect reverse order flag in the System Logs module
|
||||
* Fix to prefer JSON::XS over JSON::PP if available for better performance
|
||||
* Fix bugs with IPv6 interface creation on systems using Network Manager
|
||||
* Fix to address the security issue in the System Documentation module
|
||||
* Fix to use fast PRC mode by default in the Webmin Servers Index module
|
||||
* Fix Fail2Ban version detection
|
||||
* Fix to follow German translation rules that most people already accept
|
||||
* Fix to correctly read EOL cache data
|
||||
|
||||
#### 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
|
||||
* Fix to improve wording when applying network in Network Configuration module
|
||||
* Fix regression in MySQL/MariaDB database user permission assignment
|
||||
* Fix to clean up old code
|
||||
* Update German translations
|
||||
|
||||
#### 2.301 (February 16, 2025)
|
||||
* Fix to check correctly if ProFTPD is installed #2410
|
||||
* Fix to properly escape HTML in date fields
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -88,6 +88,7 @@ while(my $l = <$fh>) {
|
||||
$user{'modules'} = $acl{$user[0]};
|
||||
$user{'lang'} = $gconfig{"lang_$user[0]"};
|
||||
$user{'langauto'} = $gconfig{"langauto_$user[0]"};
|
||||
$user{'langneutral'} = $gconfig{"langneutral_$user[0]"};
|
||||
$user{'locale'} = $gconfig{"locale_$user[0]"};
|
||||
$user{'dateformat'} = $gconfig{"dateformat_$user[0]"};
|
||||
$user{'notabs'} = $gconfig{"notabs_$user[0]"};
|
||||
@@ -104,6 +105,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 +484,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'});
|
||||
@@ -625,7 +628,8 @@ else {
|
||||
delete($miniserv{"preroot_".$username});
|
||||
if ($user->{'theme'}) {
|
||||
$miniserv{"preroot_".$user->{'name'}} =
|
||||
$user->{'theme'}.($user->{'overlay'} ? " ".$user->{'overlay'} : "");
|
||||
$user->{'theme'}.($user->{'overlay'} ?
|
||||
" ".$user->{'overlay'} : "");
|
||||
}
|
||||
elsif (defined($user->{'theme'})) {
|
||||
$miniserv{"preroot_".$user->{'name'}} = "";
|
||||
@@ -672,7 +676,8 @@ else {
|
||||
$user->{'temppass'},":",
|
||||
$user->{'twofactor_provider'},":",
|
||||
$user->{'twofactor_id'},":",
|
||||
$user->{'twofactor_apikey'},
|
||||
$user->{'twofactor_apikey'},":",
|
||||
$user->{'email'},
|
||||
"\n");
|
||||
}
|
||||
else {
|
||||
@@ -703,11 +708,17 @@ else {
|
||||
delete($gconfig{"lang_".$username});
|
||||
$gconfig{"lang_".$user->{'name'}} = $user->{'lang'} if ($user->{'lang'});
|
||||
delete($gconfig{"langauto_".$username});
|
||||
$gconfig{"langauto_".$user->{'name'}} = $user->{'langauto'} if (defined($user->{'langauto'}));
|
||||
$gconfig{"langauto_".$user->{'name'}} = $user->{'langauto'}
|
||||
if (defined($user->{'langauto'}));
|
||||
delete($gconfig{"langneutral_".$username});
|
||||
$gconfig{"langneutral_".$user->{'name'}} = $user->{'langneutral'}
|
||||
if (defined($user->{'langneutral'}));
|
||||
delete($gconfig{"locale_".$username});
|
||||
$gconfig{"locale_".$user->{'name'}} = $user->{'locale'} if (defined($user->{'locale'}));
|
||||
$gconfig{"locale_".$user->{'name'}} = $user->{'locale'}
|
||||
if (defined($user->{'locale'}));
|
||||
delete($gconfig{"dateformat_".$username});
|
||||
$gconfig{"dateformat_".$user->{'name'}} = $user->{'dateformat'} if (defined($user->{'dateformat'}));
|
||||
$gconfig{"dateformat_".$user->{'name'}} = $user->{'dateformat'}
|
||||
if (defined($user->{'dateformat'}));
|
||||
delete($gconfig{"notabs_".$username});
|
||||
$gconfig{"notabs_".$user->{'name'}} = $user->{'notabs'}
|
||||
if ($user->{'notabs'});
|
||||
@@ -720,7 +731,8 @@ else {
|
||||
delete($gconfig{"theme_".$username});
|
||||
if ($user->{'theme'}) {
|
||||
$gconfig{"theme_".$user->{'name'}} =
|
||||
$user->{'theme'}.($user->{'overlay'} ? " ".$user->{'overlay'} : "");
|
||||
$user->{'theme'}.($user->{'overlay'} ?
|
||||
" ".$user->{'overlay'} : "");
|
||||
}
|
||||
elsif (defined($user->{'theme'})) {
|
||||
$gconfig{"theme_".$user->{'name'}} = '';
|
||||
@@ -1408,20 +1420,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 +1726,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 +2337,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'});
|
||||
|
||||
@@ -1 +1 @@
|
||||
<header>IP-Zugriffskontrolle</header>Die IP-Zugriffskontrolle für Benutzer:innen funktioniert auf die gleiche Weise wie die globale IP-Zugriffskontrolle im Webmin-Konfigurationsmodul. Nur wenn ein:e Benutzer:in die globalen Regeln passiert, werden die hier definierten Einschränkungen ebenfalls überprüft.<p><footer>
|
||||
<header>IP-Zugriffskontrolle</header>Die IP-Zugriffskontrolle für Benutzer funktioniert auf die gleiche Weise wie die globale IP-Zugriffskontrolle im Webmin-Konfigurationsmodul. Nur wenn ein Benutzer die globalen Regeln passiert, werden die hier definierten Einschränkungen ebenfalls überprüft.<p><footer>
|
||||
1
acl/help/ips.de.neutral.html
Normal file
1
acl/help/ips.de.neutral.html
Normal file
@@ -0,0 +1 @@
|
||||
<header>IP-Zugriffskontrolle</header>Die IP-Zugriffskontrolle für Benutzer:innen funktioniert auf die gleiche Weise wie die globale IP-Zugriffskontrolle im Webmin-Konfigurationsmodul. Nur wenn ein:e Benutzer:in die globalen Regeln passiert, werden die hier definierten Einschränkungen ebenfalls überprüft.<p><footer>
|
||||
@@ -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>" : "");
|
||||
}
|
||||
|
||||
483
acl/lang/de
483
acl/lang/de
@@ -1,41 +1,42 @@
|
||||
index_title=Webmin-Benutzer
|
||||
index_user=Benutzer
|
||||
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 erstellen.
|
||||
index_screate=Neuen sicheren Benutzer erstellen.
|
||||
index_convert=Unix-Benutzer in Webmin-Benutzer 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_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=Benutzerliste
|
||||
index_none=Keine
|
||||
index_edit=Modul-ACL bearbeiten:
|
||||
index_edit=Modul-ACL bearbeiten :
|
||||
index_global=Globale ACL
|
||||
index_users=Webmin-Benutzer
|
||||
index_groups=Webmin-Gruppen
|
||||
index_group=Gruppe
|
||||
index_nousers=Keine bearbeitbaren Webmin-Benutzer 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 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 : $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_title3=Sicheren Webmin-Benutzer erstellen
|
||||
edit_readonly=Dieser Webmin-Benutzer 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 dennoch zu bearbeiten – beachten Sie jedoch, dass manuelle Änderungen überschrieben werden können!
|
||||
edit_rights=Zugriffsrechte für Webmin-Benutzer
|
||||
edit_user=Benutzername
|
||||
edit_cloneof=Webmin-Benutzer klonen
|
||||
edit_cloneof=Webmin-Benutzer 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,152 +44,154 @@ 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 $1 mit ID $2
|
||||
edit_twofactorcancel=Pflicht zur Zwei-Faktor-Authentifizierung entfernen
|
||||
edit_twofactornone=Noch nicht eingerichtet
|
||||
edit_twofactoradd=Zwei-Faktor für Benutzer 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_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 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
|
||||
edit_risk_low=Normaler Benutzer
|
||||
edit_groupmods=(Zusätzlich zu Modulen aus der Gruppe)
|
||||
edit_euser=Sie dürfen diesen Benutzer nicht bearbeiten
|
||||
edit_groupmods=(Zusätzlich zu den Modulen aus der Gruppe)
|
||||
edit_euser=Sie dürfen diesen:die Benutzer nicht bearbeiten
|
||||
edit_egone=Ausgewählter Benutzer existiert nicht mehr!
|
||||
edit_ecreate=Sie dürfen keine Benutzer 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_hide=Nicht verwendete ausblenden
|
||||
edit_switch=Zu Benutzer wechseln
|
||||
edit_forgot=Link zum Zurücksetzen des Passworts senden
|
||||
edit_return=Webmin-Benutzer
|
||||
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_err=Speichern des:der Benutzer fehlgeschlagen
|
||||
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_eunixname=Der Benutzername '$1' ist kein Unix-Benutzer und kann daher nicht im sicheren Modus 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_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“ 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 '$1' existiert nicht
|
||||
save_emod=Sie können keinen Zugriff auf das Modul '$1' gewähren
|
||||
save_emod=Zugriff auf Modul '$1' kann nicht gewährt werden
|
||||
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_euser=Sie dürfen diesen:die Benutzer 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 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_euser=Sie dürfen diesen:die Benutzer nicht löschen
|
||||
delete_eanonuser=Dieser Benutzer 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 Benutzername 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 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_gr=Mitglieder von $1
|
||||
acl_users=Benutzer, die bearbeitet werden können
|
||||
acl_users=Bearbeitbare Benutzer
|
||||
acl_mods=Kann Zugriff gewähren auf
|
||||
acl_all=Alle Module
|
||||
acl_own=Nur eigene Module
|
||||
@@ -198,42 +201,42 @@ acl_delete=Kann Benutzer löschen?
|
||||
acl_rename=Kann Benutzer 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 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_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_1=Gleiche Modul-ACL wie Ersteller
|
||||
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 wechseln?
|
||||
acl_times=Kann erlaubte Anmeldezeiten ändern?
|
||||
acl_pass=Kann Passwortbeschränkungen ändern?
|
||||
acl_sql=Kann Benutzer- und Gruppendatenbank konfigurieren?
|
||||
|
||||
log_modify=Webmin-Benutzer $1 geändert
|
||||
log_modify=Webmin-Benutzer $1 bearbeitet
|
||||
log_rename=Webmin-Benutzer $1 in $2 umbenannt
|
||||
log_create=Webmin-Benutzer $1 erstellt
|
||||
log_clone=Webmin-Benutzer $1 nach $2 kopiert
|
||||
log_clone=Webmin-Benutzer $1 zu $2 geklont
|
||||
log_delete=Webmin-Benutzer $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_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
|
||||
@@ -242,199 +245,202 @@ log_delete_users=$1 Webmin-Benutzer gelöscht
|
||||
log_delete_groups=$1 Webmin-Gruppen gelöscht
|
||||
log_joingroup=$1 Webmin-Benutzer zur Gruppe $2 hinzugefügt
|
||||
log_pass=Passwortbeschränkungen geändert
|
||||
log_unix=Unix-Authentifizierung geändert
|
||||
log_sync=Unix-Benutzersynchronisierung geändert
|
||||
log_unix=Unix-Benutzerauthentifizierung geändert
|
||||
log_sync=Unix-Benutzersynchronisation 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_onefactor=Zwei-Faktor-Authentifizierung für Benutzer $1 deaktiviert
|
||||
log_forgot_send=E-Mail zum Zurücksetzen des Passworts für Benutzer $1 an $2 gesendet
|
||||
log_forgot_reset=Passwort für Benutzer $1 mit E-Mail $2 zurückgesetzt
|
||||
log_forgot_admin=Administrator hat E-Mail zum Zurücksetzen des Passworts für Benutzer $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 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 $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_ecannot=Sie dürfen keine Unix-Benutzer konvertieren
|
||||
convert_nogroups=Auf Ihrem System wurden keine Webmin-Gruppen definiert. Mindestens eine Gruppe muss erstellt werden, bevor Benutzer konvertiert werden können, um die Berechtigungen festzulegen.
|
||||
convert_desc=Mit diesem Formular können bestehende Unix-Benutzer in Webmin-Benutzer konvertiert werden. 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_2=Alle außer Benutzer
|
||||
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_group=Neuen Benutzer Webmin-Gruppe zuweisen
|
||||
convert_sync2=Passwort künftig mit Unix-Benutzer synchronisieren?
|
||||
convert_ok=Jetzt konvertieren
|
||||
convert_err=Fehler bei der Konvertierung der Benutzer
|
||||
convert_eusers=Keine Benutzer zur Konvertierung eingegeben
|
||||
convert_err=Benutzer konnten nicht konvertiert werden
|
||||
convert_eusers=Keine zu konvertierenden Benutzer 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 diese Gruppe nicht zuweisen
|
||||
convert_skip=$1 wird übersprungen
|
||||
convert_exists=$1 existiert bereits
|
||||
convert_invalid=$1 ist kein gültiger Webmin-Benutzername
|
||||
convert_added=$1 wird hinzugefügt
|
||||
convert_msg=Konvertiere Unix-Benutzer...
|
||||
convert_msg=Konvertiere Unix-Benutzer …
|
||||
convert_user=Unix-Benutzer
|
||||
convert_action=Durchgeführte Aktion
|
||||
convert_action=Ausgeführte Aktion
|
||||
convert_done=$1 Benutzer konvertiert, $2 ungültig, $3 bereits vorhanden, $4 ausgeschlossen.
|
||||
convert_users=Zu konvertierende Benutzer
|
||||
|
||||
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
|
||||
sync_desc=Mit diesem Formular können Sie die automatische Synchronisation von über Webmin erstellten Unix-Benutzer und Benutzer 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 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 erstellen, wenn ein Unix-Benutzer erstellt wird.
|
||||
sync_update=Den zugehörigen Webmin-Benutzer aktualisieren, wenn ein Unix-Benutzer aktualisiert wird.
|
||||
sync_delete=Den zugehörigen Webmin-Benutzer löschen, wenn ein Unix-Benutzer gelöscht wird.
|
||||
sync_modify=Den zugehörigen Webmin-Benutzer umbenennen, wenn ein Unix-Benutzer umbenannt wird.
|
||||
sync_group=Neuen Benutzer Webmin-Gruppe zuweisen
|
||||
sync_unix=Passwort für neue Benutzer 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_err=Speichern der Unix-Authentifizierung fehlgeschlagen
|
||||
unix_desc=Auf dieser Seite können Sie Webmin so konfigurieren, dass Anmeldeversuche gegen die SystemBenutzerliste und PAM validiert werden. Dies ist nützlich, wenn Sie vielen bestehenden Unix-Benutzer 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_sel=Folgenden Unix-Benutzer Anmeldung erlauben ..
|
||||
unix_mode=Erlauben
|
||||
unix_mall=Alle Benutzer
|
||||
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_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 Zugang erlauben
|
||||
unix_allow=Nur gelisteten Unix-Benutzer Zugang erlauben
|
||||
unix_deny=Gelisteten Unix-Benutzer Zugang verweigern
|
||||
unix_none=Keine Benutzer eingegeben
|
||||
unix_euser='$1' ist kein gültiger Benutzername
|
||||
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 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_ewhogroup=Fehlende Gruppe in Zeile $1
|
||||
unix_ewhouser=Fehlender Benutzer in Zeile $1
|
||||
unix_enone=Keine Unix-Benutzer oder Gruppen zur Erlaubnis 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_sudo=Benutzer, 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
|
||||
|
||||
sessions_title=Aktuelle Anmelde-Sitzungen
|
||||
sessions_title=Aktuelle Anmeldesitzungen
|
||||
sessions_id=Sitzungs-ID
|
||||
sessions_user=Webmin-Benutzer
|
||||
sessions_login=Zuletzt aktiv um
|
||||
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_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 aus einer RBAC-Datenbank (Role Based Access Control) statt aus Webmins eigenen Konfigurationsdateien abzuleiten. Sobald RBAC aktiviert ist, werden alle Berechtigungen für Benutzer 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 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 konnten nicht gelöscht werden
|
||||
udeletes_jerr=Benutzer 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_rusure=Möchten Sie die $1 ausgewählten Benutzer wirklich löschen? Alle deren Zugriffseinstellungen und Benutzerdetails gehen dabei verloren.
|
||||
udeletes_users=Ausgewählte Benutzer: $1
|
||||
udeletes_ok=Benutzer löschen
|
||||
udeletes_ereadonly=Einer der ausgewählten Benutzer 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 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_header=Optionen für Datenbank-Backend für Benutzer und Gruppen
|
||||
sql_host=Hostname
|
||||
sql_user=Benutzername
|
||||
sql_pass=Passwort
|
||||
sql_db=Datenbankname
|
||||
sql_ssl=Verbindung Verschlüsselung
|
||||
sql_ssl=Verbindungsverschlüsselung
|
||||
sql_ssl0=Keine
|
||||
sql_ssl1=SSL
|
||||
sql_ssl2=TLS
|
||||
@@ -442,70 +448,87 @@ sql_userclass=Objektklasse für Benutzer
|
||||
sql_groupclass=Objektklasse für Gruppen
|
||||
sql_euserclass=Fehlende oder ungültige Objektklasse für Benutzer
|
||||
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 und Gruppen verwenden
|
||||
sql_mysql=MySQL-Datenbank verwenden
|
||||
sql_postgresql=PostgreSQL-Datenbank verwenden
|
||||
sql_ldap=LDAP-Server verwenden
|
||||
sql_prefix=Erstellen unter DN
|
||||
sql_prefix=Unter DN erstellen
|
||||
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_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 und Gruppen fehlgeschlagen
|
||||
sql_ehost=Fehlender oder nicht auflösbarer Hostname
|
||||
sql_euser=Fehlender oder ungültiger Benutzername (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- 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- 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_err=Erstellen der Benutzer- 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 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_err=Zwei-Faktor-Authentifizierung konnte nicht eingerichtet werden
|
||||
twofactor_euser=Ihr Webmin-Benutzer 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_already=Ihr Webmin-Login hat bereits Zwei-Faktor-Authentifizierung mit Anbieter $1 und Konto-ID $2 aktiviert.
|
||||
twofactor_already2=Webmin-Login $3 hat bereits Zwei-Faktor-Authentifizierung mit Anbieter $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 $1 läuft ..
|
||||
twofactor_failed=.. Registrierung 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_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 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 Webmin-Benutzer 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 hat keine Sudo-Rechte
|
||||
forgot_eunix=Der eingegebene sudo-fähige Benutzer existiert nicht!
|
||||
|
||||
154
acl/lang/de.neutral
Normal file
154
acl/lang/de.neutral
Normal file
@@ -0,0 +1,154 @@
|
||||
index_title=Webmin-Benutzer:innen
|
||||
index_user=Benutzer:in
|
||||
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_return=Benutzer:innenliste
|
||||
index_users=Webmin-Benutzer:innen
|
||||
index_nousers=Keine bearbeitbaren Webmin-Benutzer:innen definiert.
|
||||
index_sync=Synchronisation von Unix-Benutzer:innen konfigurieren
|
||||
index_eulist=Fehler beim Auflisten der Benutzer:innen : $1
|
||||
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_twofactorprov=Verwendet Anbieter:in $1 mit ID $2
|
||||
edit_twofactoradd=Zwei-Faktor für Benutzer:in aktivieren
|
||||
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_risk_medium=Admin-Benutzer:in
|
||||
edit_risk_low=Normale:r Benutzer:in
|
||||
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_switch=Zu Benutzer:in wechseln
|
||||
edit_return=Webmin-Benutzer:in
|
||||
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_edeny=Sie können sich selbst keinen Zugriff auf das Modul „Webmin-Benutzer:innen“ verweigern
|
||||
save_eunix=Der Unix-Benutzer:in '$1' existiert nicht
|
||||
save_ecreate=Sie dürfen keine Benutzer:innen erstellen
|
||||
save_euser=Sie dürfen diesen:die Benutzer:in nicht bearbeiten
|
||||
delete_err=Benutzer:in konnte nicht gelöscht werden
|
||||
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_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.
|
||||
acl_uall=Alle Benutzer:innen
|
||||
acl_uthis=Diese:r Benutzer:in
|
||||
acl_usel=Ausgewählte Benutzer:innen ..
|
||||
acl_users=Bearbeitbare Benutzer:innen
|
||||
acl_create=Kann neue Benutzer:innen erstellen?
|
||||
acl_delete=Kann Benutzer:innen löschen?
|
||||
acl_rename=Kann Benutzer:innen umbenennen?
|
||||
acl_euser=Sie dürfen die ACL dieses:dieser Benutzer:in nicht bearbeiten
|
||||
acl_gassign=Kann Benutzer:innen Gruppen zuweisen
|
||||
acl_perms=Neu erstellte Benutzer:innen erhalten
|
||||
acl_perms_1=Gleiche Modul-ACL wie Ersteller:in
|
||||
acl_switch=Kann zu anderen Benutzer:innen wechseln?
|
||||
acl_sql=Kann Benutzer:innen- und Gruppendatenbank konfigurieren?
|
||||
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_cert=Zertifikat für Benutzer:in $1 ausgestellt
|
||||
log_switch=Zu Webmin-Benutzer:in $1 gewechselt
|
||||
log_delete_users=$1 Webmin-Benutzer:innen gelöscht
|
||||
log_joingroup=$1 Webmin-Benutzer:innen zur Gruppe $2 hinzugefügt
|
||||
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_members=Mitglieds-Benutzer:innen und -Gruppen
|
||||
gdelete_desc=Möchten Sie die Gruppe $1 und ihre Mitglieds-Benutzer:innen $2 wirklich löschen?
|
||||
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_err=Benutzer:innen konnten nicht konvertiert werden
|
||||
convert_eusers=Keine zu konvertierenden Benutzer:innen eingegeben
|
||||
convert_ewgroup2=Sie dürfen neuen Benutzer:innen diese Gruppe nicht zuweisen
|
||||
convert_invalid=$1 ist kein gültiger Webmin-Benutzer:innenname
|
||||
convert_msg=Konvertiere Unix-Benutzer:innen …
|
||||
convert_user=Unix-Benutzer:in
|
||||
convert_done=$1 Benutzer:innen konvertiert, $2 ungültig, $3 bereits vorhanden, $4 ausgeschlossen.
|
||||
convert_users=Zu konvertierende Benutzer:innen
|
||||
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_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.
|
||||
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_mall=Alle Benutzer:innen
|
||||
unix_user=Unix-Benutzer:in ..
|
||||
unix_who=Benutzer:in oder Gruppe
|
||||
unix_to=Als Webmin-Benutzer:in
|
||||
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_shells=Unix-Benutzer:innen mit nicht gelisteten Shells den Zugang verweigern
|
||||
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_utable=Erlaubte Unix-Benutzer:innen
|
||||
sessions_user=Webmin-Benutzer:in
|
||||
switch_euser=Sie dürfen nicht zu diesem:r Benutzer:in wechseln
|
||||
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_ok=RBAC-Integration ist auf diesem System verfügbar und kann auf der Seite „Webmin-Benutzer:in bearbeiten“ benutzerspezifisch aktiviert werden.
|
||||
udeletes_err=Benutzer:innen konnten nicht gelöscht werden
|
||||
udeletes_jerr=Benutzer:innen konnten nicht zur Gruppe hinzugefügt werden
|
||||
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_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.
|
||||
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_user=Benutzer:innenname
|
||||
sql_userclass=Objektklasse für Benutzer:innen
|
||||
sql_euserclass=Fehlende oder ungültige Objektklasse für Benutzer:innen
|
||||
sql_none=Nur lokale Dateien zur Speicherung von Benutzer:innen und Gruppen verwenden
|
||||
sql_addto0=Neue Benutzer:innen zur oben ausgewählten Datenbank hinzufügen
|
||||
sql_addto1=Neue Benutzer:innen zu lokalen Dateien hinzufügen
|
||||
sql_err=Speichern der Datenbankeinstellungen für Benutzer:innen und Gruppen fehlgeschlagen
|
||||
sql_euser=Fehlender oder ungültiger Benutzer:innenname (keine Leerzeichen erlaubt)
|
||||
sql_tableerr=Einstellungen der Benutzer:innen- und Gruppendatenbank sind gültig, aber einige für Webmin erforderliche Tabellen fehlen : $1
|
||||
sql_dnerr=Einstellungen der Benutzer:innen- und Gruppendatenbank sind gültig, aber der für Webmin erforderliche LDAP-DN fehlt : $1
|
||||
make_title=Benutzer:innen- und Gruppentabellen erstellen
|
||||
make_err=Erstellen der Benutzer:innen- und Gruppentabellen fehlgeschlagen
|
||||
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.
|
||||
twofactor_euser=Ihr Webmin-Benutzer:in wurde nicht gefunden!
|
||||
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_enrolling=Registrierung für Zwei-Faktor-Authentifizierung bei Anbieter:in $1 läuft ..
|
||||
twofactor_done=.. abgeschlossen. Ihre ID bei diesem Anbieter:in ist <tt>$1</tt>.
|
||||
forgot_user=Passwort für Benutzer:in zurücksetzen
|
||||
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_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'}) {
|
||||
|
||||
@@ -549,7 +549,7 @@ local($i, @old, $lref, $change, $len, $v);
|
||||
@old = &find_directive_struct($_[0], $_[2]);
|
||||
local @files;
|
||||
for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
$v = ${$_[1]}[$i];
|
||||
$v = $i<@{$_[1]} ? $_[1]->[$i] : undef;
|
||||
if ($i >= @old) {
|
||||
# a new directive is being added. If other directives of this
|
||||
# type exist, add it after them. Otherwise, put it at the end of
|
||||
@@ -580,7 +580,8 @@ for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
|
||||
# in this section
|
||||
local($f, %v, $j);
|
||||
$f = $_[2]->[0]->{'file'};
|
||||
for($j=0; $_[2]->[$j]->{'file'} eq $f; $j++) { }
|
||||
for($j=0; $j < @{$_[2]} &&
|
||||
$_[2]->[$j]->{'file'} eq $f; $j++) { }
|
||||
$lref = &read_file_lines($f);
|
||||
if ($_[2] eq $_[3]) {
|
||||
# Top-level, so add to the end of the file
|
||||
@@ -654,16 +655,19 @@ if ($newdir) {
|
||||
if ($isrc) {
|
||||
&recursive_set_indent($newdir, $isrc->{'indent'});
|
||||
}
|
||||
$newdir{'words'} = &wsplit($newdir{'value'});
|
||||
@newlines = &directive_lines($newdir);
|
||||
}
|
||||
if ($olddir && $newdir) {
|
||||
# Update in place
|
||||
$newdir->{'words'} = &wsplit($newdir->{'value'});
|
||||
if ($first) {
|
||||
# Just changing first and last line, like virtualhost IP
|
||||
$lref->[$olddir->{'line'}] = $newlines[0];
|
||||
$lref->[$olddir->{'eline'}] = $newlines[$#newlines];
|
||||
$olddir->{'name'} = $newdir->{'name'};
|
||||
$olddir->{'value'} = $newdir->{'value'};
|
||||
$olddir->{'words'} = $newdir->{'words'};
|
||||
}
|
||||
else {
|
||||
# Re-writing whole block
|
||||
@@ -707,6 +711,7 @@ elsif (!$olddir && $newdir) {
|
||||
$addpos--;
|
||||
$addline = $pconf->[$addpos]->{'eline'}+1;
|
||||
}
|
||||
$newdir->{'words'} = &wsplit($newdir->{'value'});
|
||||
$newdir->{'file'} = $file;
|
||||
$newdir->{'line'} = $addline;
|
||||
$newdir->{'eline'} = $addline + scalar(@newlines) - 1;
|
||||
@@ -748,13 +753,11 @@ foreach my $dir (@$dirs) {
|
||||
if ($dir->{'type'}) {
|
||||
# Do sub-members too
|
||||
&recursive_set_lines_files($dir->{'members'}, $line+1, $file);
|
||||
$line += scalar(@{$dir->{'members'}})+1;
|
||||
$dir->{'eline'} = $line;
|
||||
$line += scalar(grep { $_->{'name'} ne 'dummy' }
|
||||
@{$dir->{'members'}})+1;
|
||||
}
|
||||
else {
|
||||
$dir->{'eline'} = $line;
|
||||
}
|
||||
$line++;
|
||||
$dir->{'eline'} = $line;
|
||||
$line++ if ($dir->{'name'} ne 'dummy');
|
||||
}
|
||||
return $line;
|
||||
}
|
||||
@@ -778,17 +781,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 +1469,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'});
|
||||
|
||||
@@ -1 +1 @@
|
||||
<header>Bacula-Backup</header>Bacula ist eine Sammlung von Computerprogrammen, die es Ihnen (oder der/dem Systemadministrator:in) ermöglichen, Backups, Wiederherstellungen und Überprüfungen von Computerdaten über ein Netzwerk mit verschiedenen Computertypen zu verwalten. Bacula kann auch auf einem einzelnen Computer ausgeführt werden und Backups auf verschiedene Medientypen, einschließlich Bandlaufwerken und Festplatten, erstellen.<p>Technisch gesehen ist es ein netzwerkbasiertes Client/Server-Backup-Programm. Bacula ist relativ einfach zu bedienen und effizient, während es viele erweiterte Speicherverwaltungsfunktionen bietet, die das Auffinden und Wiederherstellen verlorener oder beschädigter Dateien erleichtern. Durch sein modulares Design ist Bacula von kleinen Einzelcomputersystemen bis hin zu großen Netzwerken mit Hunderten von Computern skalierbar.<p>Das Bacula-System ist in drei separate Daemons unterteilt, die theoretisch auf verschiedenen Hosts laufen können:<br><dl><dt>Director<dd>Der Director speichert Jobs, Clients und die meisten anderen Konfigurationseinstellungen und ist für das Initiieren von Backup-Jobs verantwortlich. Dieses Webmin-Modul muss auf dem System ausgeführt werden, auf dem der Director installiert ist.<dt>File-Daemon<dd>Dieser Daemon ist für das Lesen der zu sichernden Dateien verantwortlich. Eine Bacula-Konfiguration kann mehrere File-Daemons enthalten, die jeweils auf einem zu sichernden System ausgeführt werden.<dt>Storage-Daemon<dd>Der Storage-Daemon ist für das Schreiben der Daten auf das endgültige Backup-Medium, wie ein Bandlaufwerk oder eine Datei, verantwortlich. In der Regel wird nur ein solcher Daemon benötigt (meist auf demselben Host wie der Director), aber in komplexeren Bacula-Setups können mehrere Systeme mit unterschiedlichen Bandlaufwerken zur Lastverteilung eingesetzt werden.</dl>Dieses Webmin-Modul kann ein System verwalten, auf dem ein oder mehrere Bacula-Daemons installiert sind.<p><footer>
|
||||
<header>Bacula-Backup</header>Bacula ist eine Sammlung von Computerprogrammen, die es Ihnen (oder dem Systemadministrator) ermöglichen, Backups, Wiederherstellungen und Überprüfungen von Computerdaten über ein Netzwerk mit verschiedenen Computertypen zu verwalten. Bacula kann auch auf einem einzelnen Computer ausgeführt werden und Backups auf verschiedene Medientypen, einschließlich Bandlaufwerken und Festplatten, erstellen.<p>Technisch gesehen ist es ein netzwerkbasiertes Client/Server-Backup-Programm. Bacula ist relativ einfach zu bedienen und effizient, während es viele erweiterte Speicherverwaltungsfunktionen bietet, die das Auffinden und Wiederherstellen verlorener oder beschädigter Dateien erleichtern. Durch sein modulares Design ist Bacula von kleinen Einzelcomputersystemen bis hin zu großen Netzwerken mit Hunderten von Computern skalierbar.<p>Das Bacula-System ist in drei separate Daemons unterteilt, die theoretisch auf verschiedenen Hosts laufen können:<br><dl><dt>Director<dd>Der Director speichert Jobs, Clients und die meisten anderen Konfigurationseinstellungen und ist für das Initiieren von Backup-Jobs verantwortlich. Dieses Webmin-Modul muss auf dem System ausgeführt werden, auf dem der Director installiert ist.<dt>File-Daemon<dd>Dieser Daemon ist für das Lesen der zu sichernden Dateien verantwortlich. Eine Bacula-Konfiguration kann mehrere File-Daemons enthalten, die jeweils auf einem zu sichernden System ausgeführt werden.<dt>Storage-Daemon<dd>Der Storage-Daemon ist für das Schreiben der Daten auf das endgültige Backup-Medium, wie ein Bandlaufwerk oder eine Datei, verantwortlich. In der Regel wird nur ein solcher Daemon benötigt (meist auf demselben Host wie der Director), aber in komplexeren Bacula-Setups können mehrere Systeme mit unterschiedlichen Bandlaufwerken zur Lastverteilung eingesetzt werden.</dl>Dieses Webmin-Modul kann ein System verwalten, auf dem ein oder mehrere Bacula-Daemons installiert sind.<p><footer>
|
||||
1
bacula-backup/help/intro.de.neutral.html
Normal file
1
bacula-backup/help/intro.de.neutral.html
Normal file
@@ -0,0 +1 @@
|
||||
<header>Bacula-Backup</header>Bacula ist eine Sammlung von Computerprogrammen, die es Ihnen (oder der/dem Systemadministrator:in) ermöglichen, Backups, Wiederherstellungen und Überprüfungen von Computerdaten über ein Netzwerk mit verschiedenen Computertypen zu verwalten. Bacula kann auch auf einem einzelnen Computer ausgeführt werden und Backups auf verschiedene Medientypen, einschließlich Bandlaufwerken und Festplatten, erstellen.<p>Technisch gesehen ist es ein netzwerkbasiertes Client/Server-Backup-Programm. Bacula ist relativ einfach zu bedienen und effizient, während es viele erweiterte Speicherverwaltungsfunktionen bietet, die das Auffinden und Wiederherstellen verlorener oder beschädigter Dateien erleichtern. Durch sein modulares Design ist Bacula von kleinen Einzelcomputersystemen bis hin zu großen Netzwerken mit Hunderten von Computern skalierbar.<p>Das Bacula-System ist in drei separate Daemons unterteilt, die theoretisch auf verschiedenen Hosts laufen können:<br><dl><dt>Director<dd>Der Director speichert Jobs, Clients und die meisten anderen Konfigurationseinstellungen und ist für das Initiieren von Backup-Jobs verantwortlich. Dieses Webmin-Modul muss auf dem System ausgeführt werden, auf dem der Director installiert ist.<dt>File-Daemon<dd>Dieser Daemon ist für das Lesen der zu sichernden Dateien verantwortlich. Eine Bacula-Konfiguration kann mehrere File-Daemons enthalten, die jeweils auf einem zu sichernden System ausgeführt werden.<dt>Storage-Daemon<dd>Der Storage-Daemon ist für das Schreiben der Daten auf das endgültige Backup-Medium, wie ein Bandlaufwerk oder eine Datei, verantwortlich. In der Regel wird nur ein solcher Daemon benötigt (meist auf demselben Host wie der Director), aber in komplexeren Bacula-Setups können mehrere Systeme mit unterschiedlichen Bandlaufwerken zur Lastverteilung eingesetzt werden.</dl>Dieses Webmin-Modul kann ein System verwalten, auf dem ein oder mehrere Bacula-Daemons installiert sind.<p><footer>
|
||||
@@ -1 +1 @@
|
||||
<header>Bandbreitenüberwachung</header>Dieses Modul kann zur Erstellung einfacher Berichte über die Bandbreitennutzung nach Port, Host, Protokoll und Zeit für den ausgehenden oder weitergeleiteten Datenverkehr Ihres Systems verwendet werden. Es ist sowohl für eigenständige Hosts als auch für Systeme, die als Gateway (möglicherweise mit NAT) für ein Netzwerk fungieren, nützlich.<p>Bevor das Modul genutzt werden kann, müssen mehrere Firewall-Regeln und ein Syslog-Eintrag eingerichtet werden, um den über Ihr System gesendeten und empfangenen Datenverkehr zu erfassen. Während der Einrichtung muss das externe Netzwerkinterface des Systems ausgewählt werden, auf dem der Datenverkehr überwacht wird. Dies ist typischerweise das PPP-Interface für eine DFÜ- oder ADSL-Verbindung oder das Ethernet-Interface, das mit dem Kabelmodem oder dem Upstream-Router verbunden ist.<p>Sobald mindestens eine Stunde an Datenverkehr erfasst wurde, kann das Modul Berichte generieren, die den Datenverkehr nach einer der folgenden Kategorien zusammenfassen:<ul><li><b>Stunde</b><br>Datum und Stunde, zu der die Daten empfangen wurden.<li><b>Tag</b><br>Datum, an dem die Daten empfangen wurden.<li><b>Host</b><br>Der Host im internen Netzwerk oder die Firewall, die die Daten gesendet oder empfangen hat.<li><b>Interner Port</b><br>Der Port auf einem internen oder Firewall-Host, an den die Daten gesendet wurden. Diese Ansicht ist nützlich, um zu bestimmen, wie viel Datenverkehr durch Verbindungen zu Ihren Servern generiert wird.<li><b>Externer Port</b><br>Der Port auf einem Server außerhalb Ihres Netzwerks, an den Daten gesendet wurden. Dies kann verwendet werden, um festzustellen, welche Dienste von Benutzer:innen Ihres Netzwerks genutzt werden.<li><b>Port</b><br>Sowohl interne als auch externe Ports. Diese Ansicht ist hilfreich, um die gesamte Netzwerknutzung nach Diensttyp zu vergleichen.</ul>Zusätzlich kann der Bericht auf bestimmte Hosts, Ports oder Protokolle beschränkt werden. Der Host kann als IP-Adresse, Hostname oder Netzwerkadresse (z. B. 192.168.1.0) eingegeben werden. Der Port kann als Name oder Nummer eingegeben werden und umfasst sowohl TCP- als auch UDP-Verbindungen.<p>Der Bericht kann außerdem auf Datenverkehr innerhalb eines bestimmten Zeitraums begrenzt werden, indem die Felder <b>Für Datenverkehr nach</b> und <b>Für Datenverkehr vor</b> verwendet werden. Da der Datenverkehr stündlich zusammengefasst wird, kann die Einschränkung nicht feiner als auf Stundenbasis erfolgen.<p>Die Option <b>Nur Server-Ports?</b> ist nützlich, wenn nach eingehenden, ausgehenden oder allen Ports gefiltert wird. Sie beschränkt die Anzeige auf Ports, die üblicherweise von Servern verwendet werden (Ports unter 1024 oder benannte Ports), um die Anzeige nicht mit Zählungen von clientseitigen Ports zu überladen, die oft weniger relevant sind.<p>Die Option <b>Hostnamen auflösen?</b> kann aktiviert werden, wenn der Bericht nach Hosts gefiltert wird. Dies führt dazu, dass alle IP-Adressen nach Möglichkeit in Hostnamen aufgelöst werden.<p><hr>
|
||||
<header>Bandbreitenüberwachung</header>Dieses Modul kann zur Erstellung einfacher Berichte über die Bandbreitennutzung nach Port, Host, Protokoll und Zeit für den ausgehenden oder weitergeleiteten Datenverkehr Ihres Systems verwendet werden. Es ist sowohl für eigenständige Hosts als auch für Systeme, die als Gateway (möglicherweise mit NAT) für ein Netzwerk fungieren, nützlich.<p>Bevor das Modul genutzt werden kann, müssen mehrere Firewall-Regeln und ein Syslog-Eintrag eingerichtet werden, um den über Ihr System gesendeten und empfangenen Datenverkehr zu erfassen. Während der Einrichtung muss das externe Netzwerkinterface des Systems ausgewählt werden, auf dem der Datenverkehr überwacht wird. Dies ist typischerweise das PPP-Interface für eine DFÜ- oder ADSL-Verbindung oder das Ethernet-Interface, das mit dem Kabelmodem oder dem Upstream-Router verbunden ist.<p>Sobald mindestens eine Stunde an Datenverkehr erfasst wurde, kann das Modul Berichte generieren, die den Datenverkehr nach einer der folgenden Kategorien zusammenfassen:<ul><li><b>Stunde</b><br>Datum und Stunde, zu der die Daten empfangen wurden.<li><b>Tag</b><br>Datum, an dem die Daten empfangen wurden.<li><b>Host</b><br>Der Host im internen Netzwerk oder die Firewall, die die Daten gesendet oder empfangen hat.<li><b>Interner Port</b><br>Der Port auf einem internen oder Firewall-Host, an den die Daten gesendet wurden. Diese Ansicht ist nützlich, um zu bestimmen, wie viel Datenverkehr durch Verbindungen zu Ihren Servern generiert wird.<li><b>Externer Port</b><br>Der Port auf einem Server außerhalb Ihres Netzwerks, an den Daten gesendet wurden. Dies kann verwendet werden, um festzustellen, welche Dienste von Benutzer Ihres Netzwerks genutzt werden.<li><b>Port</b><br>Sowohl interne als auch externe Ports. Diese Ansicht ist hilfreich, um die gesamte Netzwerknutzung nach Diensttyp zu vergleichen.</ul>Zusätzlich kann der Bericht auf bestimmte Hosts, Ports oder Protokolle beschränkt werden. Der Host kann als IP-Adresse, Hostname oder Netzwerkadresse (z. B. 192.168.1.0) eingegeben werden. Der Port kann als Name oder Nummer eingegeben werden und umfasst sowohl TCP- als auch UDP-Verbindungen.<p>Der Bericht kann außerdem auf Datenverkehr innerhalb eines bestimmten Zeitraums begrenzt werden, indem die Felder <b>Für Datenverkehr nach</b> und <b>Für Datenverkehr vor</b> verwendet werden. Da der Datenverkehr stündlich zusammengefasst wird, kann die Einschränkung nicht feiner als auf Stundenbasis erfolgen.<p>Die Option <b>Nur Server-Ports?</b> ist nützlich, wenn nach eingehenden, ausgehenden oder allen Ports gefiltert wird. Sie beschränkt die Anzeige auf Ports, die üblicherweise von Servern verwendet werden (Ports unter 1024 oder benannte Ports), um die Anzeige nicht mit Zählungen von clientseitigen Ports zu überladen, die oft weniger relevant sind.<p>Die Option <b>Hostnamen auflösen?</b> kann aktiviert werden, wenn der Bericht nach Hosts gefiltert wird. Dies führt dazu, dass alle IP-Adressen nach Möglichkeit in Hostnamen aufgelöst werden.<p><hr>
|
||||
1
bandwidth/help/intro.de.neutral.html
Normal file
1
bandwidth/help/intro.de.neutral.html
Normal file
@@ -0,0 +1 @@
|
||||
<header>Bandbreitenüberwachung</header>Dieses Modul kann zur Erstellung einfacher Berichte über die Bandbreitennutzung nach Port, Host, Protokoll und Zeit für den ausgehenden oder weitergeleiteten Datenverkehr Ihres Systems verwendet werden. Es ist sowohl für eigenständige Hosts als auch für Systeme, die als Gateway (möglicherweise mit NAT) für ein Netzwerk fungieren, nützlich.<p>Bevor das Modul genutzt werden kann, müssen mehrere Firewall-Regeln und ein Syslog-Eintrag eingerichtet werden, um den über Ihr System gesendeten und empfangenen Datenverkehr zu erfassen. Während der Einrichtung muss das externe Netzwerkinterface des Systems ausgewählt werden, auf dem der Datenverkehr überwacht wird. Dies ist typischerweise das PPP-Interface für eine DFÜ- oder ADSL-Verbindung oder das Ethernet-Interface, das mit dem Kabelmodem oder dem Upstream-Router verbunden ist.<p>Sobald mindestens eine Stunde an Datenverkehr erfasst wurde, kann das Modul Berichte generieren, die den Datenverkehr nach einer der folgenden Kategorien zusammenfassen:<ul><li><b>Stunde</b><br>Datum und Stunde, zu der die Daten empfangen wurden.<li><b>Tag</b><br>Datum, an dem die Daten empfangen wurden.<li><b>Host</b><br>Der Host im internen Netzwerk oder die Firewall, die die Daten gesendet oder empfangen hat.<li><b>Interner Port</b><br>Der Port auf einem internen oder Firewall-Host, an den die Daten gesendet wurden. Diese Ansicht ist nützlich, um zu bestimmen, wie viel Datenverkehr durch Verbindungen zu Ihren Servern generiert wird.<li><b>Externer Port</b><br>Der Port auf einem Server außerhalb Ihres Netzwerks, an den Daten gesendet wurden. Dies kann verwendet werden, um festzustellen, welche Dienste von Benutzer:innen Ihres Netzwerks genutzt werden.<li><b>Port</b><br>Sowohl interne als auch externe Ports. Diese Ansicht ist hilfreich, um die gesamte Netzwerknutzung nach Diensttyp zu vergleichen.</ul>Zusätzlich kann der Bericht auf bestimmte Hosts, Ports oder Protokolle beschränkt werden. Der Host kann als IP-Adresse, Hostname oder Netzwerkadresse (z. B. 192.168.1.0) eingegeben werden. Der Port kann als Name oder Nummer eingegeben werden und umfasst sowohl TCP- als auch UDP-Verbindungen.<p>Der Bericht kann außerdem auf Datenverkehr innerhalb eines bestimmten Zeitraums begrenzt werden, indem die Felder <b>Für Datenverkehr nach</b> und <b>Für Datenverkehr vor</b> verwendet werden. Da der Datenverkehr stündlich zusammengefasst wird, kann die Einschränkung nicht feiner als auf Stundenbasis erfolgen.<p>Die Option <b>Nur Server-Ports?</b> ist nützlich, wenn nach eingehenden, ausgehenden oder allen Ports gefiltert wird. Sie beschränkt die Anzeige auf Ports, die üblicherweise von Servern verwendet werden (Ports unter 1024 oder benannte Ports), um die Anzeige nicht mit Zählungen von clientseitigen Ports zu überladen, die oft weniger relevant sind.<p>Die Option <b>Hostnamen auflösen?</b> kann aktiviert werden, wenn der Bericht nach Hosts gefiltert wird. Dies führt dazu, dass alle IP-Adressen nach Möglichkeit in Hostnamen aufgelöst werden.<p><hr>
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user