Compare commits

...

405 Commits
2.300 ... 2.400

Author SHA1 Message Date
Ilia Ross
08c77d156b Update changelog 2025-05-28 21:15:22 +03:00
Ilia Ross
b1904a6271 Fix reading EOL data correctly 2025-05-28 20:21:08 +03:00
Ilia Ross
16e1135bd1 Fix to keep new lines consistent and nice when installing 2025-05-28 12:42:22 +03:00
Ilia Ross
8dada63714 Add a better way to match standard php-common package
fe0ad881f2 (r158184285)
2025-05-28 12:13:19 +03:00
Jamie Cameron
a477a59ca7 Merge branch 'master' of github.com:webmin/webmin 2025-05-27 19:33:59 -07:00
Jamie Cameron
c5e8c77526 Keep the words array in sync with value 2025-05-27 19:33:52 -07:00
Ilia Ross
8f6a94c537 Fix to only show neutral language checkbox if languages supports it 2025-05-27 03:47:04 +03:00
Ilia Ross
fdad726013 Fix printing footer unless theme was changed 2025-05-27 03:12:38 +03:00
Jamie Cameron
65fb187afe Merge branch 'master' of github.com:webmin/webmin 2025-05-26 17:05:58 -07:00
Jamie Cameron
825ce6154c Don't reference config array entries that don't exist 2025-05-26 17:05:51 -07:00
Ilia Ross
43bdc70248 Update changelog 3/3 2025-05-27 03:00:24 +03:00
Ilia Ross
8e81bd0f93 Add all new UI functions from the theme to the core
[no-build]
2025-05-27 01:46:31 +03:00
Ilia Ross
8fa410792e Fix to improve print and output when deleting package(s) 2025-05-27 00:44:56 +03:00
Jamie Cameron
4c5560544a Remove unnecessary file existence checks, because we're going to attempt to read the files anyway 2025-05-26 14:18:53 -07:00
Ilia Ross
752e722beb Fix to remove excessive new line 2025-05-26 23:55:19 +03:00
Ilia Ross
6899d86d26 Fix to use inline submit
[no-build]
2025-05-26 21:27:54 +03:00
Ilia Ross
c85128bb4d Fix to fit in width 2025-05-26 19:50:48 +03:00
Jamie Cameron
159cdc8057 Merge pull request #2483 from webmin/dev/php-installer
Fix issues in new PHP package manager
2025-05-26 09:15:32 -07:00
Ilia Ross
ccf7c08147 Fix to break conditionally as it fits sometimes 2025-05-26 17:17:50 +03:00
Ilia Ross
53d0566410 Fix to always break line 2025-05-26 16:56:03 +03:00
Ilia Ross
5d83d4040f Add support for showing gender-neutral translations
https://github.com/webmin/webmin/discussions/2482
https://forum.virtualmin.com/t/on-the-rejection-of-gender-neutral-language/133527

833292c0d1

fe064dd57d

4a19a6460b
2025-05-26 16:46:09 +03:00
Ilia Ross
833292c0d1 Add exported German language-neutral strings
https://github.com/webmin/webmin/discussions/2482
https://forum.virtualmin.com/t/on-the-rejection-of-gender-neutral-language/133527
2025-05-26 14:48:11 +03:00
Ilia Ross
f34e0c797b Update changelog 2/2 2025-05-26 14:05:11 +03:00
Ilia Ross
425ca01c5a Fix to simplify extending names
https://github.com/webmin/webmin/pull/2483#discussion_r2106361464
2025-05-26 12:52:47 +03:00
Jamie Cameron
27ee0cc475 Merge branch 'master' of github.com:webmin/webmin 2025-05-25 19:53:22 -07:00
Jamie Cameron
ea7b52d65b dummy directive doesn't use up any lines 2025-05-25 19:53:11 -07:00
Ilia Ross
d88c35bf6f Fix to allow installing PHP packages when none installed 2025-05-26 02:28:31 +03:00
Ilia Ross
eac8684eb2 Fix to print install button for other case scenarios 2025-05-26 01:58:32 +03:00
Ilia Ross
92dc310ce0 Fix to return a new list instead 2025-05-26 01:21:01 +03:00
Ilia Ross
52e24d98e2 Fix to fill in missing binary path for default PHP versions (EL systems) 2025-05-26 00:57:20 +03:00
Ilia Ross
b56c8eb19b Fix to simplify the code and make it work in Perl below version 5.14 2025-05-26 00:20:10 +03:00
Ilia Ross
200b295da0 Fix to call it after check 2025-05-26 00:04:05 +03:00
Ilia Ross
fe0ad881f2 Fix to skip listing annoying and useless meta package on Debian/Ubuntu 2025-05-25 23:38:00 +03:00
Ilia Ross
8c0974ac1d Fix to suggest larges version on top 2025-05-25 23:20:44 +03:00
Ilia Ross
9e552ab7f4 Fix to correctly clear runtime packages on EL systems 2025-05-25 23:16:27 +03:00
Ilia Ross
f684a3b8f2 Fix to prioritize versioned common package over standard when displaying 2025-05-25 23:08:43 +03:00
Ilia Ross
426c144c6c Fix to uninstall properly on Debian (all packages too) 2025-05-25 23:00:50 +03:00
Ilia Ross
1bcf541f85 Fix to uninstall properly on Debian 2025-05-25 22:56:50 +03:00
Ilia Ross
b9bde5bee0 Fix to properly delete and protect Debian dependencies 2025-05-25 22:50:44 +03:00
Ilia Ross
45c4ea214e Add proper function to extend installable packages 2025-05-25 22:11:47 +03:00
Ilia Ross
de834b9cce Fix to drop useless and occupying short version column 2025-05-25 21:38:39 +03:00
Ilia Ross
24c319fcc4 Fix to track based on full version to avoid false positive for standard package 2025-05-25 21:36:09 +03:00
Ilia Ross
44d8e9191f Fix to significantly simplify check for all available PHP packages 2025-05-25 21:23:18 +03:00
Ilia Ross
72673cd72b Fix to factor out code to get PHP version, minor version and binary 2025-05-25 21:08:47 +03:00
Ilia Ross
22280486a9 Fix to correctly display executables 2025-05-25 20:20:42 +03:00
Ilia Ross
0f7cc02c8d Fix to significantly simplify check for different distros 2025-05-25 20:01:40 +03:00
Ilia Ross
6ca55b1944 Fix to remove changelog submit 2025-05-25 17:26:52 +03:00
Ilia Ross
6abf9c093e Update changelog 1/2 2025-05-25 17:19:41 +03:00
Ilia Ross
8cce264953 Fix issues in new PHP package manager 2025-05-25 17:13:11 +03:00
Ilia Ross
8ff86fd7f8 Fix to show PHP version for install cleanly 2025-05-25 17:11:43 +03:00
Ilia Ross
5790358580 Fix to delete dependencies on Debian too 2025-05-25 16:17:06 +03:00
Ilia Ross
c87994e531 Fix to print install PHP button when no version available 2025-05-25 15:44:07 +03:00
Ilia Ross
02d142ced2 Fix to print delete confirm in standard centered way 2025-05-25 15:42:06 +03:00
Ilia Ross
f3d25ab96b Fix to use new API to display 'used by' domains nicely 2025-05-25 13:29:54 +03:00
Ilia Ross
73df190a7e Fix to keep labels consistent 2025-05-25 13:17:12 +03:00
Ilia Ross
b48e310a02 Fix to use neutral language key not to trigger button styling 2025-05-25 12:54:57 +03:00
Ilia Ross
ac8eac2082 Fix to use German rules most people already accept 3/3
https://github.com/webmin/webmin/discussions/2482
2025-05-24 22:27:46 +03:00
Jamie Cameron
fd122a0430 Merge branch 'master' of github.com:webmin/webmin 2025-05-24 12:08:19 -07:00
Jamie Cameron
3ca8cf64d6 start of changelog for version 2.400 2025-05-24 12:08:11 -07:00
Ilia Ross
532a8042c7 Fix to use German rules most people already accept 2/2
https://github.com/webmin/webmin/discussions/2482
2025-05-24 21:46:34 +03:00
Ilia Ross
3849615cfd Fix encoding bug 2025-05-24 21:40:10 +03:00
Jamie Cameron
e4035af18d New version update 2025-05-24 11:14:13 -07:00
Ilia Ross
501698ad4b Fix to use German rules most people already accept 1/2
https://github.com/webmin/webmin/discussions/2482
2025-05-24 20:43:25 +03:00
Ilia Ross
b65a787dbe Fix to perfect font alignment in the logo 2025-05-23 20:55:27 +03:00
Ilia Ross
023b2d453e Fix Webmin logo name
[no-build]
2025-05-23 20:18:41 +03:00
Ilia Ross
5ae96fdca5 Add Usermin logo 2025-05-23 20:18:14 +03:00
Ilia Ross
ef487fc14c Fix logo weight 2025-05-23 19:50:13 +03:00
Ilia Ross
4857b349d6 Add brand icon as it looks way better 2025-05-23 17:32:06 +03:00
Jamie Cameron
7c51438334 Show forgotten password field on PAM form 2025-05-22 16:53:17 -07:00
Jamie Cameron
3a81bdd87c Merge branch 'master' of github.com:webmin/webmin 2025-05-21 16:38:55 -07:00
Jamie Cameron
5b93fb30bd Make field names closer match the config file
https://github.com/webmin/webmin/issues/2478
2025-05-21 16:37:52 -07:00
Jamie Cameron
aaccc9720f Merge pull request #2481 from webmin/dev/forgot-compatibility
Fix to make forgot links compatible across themes
2025-05-21 16:09:26 -07:00
Ilia Ross
856c350a0b Fix to load theme handle first 2025-05-21 22:02:02 +03:00
Ilia Ross
c974bda52c Fix to make forgot links compatible across themes 2025-05-21 19:59:28 +03:00
Ilia Ross
4e2307376d Merge pull request #2480 from MacSteini/master
Updated de
2025-05-21 15:58:27 +03:00
MacSteini
a6f0d4cbcd Updated de 2025-05-21 12:55:29 +01:00
Jamie Cameron
8358bd20af Turn off caching when reading network manager config files, as they may be modified by the nm cli command
https://forum.virtualmin.com/t/virtualmin-virtualserver-ip-copy-to-services/133442/12
2025-05-20 16:43:39 -07:00
Jamie Cameron
693f3c792e Allow sessions to have a max lifetime 2025-05-19 22:18:33 -07:00
Jamie Cameron
c126e9f93e Allow sessions to have a max lifetime 2025-05-19 22:17:59 -07:00
Jamie Cameron
62a52bfc56 Code cleanups 2025-05-19 21:56:46 -07:00
Jamie Cameron
4afe69addf Line length cleanup 2025-05-19 21:56:11 -07:00
Jamie Cameron
1f33234db2 Differentiate temporary session IDs for single-use logins from real sessions 2025-05-19 21:55:56 -07:00
Jamie Cameron
7dda4c62a9 Use the sudo username in the email 2025-05-19 18:47:52 -07:00
Jamie Cameron
1780dc2b16 Merge pull request #2477 from webmin/dev/reset-password-form-simplification
Fix to simplify reset-password UI for sudo-capable users
2025-05-19 15:45:52 -07:00
Ilia Ross
7b326c7317 Fix to improve the label 2025-05-20 01:20:41 +03:00
Ilia Ross
17433e479a Fix to roll back to using existing test 2025-05-20 00:26:39 +03:00
Ilia Ross
5210f37478 Fix to simplify reset-password UI for sudo-capable users 2025-05-19 15:40:53 +03:00
Ilia Ross
8d2b6bf328 Fix consistency for the message
[no-build]
2025-05-19 15:35:52 +03:00
Ilia Ross
967e168e4b Fix to correctly specify the username in the link 2025-05-19 13:35:11 +03:00
Ilia Ross
396ac2f546 Fix to use full param names for readability and consistency 2025-05-15 13:45:19 +03:00
Ilia Ross
6ab3247d3d Fix not to show redundant hostname #2473 2025-05-15 13:16:41 +03:00
Ilia Ross
806c8f4128 Fix indent 2025-05-15 11:31:28 +03:00
Ilia Ross
afaa49591a Fix reverse flag going to the command line #2473 2025-05-15 11:31:00 +03:00
Ilia Ross
3b82950571 Fix to respect reverse order flag #2473 2025-05-15 11:14:55 +03:00
Ilia Ross
41d27ec4b4 Fix tooltip ridiculous border radius
[no-build]
2025-05-14 23:38:18 +03:00
Ilia Ross
bff5837cc0 Fix details arrow in inline mode
[no-build]
2025-05-14 23:27:44 +03:00
Ilia Ross
5395dc57fe Add API to control line-break height 2025-05-14 01:36:02 +03:00
Jamie Cameron
f5ff544439 Use format params 2025-05-10 21:58:17 -07:00
Jamie Cameron
24d17dc0c8 Keep the split value in sync with the full value 2025-05-10 16:36:03 -07:00
Jamie Cameron
4504c74504 Merge branch 'master' of github.com:webmin/webmin 2025-05-10 09:12:03 -07:00
Jamie Cameron
ffe27ae348 Disallow underscores by default in new installs
https://github.com/webmin/webmin/issues/2470
2025-05-10 09:11:54 -07:00
Ilia Ross
23b0e2491e Revert incorrect "Fix to preserve ACL even for modules with noacl flag"
This reverts commit 201d817e9d.
2025-05-09 02:08:15 +03:00
Jamie Cameron
412cc0b612 Merge branch 'master' of github.com:webmin/webmin 2025-05-08 16:06:02 -07:00
Jamie Cameron
89bac6adaa Require that the user whose password is being reset is a local Unix user 2025-05-08 16:05:56 -07:00
Jamie Cameron
0956ff159f Merge pull request #2469 from webmin/dev/config-noacl-mods
Add ability for modules with no ACL to edit config
2025-05-08 15:55:34 -07:00
Ilia Ross
dd34823ed3 Fix not to change uconfig 2025-05-09 00:43:39 +03:00
Ilia Ross
575957325d Add ability for modules with no ACL to edit config 2025-05-08 14:13:18 +03:00
Jamie Cameron
d029b1c165 Add extra check to make sure the sudo-capable user is actually capable 2025-05-07 14:26:41 -07:00
Jamie Cameron
ea151bebfd Fix permissions 2025-05-05 22:02:18 -07:00
Jamie Cameron
22946b82de Add option to show password reset link in the browser 2025-05-05 22:01:56 -07:00
Jamie Cameron
46455e1cf0 Lock link tracking files 2025-05-05 20:08:12 -07:00
Jamie Cameron
c5357f13f6 Merge branch 'master' of github.com:webmin/webmin 2025-05-05 19:05:52 -07:00
Jamie Cameron
cfeaa8fcaa Creating link directory 2025-05-05 19:05:46 -07:00
Ilia Ross
addab7910e Fix input fields widths 2025-05-06 01:28:05 +03:00
Ilia Ross
068780d24a Fix breaking user picking 2025-05-06 01:27:28 +03:00
Ilia Ross
0e78b101b4 Fix inputs width
[no-build]
2025-05-05 20:41:52 +03:00
Ilia Ross
33e5a7fdfc Fix missing label 2025-05-05 20:29:45 +03:00
Ilia Ross
88c9fa54f1 Fix to use neutral key name 2025-05-05 16:17:19 +03:00
Ilia Ross
125a744f2e Fix to load missing theme libraries 2025-05-05 16:12:52 +03:00
Jamie Cameron
8a1e3d2b2f Clean up code and add formal params 2025-05-04 19:59:52 -07:00
Jamie Cameron
5820a98f5a TLS directives need quoting 2025-05-04 18:37:49 -07:00
Jamie Cameron
36af12d39f Internal dev version bump 2025-05-04 16:55:48 -07:00
Jamie Cameron
b0557de951 DNS over TLS is only supported in version 9.17+ 2025-05-04 16:52:16 -07:00
Jamie Cameron
63710a4c44 The admin can send a password reset email for any user, even if they don't have email setup yet 2025-05-04 15:56:55 -07:00
Jamie Cameron
b3e2dabe84 Make comment more descriptive 2025-05-04 15:54:34 -07:00
Jamie Cameron
ff742eddc1 Add ability for the master admin to send forgotten password reset links 2025-05-04 15:54:08 -07:00
Jamie Cameron
d0f31831b6 Extract out functions for re-use 2025-05-04 15:39:37 -07:00
Jamie Cameron
97a9f57cbb Handle case where there is no system action
https://github.com/webmin/webmin/issues/1542
2025-05-04 11:52:30 -07:00
Jamie Cameron
b74d6ca7cc Merge branch 'master' of github.com:webmin/webmin 2025-05-04 11:41:51 -07:00
Jamie Cameron
3ba8f4a6fe Fixes to get password changes for sudo users working 2025-05-04 11:40:58 -07:00
Ilia Ross
9a48d874e2 Add support for printing more headers 2025-05-04 13:18:08 +03:00
Jamie Cameron
c5b0e4c7ff Work on password reset for sudo-capable users 2025-05-03 22:05:46 -07:00
Jamie Cameron
cc0968be8f Cleaner to use temporary variables rather than modifying gconfig 2025-05-03 20:49:04 -07:00
Ilia Ross
f63f3a6817 Add password reset link expires in option 2025-05-03 17:54:56 +03:00
Ilia Ross
b8820c6562 Add password recovery throttling 2025-05-03 01:27:50 +03:00
Ilia Ross
35bdbe19f0 Fix typo 2025-05-03 00:57:38 +03:00
Ilia Ross
76e4cd70b3 Fix to drop dots for consistency 2025-05-03 00:13:51 +03:00
Jamie Cameron
bc996a6263 Merge branch 'master' of github.com:webmin/webmin 2025-05-01 11:47:09 -07:00
Jamie Cameron
265e11eceb Support axosyslog in version detection
https://github.com/webmin/webmin/issues/2465
2025-05-01 11:46:40 -07:00
Ilia Ross
56423b138e Fix bug upon initial feature enrolment
We should always use `[Definition]` to add changes, with defaults simply hardcode rather than populated from the `[DEFAULT] section. This is how at least it was originally implemented.

Initial feature created in response to: https://forum.virtualmin.com/t/change-fail2ban-times/124311/3?u=ilia

This fix triggered by:
https://forum.virtualmin.com/t/fail2ban-intrusion-detector-firewalld-default-jail-options/133201/13?u=ilia
2025-05-01 01:37:27 +03:00
Ilia Ross
80760677c7 Fix Fail2Ban version detection
https://forum.virtualmin.com/t/fail2ban-intrusion-detector-firewalld-default-jail-options/133201/11?u=ilia
2025-05-01 00:56:36 +03:00
Ilia Ross
6367879266 Fix to denote default log filter
https://forum.virtualmin.com/t/fail2ban-intrusion-detector-firewalld-default-jail-options/133201/6?u=ilia
2025-04-30 22:41:44 +03:00
Ilia Ross
a80870980d Fix to correctly merge custom *.conf files
https://forum.virtualmin.com/t/fail2ban-intrusion-detector-firewalld-default-jail-options/133201/4?u=ilia
2025-04-30 22:32:41 +03:00
Ilia Ross
a7676f4004 Fix to break long lines nicer
https://github.com/webmin/webmin/pull/2463#issuecomment-2836316659
2025-04-30 14:43:16 +03:00
Jamie Cameron
cbcdeb9cb0 Fix TLS log parsing 2025-04-29 22:16:55 -07:00
Jamie Cameron
6415b0d8a8 Log original script path, and show it 2025-04-29 11:37:55 -07:00
Jamie Cameron
d821d58fb4 Fix typo 2025-04-29 11:27:03 -07:00
Jamie Cameron
f7f3023191 Clean up repeated and inconsistent script name variables 2025-04-29 11:17:13 -07:00
Jamie Cameron
910d011edd Make the banner cookie HTTPS only 2025-04-29 10:37:38 -07:00
Jamie Cameron
5e00b93b5c Merge pull request #2462 from webmin/dev/miniserv-2fa-probe
Add ability to make authentication in two steps
2025-04-27 21:29:31 -07:00
Ilia Ross
ff4e0ae386 Fix to split lines up
https://github.com/webmin/webmin/pull/2462#pullrequestreview-2797791341
2025-04-28 03:33:52 +03:00
Jamie Cameron
a2e6afbd06 Fix check for key in use 2025-04-27 17:28:05 -07:00
Jamie Cameron
723e169905 Allow TLS key to be selectd for a port 2025-04-27 17:22:28 -07:00
Ilia Ross
19bfe18e0f Add ability to make authentication in two steps 2025-04-28 00:55:59 +03:00
Ilia Ross
b48f6d3406 Fix to drop obsolete code 2025-04-28 00:51:04 +03:00
Jamie Cameron
6743d3b4c6 Add support for IPv6 listen-on 2025-04-27 14:22:01 -07:00
Jamie Cameron
172c504abb Add check for in-use TLS keys 2025-04-27 11:23:54 -07:00
Jamie Cameron
b92d8d11d6 Make sure atd is running if needed
https://github.com/webmin/webmin/issues/2461
2025-04-27 09:52:43 -07:00
Jamie Cameron
d073280e80 Factor out check for atd init script 2025-04-27 09:44:53 -07:00
Jamie Cameron
ebf1138788 CGI to save TLS keys 2025-04-26 21:50:44 -07:00
Jamie Cameron
3706f7862b Certs can start with BEGIN PUBLIC KEY 2025-04-26 20:25:31 -07:00
Jamie Cameron
9bd96b6448 Rate limit before checking if the user exists 2025-04-26 14:44:37 -07:00
Jamie Cameron
7ff37cd12f Add a delay based on the number of tries 2025-04-26 14:42:18 -07:00
Ilia Ross
55fd013b35 Fix to remove pointless new line that looks bad 2025-04-26 21:40:00 +03:00
Ilia Ross
014f949fdb Fix language when logging 2025-04-26 21:38:04 +03:00
Ilia Ross
cb3bde5374 Fix to set email correctly when resetting password 2025-04-26 21:37:42 +03:00
Jamie Cameron
4fbc57350f Add logging for password resets 2025-04-26 10:04:43 -07:00
Jamie Cameron
924e7e8ff5 Remove useless variable 2025-04-26 08:49:49 -07:00
Jamie Cameron
cb7de4edec Remove duplicate variable 2025-04-26 08:32:28 -07:00
Jamie Cameron
f17be6a383 Always show option to download in the background immediately 2025-04-25 20:11:45 -07:00
Jamie Cameron
bcfb698ac6 Detect case where cache is somehow empty
https://github.com/webmin/webmin/issues/2460
2025-04-25 19:50:25 -07:00
Jamie Cameron
8bd079f52f Merge branch 'master' of github.com:webmin/webmin 2025-04-25 16:51:05 -07:00
Jamie Cameron
cef76798f8 clean/reset environment will preserve variables 2025-04-25 16:50:58 -07:00
Ilia Ross
4f046c1d6d Fix to quote escape labels 2025-04-25 23:58:06 +03:00
Ilia Ross
cc83641c11 Add ability for themes to handle each "forgot_*" page 2025-04-25 20:01:30 +03:00
Ilia Ross
971c526ade Fix to lower the static delay for now 2025-04-25 11:39:27 +03:00
Jamie Cameron
717f0b1100 Work on form to edit a TLS key 2025-04-24 21:39:47 -07:00
Jamie Cameron
6ff0e50e94 Merge branch 'master' of github.com:webmin/webmin 2025-04-24 21:12:13 -07:00
Jamie Cameron
0de1844755 Work on DNS over TLS 2025-04-24 21:07:03 -07:00
Ilia Ross
e55f3bdb74 Add ability for the theme to construct own forgot link 2025-04-25 00:49:39 +03:00
Ilia Ross
25d2edeeaf Add a cooldown period for password reset request rates 2025-04-24 21:06:43 +03:00
Ilia Ross
201d817e9d Fix to preserve ACL even for modules with noacl flag
What matters now is that the module gets removed from ACLs, and the new module config page (that didn't exist before) stops working. So the simplest and best solution is to keep the module visible normally, but skip editable ACLs—since the plugin is meant to be controlled by Virtualmin permissions, and access to its config should always be allowed.

https://github.com/webmin/webmin/pull/2426/files#r1972474077
2025-04-24 11:25:03 +03:00
Ilia Ross
b2626ca9c1 Fix to default to useradmin module even for anon user 2025-04-24 10:24:17 +03:00
Ilia Ross
0553cae4e3 Fix to avoid printing switch theme code unless authed 2025-04-24 10:23:14 +03:00
Jamie Cameron
740368fc0d Use correct password hashing function 2025-04-23 20:58:48 -07:00
Jamie Cameron
7c932d3cb0 No need to create extra variables 2025-04-23 20:56:21 -07:00
Jamie Cameron
b46043de84 Check for the d variable properly 2025-04-23 20:51:59 -07:00
Ilia Ross
69e3844cec Fix critical issues when resetting the password
1. If changing password in `/etc/shadow` clone user correctly
 2. Restart miniserv after changing password in `/etc/shadow`
 3. Use correct hashing format when changing Webmin and Unix password
2025-04-23 15:18:09 +03:00
Ilia Ross
215b1332fc Fix to check if domain hash isn't empty 2025-04-23 14:15:56 +03:00
Jamie Cameron
bb8b926d52 Properly declare $d 2025-04-22 22:01:21 -07:00
Ilia Ross
967d519943 Fix to replace the table with much simpler and better layout 2025-04-22 22:25:38 +03:00
Ilia Ross
c84ef98016 Fix default mode to be login and password 2025-04-22 15:27:34 +03:00
Ilia Ross
fd153b28f3 Add improvements to the UI 2025-04-22 15:26:41 +03:00
Ilia Ross
7a3210849d Fix default system type config option to show label correctly 2025-04-22 13:45:52 +03:00
Ilia Ross
fb8339a3ca Fix to always default to fast mode
https://github.com/webmin/webmin/issues/2458#issuecomment-2818513756
2025-04-22 13:40:54 +03:00
Jamie Cameron
e0b6ae7691 Obsfucate email for display 2025-04-21 22:04:03 -07:00
Jamie Cameron
3f5ae24beb Ask for password twice 2025-04-21 19:56:20 -07:00
Jamie Cameron
8cd74c1c35 Don't show Virtualmin output when resetting a password 2025-04-21 16:55:35 -07:00
Jamie Cameron
e983ded21e Include forgotten password pages in package 2025-04-21 16:51:51 -07:00
Ilia Ross
0037d9a9ca Fix to use fast PRC mode by default 2025-04-21 16:28:38 +03:00
Jamie Cameron
a49b5fc0cb Sure as hell nobody is running BIND 8 anymore 2025-04-20 21:20:12 -07:00
Jamie Cameron
e87fc560c9 Move random flag check into a function 2025-04-20 21:15:49 -07:00
Jamie Cameron
ac21e39a88 Use standard functions for version checks 2025-04-20 20:50:51 -07:00
Jamie Cameron
d070176535 Cleanup and reformat code 2025-04-20 20:35:22 -07:00
Jamie Cameron
4c60aa1865 Include username is email subject 2025-04-20 11:15:17 -07:00
Jamie Cameron
590a3218be Cleanup old forgotten password reset key 2025-04-20 11:14:05 -07:00
Jamie Cameron
cf50dd2431 Start of work on password reset rate limiting 2025-04-20 10:54:39 -07:00
Jamie Cameron
a04646e785 Cannot reset password if you're logged in 2025-04-20 10:30:14 -07:00
Jamie Cameron
5d2debca26 Code cleanups 2025-04-20 10:24:07 -07:00
Jamie Cameron
79e5d72393 Cleanup forgotten password link files older than 1 day 2025-04-20 10:21:25 -07:00
Jamie Cameron
410d240e8b What if WEBMIN_VAR isn't set 2025-04-20 10:18:36 -07:00
Jamie Cameron
c074e150f6 Merge branch 'master' of github.com:webmin/webmin 2025-04-20 10:00:55 -07:00
Jamie Cameron
2916f5b723 Define the forgot password dir in init_config 2025-04-20 10:00:47 -07:00
Jamie Cameron
167e8f2b1f support unix user password changes 2025-04-18 22:01:56 -07:00
Ilia Ross
f71c413b6d Fix to allow proxy links to open as they are if the referrer is trusted 2025-04-19 00:31:42 +03:00
Jamie Cameron
a664809bf4 Implement forgotted password reset for Virtualmin users 2025-04-17 22:11:39 -07:00
Jamie Cameron
d8513dbd9e Fix case where error is not called in a module 2025-04-17 22:08:53 -07:00
Jamie Cameron
268b72917d CGI to un-install PHP versions 2025-04-17 21:52:25 -07:00
Jamie Cameron
4082701c48 Version detection fixes 2025-04-17 21:48:05 -07:00
Jamie Cameron
4018977aeb Code and variable scope cleanups
https://github.com/webmin/webmin/issues/2458
2025-04-17 14:15:50 -07:00
Jamie Cameron
ff0da2ca90 Code cleanups
https://github.com/webmin/webmin/issues/2458
2025-04-17 14:05:40 -07:00
Jamie Cameron
badb5b60f7 Merge branch 'master' of github.com:webmin/webmin 2025-04-17 07:39:22 -07:00
Jamie Cameron
a9652f4c88 Minor version bump 2025-04-17 07:39:12 -07:00
Ilia Ross
2febc12586 Merge pull request #2456 from MacSteini/master
Update de
2025-04-16 15:27:03 +03:00
MacSteini
625fff0c6f Update de 2025-04-16 11:32:22 +01:00
Jamie Cameron
ea973b571b Fix password change for regular webmin users 2025-04-15 21:23:10 -07:00
Jamie Cameron
ba6da02850 Don't show module index link if not in a module 2025-04-15 21:19:59 -07:00
Jamie Cameron
f15b147bd0 No need to check for the same condition twice 2025-04-15 21:16:49 -07:00
Jamie Cameron
4b927ed588 Avoid duplicating the error message 2025-04-15 21:14:06 -07:00
Jamie Cameron
8894ca18cf Merge branch 'master' of github.com:webmin/webmin 2025-04-15 19:05:19 -07:00
Jamie Cameron
d9dbcd9746 More work on forgotten password support 2025-04-14 22:44:55 -07:00
Ilia Ross
00ad7fec7a Fix broken Hungarian translations #2455 2025-04-15 01:04:50 +03:00
Jamie Cameron
f76451975c Fix allow-update check
https://forum.virtualmin.com/t/virtualmin-dns-fails-to-detect-rndc-freeze-is-needed/132653
2025-04-12 21:42:41 -07:00
Jamie Cameron
315664a1e1 Merge branch 'master' of github.com:webmin/webmin 2025-04-12 11:00:36 -07:00
Jamie Cameron
18a4c86e2f Work on forgotten password page 2025-04-12 11:00:30 -07:00
Ilia Ross
f65625047b Fix to convert entities to ASCII before printing to logs 2025-04-12 18:26:26 +03:00
Ilia Ross
8d0f19f64d Fix to simplify error print 2025-04-12 18:25:18 +03:00
Jamie Cameron
a768e731cf Allow anonymous access to the forgotten password CGIs 2025-04-11 22:25:17 -07:00
Jamie Cameron
535accda63 Merge branch 'master' of github.com:webmin/webmin 2025-04-11 22:12:18 -07:00
Jamie Cameron
a6c3cccbac Code cleanups 2025-04-11 22:11:59 -07:00
Ilia Ross
d2d16608dc Fix to filter out potentially dangerous characters
https://github.com/webmin/webmin/issues/1838#issuecomment-2795296531
2025-04-11 14:12:33 +03:00
Ilia Ross
196e3ed6c4 Fix to drop trailing dot to align 2025-04-11 12:43:35 +03:00
Jamie Cameron
acdc65c5d7 Code cleanups 2025-04-10 21:39:48 -07:00
Jamie Cameron
dffdd66fb4 UI to enable forgotten password recovery 2025-04-10 21:37:54 -07:00
Jamie Cameron
f6fc4490db Clean up code and check for existing flag before checking variables 2025-04-10 21:32:52 -07:00
Jamie Cameron
73a882b7a0 Merge branch 'master' of github.com:webmin/webmin 2025-04-10 21:29:30 -07:00
Jamie Cameron
5de2d599a2 Delete webmin module from debian package properly 2025-04-10 21:28:08 -07:00
Ilia Ross
cf2806edac Fix to check if local version of mysqldump supports --set-gtid-purged flag
https://forum.virtualmin.com/t/schedule-backup-database-remote-mysql-error/132874/25?u=ilia
2025-04-10 19:36:01 +03:00
Jamie Cameron
0bf83ea2a8 Merge pull request #2447 from webmin/dev/fix-ssl-scheduled-renewals-for-webmin
Fix to respect option to copy new key and certificate to Webmin
2025-04-09 21:32:41 -07:00
Ilia Ross
544db4b1a9 Merge pull request #2451 from MacSteini/master
Update de
2025-04-09 11:43:28 +03:00
MacSteini
f7e4b57c42 Update de 2025-04-09 09:41:47 +01:00
MacSteini
9e9fc9bc87 Update de 2025-04-09 08:40:45 +01:00
MacSteini
23dff016cd Update de 2025-04-09 08:36:45 +01:00
Jamie Cameron
c191caf04b Add a Webmin user field for email address 2025-04-08 20:58:28 -07:00
Jamie Cameron
05f4b8ff96 log package deletion 2025-04-08 20:19:24 -07:00
Jamie Cameron
f30275b49e Merge branch 'master' of github.com:webmin/webmin 2025-04-08 20:13:05 -07:00
Jamie Cameron
3e1b07f823 Add UI for deleting packages and modules 2025-04-08 20:12:38 -07:00
Jamie Cameron
49990e5949 Merge pull request #2450 from MacSteini/master
Update de
2025-04-08 18:36:35 -07:00
MacSteini
434d46643b Update de 2025-04-09 01:16:04 +01:00
MacSteini
33ed262ff0 Merge branch 'webmin:master' into master 2025-04-09 01:11:14 +01:00
Ilia Ross
0bc1dae232 Fix no use logic 2025-04-08 12:12:07 +03:00
Ilia Ross
2760336b40 Fix to use a different type of double-negation logic
https://github.com/webmin/webmin/pull/2447#discussion_r2030265612
2025-04-07 16:42:48 +03:00
Jamie Cameron
18bd46fe93 Work on support for removing packages 2025-04-06 18:58:58 -07:00
Jamie Cameron
fde1b02880 Factor out function to get domains list 2025-04-06 17:21:16 -07:00
Jamie Cameron
f94dabb88c Add form to install a new PHP package 2025-04-06 12:38:12 -07:00
Jamie Cameron
9e9d674206 Show version used by Virtualmin as well 2025-04-06 11:42:03 -07:00
Jamie Cameron
bd5c0bfa54 No need to show domains column if virtualmin isn't installed 2025-04-06 11:33:49 -07:00
Jamie Cameron
b1fdf42530 Don't set a flag that's already set
https://forum.virtualmin.com/t/schedule-backup-database-remote-mysql-error/132874/10
2025-04-03 21:55:59 -07:00
Ilia Ross
f2cba6af00 Fix to respect option to copy new key and certificate to Webmin
https://forum.virtualmin.com/t/letsencrypt-automatic-certificate-advice/132891/3?u=ilia
2025-04-03 16:51:45 +03:00
Jamie Cameron
e5beb7f022 Merge branch 'master' of github.com:webmin/webmin 2025-04-01 22:25:13 -07:00
Jamie Cameron
99f6638194 Coe style cleaups 2025-04-01 22:25:09 -07:00
Jamie Cameron
aa55e33b7e Work on page to show PHP versions 2025-04-01 22:24:33 -07:00
Ilia Ross
b3f28ee4f7 Fix to use new API for remote QR code generation
https://forum.virtualmin.com/t/two-factor-authenticator-is-missing-google-option/132766/14?u=ilia
2025-04-01 14:49:22 +03:00
MacSteini
2ce1157190 Update de 2025-04-01 10:27:58 +01:00
Ilia Ross
d40dbe391e Update translations 2025-03-31 15:42:27 +03:00
Ilia Ross
0fc1bea55e Update TOTP help page 2025-03-31 15:41:48 +03:00
Ilia Ross
225d113d38 Fix not to switch to remote user in case of admin login 2025-03-30 15:43:46 +03:00
Jamie Cameron
663640d801 Merge pull request #2445 from webmin/dev/fix-listing-mysql-auth-plugins
Fix to dynamically list auth plugins in MySQL/MariaDB
2025-03-29 22:07:05 -05:00
Ilia Ross
8bc5ba7a32 Fix to correctly display hashed passwords in UI 2025-03-29 22:19:44 +02:00
Ilia Ross
a10de5a9dc Fix updating unix_socket plugin in default mode 2025-03-29 21:05:37 +02:00
Ilia Ross
a67e327627 Fix to dynamically list auth plugins in MySQL/MariaDB 2025-03-29 16:25:42 +02:00
Ilia Ross
99889c1f30 Fix to use prepared statement instead when getting account lock status 2025-03-29 16:00:30 +02:00
Ilia Ross
42b8f2c25c Add support for account locking in MariaDB 2025-03-29 15:53:37 +02:00
Ilia Ross
6905548fa4 Fix to correctly set the password with auth plugin
https://forum.virtualmin.com/t/maria-db-failed-to-save-user/132794/4
2025-03-29 15:19:34 +02:00
Jamie Cameron
4ae5ec1694 Fix links to edit pages with non-original zone types
https://github.com/webmin/webmin/issues/2443
2025-03-27 07:22:54 -07:00
Jamie Cameron
f3a841d2b9 Merge branch 'master' of github.com:webmin/webmin 2025-03-23 10:42:53 -07:00
Jamie Cameron
2aee714a81 Handle case where two interfaces are modified
https://github.com/webmin/webmin/issues/1546
2025-03-23 10:42:45 -07:00
Ilia Ross
16fec003dc Fix to use shell command with direct file writing for EOL data file 2025-03-23 15:44:36 +02:00
Ilia Ross
fdbf960a2c Fix to use dmesg -T for Linux systems #2442 2025-03-23 03:07:50 +02:00
Ilia Ross
e8b2b21bce Fix to stop rebuilding on release edit
[no-build]
2025-03-22 18:56:44 +02:00
Ilia Ross
1f07fdb274 Fix to prefer JSON::XS over JSON::PP if available for better performance 2025-03-21 16:55:32 +02:00
Ilia Ross
7b85a75a2b Fix not to add ? unless there is a query
[no-build]
2025-03-21 12:54:08 +02:00
Ilia Ross
2185f2068d Update pod
[no-build]
2025-03-21 12:53:05 +02:00
Jamie Cameron
e60be7133b Add support for template variables to help pages 2025-03-20 20:02:47 -07:00
Jamie Cameron
4021b6d8bb Merge branch 'master' of github.com:webmin/webmin 2025-03-20 15:08:23 -07:00
Jamie Cameron
5a777e9395 Dynamic updates may also be enabled globally
https://forum.virtualmin.com/t/virtualmin-dns-fails-to-detect-rndc-freeze-is-needed/132653
2025-03-20 14:55:54 -07:00
Ilia Ross
51e2ebec70 Merge pull request #2441 from MacSteini/master
Update de
2025-03-20 14:12:43 +02:00
MacSteini
afe100d9f0 Update de 2025-03-20 11:26:56 +00:00
Jamie Cameron
eca9472980 Merge pull request #2437 from webmin/dev/fix-dovecot-listen
Add support to configure listen for any type of address
2025-03-19 18:53:53 -07:00
Ilia Ross
62c02d1273 Add TOML as editable by default #2438 2025-03-20 03:23:33 +02:00
Ilia Ross
d74e7e66c5 Fix to simplify regex check 2025-03-19 13:31:37 +02:00
Jamie Cameron
7250c44648 We can use the -cgi binary as a fallback 2025-03-18 21:58:22 -07:00
Jamie Cameron
31c7e63407 Show the PHP binary and version 2025-03-18 21:56:30 -07:00
Ilia Ross
264ecae147 Fix regex to match more accurately 2025-03-19 02:15:55 +02:00
Ilia Ross
6dd8915808 Fix to simplify check 2025-03-19 02:13:25 +02:00
Ilia Ross
48602503cd Add support to configure listen for any type of address
https://github.com/webmin/webmin/issues/2436
2025-03-18 14:04:38 +02:00
Jamie Cameron
13acaeece7 Stop creating a changelog that is no longer used 2025-03-17 15:49:07 -07:00
Jamie Cameron
bb787e4e1c Merge branch 'master' of github.com:webmin/webmin 2025-03-17 15:15:41 -07:00
Jamie Cameron
d4fab15024 No need to switch users if we already switched 2025-03-17 15:15:36 -07:00
Joe Cooper
1cb53ff00a Merge pull request #2435 from swelljoe/fix-makemoduledeb
We don't have to build debs on Debian
2025-03-16 18:43:50 -05:00
Joe Cooper
8043aabf18 We don't have to build debs on Debian 2025-03-16 18:43:04 -05:00
Ilia Ross
3a94ea3788 Update translations 2025-03-15 21:52:41 +02:00
Jamie Cameron
2183088706 Merge branch 'master' of github.com:webmin/webmin 2025-03-15 09:59:08 -07:00
Jamie Cameron
3736f26a84 Handle case where --to-destination is followed by a bare IPv6 address
https://github.com/webmin/webmin/issues/2434
2025-03-15 09:58:46 -07:00
Ilia Ross
f2307ae1fa Fix to stop using MD5 module that was deprecated 2025-03-14 14:42:49 +02:00
Jamie Cameron
45ef8d11c1 Merge branch 'master' of github.com:webmin/webmin 2025-03-13 17:13:44 -07:00
Jamie Cameron
b17df99700 Check the UID that is used for file operations 2025-03-13 17:13:37 -07:00
Ilia Ross
a3f2e64315 Update date 2025-03-14 00:29:51 +02:00
Ilia Ross
853bde5e1a Update CHANGELOG.md 2025-03-14 00:24:23 +02:00
Ilia Ross
083f9b09a2 Ensure li tags are always closed 2025-03-14 00:10:12 +02:00
Jamie Cameron
81e8fc6c37 Merge branch 'master' of github.com:webmin/webmin 2025-03-12 21:39:35 -07:00
Jamie Cameron
b9d2910d60 Run the man command as nobody, to prevent misuse of the section param 2025-03-12 21:38:04 -07:00
Ilia Ross
574f66c251 Merge pull request #2433 from MacSteini/master
Update de
2025-03-12 18:24:45 +02:00
MacSteini
56a231e78d Update de 2025-03-12 11:44:43 +00:00
Ilia Ross
85e7f6c292 Fix to filter out scope identifier
* We could support it but it would be much more work
2025-03-10 13:32:39 +02:00
Ilia Ross
9fa35cc2c9 Fix to save IPv6 nameservers 2025-03-10 13:31:32 +02:00
Jamie Cameron
23cb74fa35 Add function to show warnings in records 2025-03-09 16:34:14 -07:00
Jamie Cameron
e1d87fac1c Some sendmail hash files end with .cdb
https://forum.virtualmin.com/t/issues-editing-sendmail-8-18-1-on-webmin-2-302/132460/7
2025-03-07 17:21:25 -08:00
Jamie Cameron
9ba9bfd524 Merge branch 'master' of github.com:webmin/webmin 2025-03-06 19:03:47 -08:00
Jamie Cameron
6c5c5fa225 No need for modprobe since IPv6 is always in the kernel these days
https://github.com/webmin/webmin/issues/2432
2025-03-06 18:51:14 -08:00
Ilia Ross
495a196b2f Fix type when adding addr 2025-03-06 14:22:49 +02:00
Jamie Cameron
50eb61b89e Use the ip command instead of ifconfig 2025-03-05 20:56:42 -08:00
Jamie Cameron
3cb358fe9e Preserve ordering in module.info files 2025-03-05 11:23:09 -08:00
Jamie Cameron
67e36009f2 Merge branch 'master' of github.com:webmin/webmin 2025-03-04 18:07:38 -08:00
Jamie Cameron
98bda63c54 Declare missing variable 2025-03-04 18:07:26 -08:00
Ilia Ross
240f1ff5c2 Update changelog 2025-03-04 17:28:59 +02:00
Ilia Ross
a125de44a4 Revert incorrect "Simplify permission mappings"
https://forum.virtualmin.com/t/mariadb-database-server-error-when-i-try-to-create-a-new-user/132406/5?u=ilia
2025-03-04 17:14:11 +02:00
Ilia Ross
431ca1a491 Merge pull request #2429 from MacSteini/master
Update de
2025-03-04 13:41:59 +02:00
MacSteini
f799102e7a Update de 2025-03-04 11:34:53 +00:00
Ilia Ross
ea29e33d53 Update changelog 2025-03-03 16:57:57 +02:00
Jamie Cameron
4c990674eb Merge pull request #2428 from webmin/dev/sync-temp
Fix to flush and sync the temp and new files
2025-03-02 20:02:54 -08:00
Ilia Ross
0943289abe Fix to try to simply flush and sync on existing file handle
https://github.com/webmin/webmin/pull/2428/files#r1976753485
2025-03-03 02:43:18 +02:00
Ilia Ross
707cd42bb5 Fix to flush and sync the temp and new files 2025-03-02 23:45:20 +02:00
Jamie Cameron
554cf0e8af Make variable name clearer, and better handle the case where opening a file fails 2025-03-02 11:20:22 -08:00
Jamie Cameron
c918e6583b Only fall back to writing to the dest file directly in the case of a permission denied when running as root, as root should already have access to all files 2025-03-02 11:12:38 -08:00
Jamie Cameron
37f4fce674 Reduce complexity of post-install code by not loading any theme libraries 2025-03-02 11:00:56 -08:00
Jamie Cameron
f6fe748647 Simplify and clean up code 2025-03-02 10:54:00 -08:00
Jamie Cameron
576fef7c76 Clean up any write_file values with a newline in them 2025-03-01 18:01:59 -08:00
Jamie Cameron
cc908e5336 Merge branch 'master' of github.com:webmin/webmin 2025-03-01 17:44:12 -08:00
Jamie Cameron
cd84d0e74c Make variable local 2025-03-01 17:44:04 -08:00
Ilia Ross
b691873b5a 2.302 2025-03-01 12:41:47 +02:00
Jamie Cameron
26a256b5bc Merge branch 'master' of github.com:webmin/webmin 2025-02-28 10:24:45 -08:00
Jamie Cameron
0786538434 Remove obsolete script 2025-02-28 10:24:38 -08:00
Ilia Ross
f6e1eca6fc Fix to simplify clearing known IPs 2025-02-28 11:23:05 +02:00
Jamie Cameron
72d16272c7 Merge pull request #2426 from webmin/dev/noacl
Add `noacl` support
2025-02-27 17:04:22 -08:00
Ilia Ross
948d3e5a2a Add ability to preserve allow/deny IPs #2427 2025-02-27 23:50:43 +02:00
Ilia Ross
6d10d5aa55 Update translations 2025-02-27 13:56:29 +02:00
Ilia Ross
1cef7128d1 Fix to improve wording when applying network 2025-02-27 13:54:39 +02:00
Jamie Cameron
26f3a2997d Merge branch 'master' of github.com:webmin/webmin 2025-02-26 21:33:55 -08:00
Jamie Cameron
773011e783 Preserve comments when editing an environment file
https://github.com/webmin/webmin/issues/2424
2025-02-26 21:33:45 -08:00
Ilia Ross
45419c38b5 Fix not to show link if nothing to do 2025-02-27 00:14:12 +02:00
Ilia Ross
6d54bf642a Add noacl support 2025-02-26 23:48:33 +02:00
Ilia Ross
722ff23d86 Add support for provides in module info 2025-02-26 12:53:05 +02:00
Ilia Ross
acfc2b1c1f Merge pull request #2423 from MacSteini/master
Update de
2025-02-25 12:07:07 +02:00
MacSteini
c89ff93b4d Update de 2025-02-25 00:00:14 +00:00
Jamie Cameron
29c3a28a7f Merge branch 'master' of github.com:webmin/webmin 2025-02-24 15:29:09 -08:00
Jamie Cameron
d54e7217d6 Log the apply action
https://github.com/webmin/webmin/issues/2422
2025-02-24 15:29:00 -08:00
Ilia Ross
f7e35f4117 Merge pull request #2420 from MacSteini/master
Update de
2025-02-24 12:18:25 +02:00
MacSteini
ed5a5af276 Update de 2025-02-24 09:00:32 +00:00
Jamie Cameron
9de937612b when setting XFS quotas by UID or GID, the # is not allowed
https://github.com/webmin/webmin/issues/2418
2025-02-22 19:12:55 -08:00
Jamie Cameron
3ea2128a85 Merge branch 'master' of github.com:webmin/webmin 2025-02-22 10:19:17 -08:00
Jamie Cameron
2697c12d88 Delete code that includes the last perl module failure in error messages, as it generateds a lot of misleading failures due to missing but un-needed perl modules 2025-02-22 10:19:08 -08:00
Ilia Ross
237391bc12 Fix listing mounted on x86 macOS
https://github.com/webmin/webmin/issues/2419#issuecomment-2676150866
2025-02-22 13:39:57 +02:00
Jamie Cameron
9580a661e6 Allow minor version changes
https://forum.virtualmin.com/t/os-version-message-about-rocky-9-5-on-dashboard/132189/53
2025-02-21 18:24:30 -08:00
Jamie Cameron
d05f208bbe Add ARM binary, even though we don't use it yet 2025-02-21 18:01:08 -08:00
Jamie Cameron
e3bddae379 Merge branch 'master' of github.com:webmin/webmin 2025-02-21 17:58:49 -08:00
Jamie Cameron
7e66fd74b1 New macos versions need more headers
https://github.com/webmin/webmin/issues/2419
2025-02-21 17:58:40 -08:00
Ilia Ross
0fb7dc453f Add back de.auto file 2025-02-21 21:35:13 +02:00
Ilia Ross
687349bdd5 Merge pull request #2414 from MacSteini/master
Update de
2025-02-21 21:33:19 +02:00
Ilia Ross
4fc1e7d4a0 Delete de.auto file 2025-02-21 21:31:33 +02:00
Ilia Ross
98723c991a Update translations 2025-02-21 15:01:51 +02:00
Ilia Ross
8f7b0615bf Fix redirect message to reflect actual destination 2025-02-21 15:00:50 +02:00
Ilia Ross
e2e8a23ec5 Fix to always print header 2025-02-21 14:58:37 +02:00
Ilia Ross
b6777eafb2 Add support for timeout in JS redirects (to read a message) 2025-02-21 14:56:32 +02:00
Jamie Cameron
09bcb920c2 Automatically apply minor OS updates
https://forum.virtualmin.com/t/os-version-message-about-rocky-9-5-on-dashboard/132189/51
2025-02-20 22:29:55 -08:00
Jamie Cameron
68f19ce802 Add UI for mimeheader
https://sourceforge.net/p/webadmin/bugs/5654/
2025-02-19 19:42:57 -08:00
Jamie Cameron
b32b6ee3a0 Merge branch 'master' of github.com:webmin/webmin 2025-02-18 18:19:23 -08:00
Jamie Cameron
cc1ae9d343 Supress error output 2025-02-18 18:19:15 -08:00
MacSteini
1a27c1e500 Update de 2025-02-19 01:37:02 +00:00
MacSteini
84d8b9fe62 Merge branch 'webmin:master' into master 2025-02-19 01:27:59 +00:00
Ilia Ross
42b823e3e9 Fix a typo, quote UI option for emphasis, and fit text in 80 chars width 2025-02-18 20:28:34 +02:00
Ilia Ross
b1f8d200d5 Update translations 2025-02-18 14:42:20 +02:00
Ilia Ross
10131b1d16 Fix to improve button's text when OS was upgraded
https://forum.virtualmin.com/t/os-version-message-about-rocky-9-5-on-dashboard/132189/10?u=ilia
2025-02-18 14:41:55 +02:00
Ilia Ross
1a265580de Fix not to wrap in bold 2025-02-17 21:28:33 +02:00
MacSteini
c3d03ed9e7 Update de 2025-02-17 00:32:15 +00:00
Jamie Cameron
718c2f0b3c New version bump 2025-02-16 16:25:52 -08:00
Jamie Cameron
5760fb1c26 Make simplify_date always return HTML, and remove the eucconv call that's not useful for dates 2025-02-16 16:11:15 -08:00
Jamie Cameron
2e409c8647 Merge branch 'master' of github.com:webmin/webmin 2025-02-16 15:17:50 -08:00
Jamie Cameron
2cd5cfb4e3 Forwarding destination could be an IPv6 address https://github.com/webmin/webmin/issues/2413 2025-02-16 15:17:44 -08:00
Ilia Ross
234f86b3fd 2.301 2025-02-16 20:41:24 +02:00
Ilia Ross
49465bef61 Fix to check correctly if ProFTPD is installed #2410 2025-02-16 19:19:43 +02:00
Ilia Ross
db7d2f5389 Merge pull request #2412 from TheBeaconCrafter/fix-mysql-typo
Fix MySQL typo #2411
2025-02-16 17:41:29 +02:00
Vincent Wackler
d48fcd940b Fix MySQL typo #2411 2025-02-16 14:10:32 +01:00
Ilia Ross
d6f48578d7 Fix to stop HTML escaping our own API 2025-02-16 13:39:01 +02:00
Ilia Ross
5634ac292a Fix the line height of plain-text email body text 2025-02-16 13:30:44 +02:00
1499 changed files with 7402 additions and 5201 deletions

View File

@@ -7,7 +7,6 @@ on:
release:
types:
- published
- edited
jobs:
build:

View File

@@ -1,5 +1,52 @@
## 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
* Fix the line height of plain-text email body
#### 2.300 (February 14, 2025)
* Add multiple improvements to SSH Server module to support contemporary systems
* Add support to configure SSH socket activation in SSH Server module in contemporary systems #2356

File diff suppressed because one or more lines are too long

View File

@@ -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'}} = '';
@@ -1299,6 +1311,19 @@ foreach my $u (split(/\s+/, $access{'users'})) {
return 0;
}
=head2 can_module_acl(&mod)
Returns 1 if the given module has ability to manage its own ACLs.
=cut
sub can_module_acl
{
my ($mod) = @_;
my $mdir = &module_root_directory($mod);
return 1 if (-f "$mdir/acl_security.pl" || -f "$mdir/config.info");
return 0;
}
=head2 open_session_db(\%miniserv)
Opens the session database, and ties it to the sessiondb hash. Parameters are :
@@ -1395,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;
}
@@ -1701,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);
}
@@ -2312,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;

View File

@@ -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'},
@@ -392,6 +396,7 @@ foreach my $c (sort { $b cmp $a } @cats) {
my @grid = ( );
my $sw = 0;
foreach my $m (@cmlist) {
next if ($m->{'noacl'});
my $md = $m->{'dir'};
my $fromgroup = $memg &&
&indexof($md, @{$memg->{'modules'}}) >= 0;
@@ -403,7 +408,8 @@ foreach my $c (sort { $b cmp $a } @cats) {
}
elsif ($mcan{$md}) {
my $label;
if ($access{'acl'} && $in{'user'} && !$safe) {
if ($access{'acl'} && $in{'user'} && !$safe &&
&can_module_acl($m)) {
# Show link for editing ACL
$label = ui_link("edit_acl.cgi?" .
"mod=" . urlize($m->{'dir'}) .
@@ -455,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
View 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
View 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'});

View File

@@ -1,5 +1 @@
<header>IP-Zugriffskontrolle</header>
Die Benutzer IP-Zugriffskontrolle funktioniert nach dem selben Prinzip wie die globale IP-Zugriffskontrolle im Webminkonfiguration-Modul. Nur wenn ein Benutzer durch die globalen IP-Zugriffskontrollen Zugang erhält wird zusätzlich die benutzerdefinierte IP-Zugriffkontrolle angewendet.
<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>

View 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>

View File

@@ -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>" : "");
}

View File

@@ -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=&lt;Gleicher Benutzer oder Gruppe&gt;
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 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 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
View 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=&lt;Gleiche:r Benutzer:in oder Gruppe&gt;
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!

View File

@@ -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

View File

@@ -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;

View File

@@ -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};
}

View File

@@ -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'}) {

View File

@@ -1,6 +1 @@
<header>Wartezeit bis Verbindungsabbruch</header>
Wenn das ADSL-Programm gestartet ist, so wird es versuchen eine bestimmte Zeit online zu bleiben, bevor bei Nichtbenutzung der Leitung die Verbindung automatisch gekappt wird.<p>
<hr>
<header>Verbindungsversuchsdauer</header>Wenn das ADSL-Client-Programm gestartet wird, versucht es für die in diesem Feld angegebene Zeit, eine Verbindung zu Ihrem ISP herzustellen.<p><hr>

View File

@@ -1,6 +1 @@
<header>Automatische Verbindung?</header>
Wenn 'Nein' ausgew&#228;hlt wurde, dann wird die ADSL-Verbindung nur dann aufgebaut, wenn Sie vorher explizit danach gefragt wurden. Wenn Sie sich jedoch f&#252;r 'Ja' entschieden haben, so wird automatisch eine Verbindung aufgebaut und solange aufrecht erhalten, wie entweder Daten durch die Leitung gehen oder die Ablaufzeit f&#252;r den automatischen Verbindungsabbruch erreicht wird.<p>
<hr>
<header>Verbindung bei Bedarf herstellen?</header>Wenn <tt>Nein</tt> ausgewählt ist, wird die ADSL-Verbindung nur gestartet, wenn sie explizit angefordert wird. Wird jedoch <tt>Ja</tt> gewählt, wird die Verbindung bei Bedarf aufgebaut und bleibt aktiv, solange Datenverkehr darüber läuft. Das Timeout bestimmt, wie lange die Verbindung inaktiv bleiben kann, bevor sie automatisch getrennt wird.<p><hr>

View File

@@ -1,6 +1 @@
<header>Erhalte DNS-Konfiguration vom ISP?</header>
Wenn 'Ja' ausgew&#228;hlt wurde, dann wird die Datei '/etc/resolve.conf' mit den von Ihrem ISP &#252;bermittelten Daten bei jeder Anwahl neu generiert. Diese Vorgehensweise ist sehr empfehlenswert, es sei denn, Sie wollen Ihren eigenen DNS-Server betreiben.<p>
<hr>
<header>DNS-Konfiguration vom ISP beziehen?</header>Wenn <tt>Ja</tt> ausgewählt ist, werden die DNS-Client-Einstellungen Ihres Systems beim Herstellen der Verbindung automatisch vom ADSL-Dienstanbieter abgerufen. Diese Option ist ideal, wenn kein eigener lokaler DNS-Server betrieben wird.<p><hr>

View File

@@ -1,8 +1,8 @@
<header>Get DNS configuration from ISP?</header>
When Yes is selected, your system's DNS client settings will be retrived
from the ADSL service provider when you connect. This is the best option
if you are not running your own local DNS server. <p>
When "Yes" is selected, your system's DNS client settings will be retrieved from
the ADSL service provider when you connect. This is the best option if you are
not running your own local DNS server. <p>
<hr>

View File

@@ -1,6 +1 @@
<header>Netzwerkinterface</header>
Hier m&#252;ssen Sie das Netzwerkinterface (die Netzwerkkarte) angeben, an welches Ihr ADSL-Modem direkt angeschlossen ist. Es kann f&#252;r keine andere Verwendung benutzt werden und es darf ihr keine feste IP-Adresse zugeordnet werden.<p>
<hr>
<header>Ethernet-Interface</header>Dieses Feld muss auf das Ethernet-Interface gesetzt werden, an das Ihr ADSL-Modem direkt angeschlossen ist. Das Interface darf nicht für andere Zwecke verwendet werden oder eine zugewiesene IP-Adresse haben.<p><hr>

View File

@@ -1,6 +1 @@
<header>Firewall beim Start der ADSL-Verbindung hochfahren?</header>
Hier k&#246;nnen Sie angeben, ob Sie eine 'ipchains'-Firewall hochfahren lassen m&#246;chten, sobald eine ADSL-Verbindung gestartet wird. Sie k&#246;nnen dazu Webmin's Linux-Firewall-Modul benutzen um eine Firewall ganz nach Ihren W&#252;nschen einzurichten.<p>
<hr>
<header>Firewall beim Verbindungsaufbau aktivieren</header>Dieses Feld kann verwendet werden, um automatisch eine IPChains-Firewall zu aktivieren, wenn die ADSL-Verbindung hergestellt wird. Alternativ kann das <tt>Linux-Firewall</tt>-Modul von Webmin genutzt werden, um eine benutzerdefinierte Firewall zu erstellen und zu konfigurieren.<p><hr>

View File

@@ -1,8 +1 @@
<header>Das ADSL-Client Modul</header>
Mit diesem Modul k&#246;nnen Sie ein RP-PPPoe-ADSL-Client-Programm konfigurieren, welches Ihnen erlaubt &#252;ber eine Netzwerkkarte eine Internetverbindung zu einem ADSL-Provider (unter Verwendung eines direkt angeschlossenen ADSL-Modem) aufzubauen. Das ADSL-Modem mu&#223; das PPPoE-Protokoll (PPP over Ethernet) unterst&#252;tzen. Es wird sowohl nicht mit an die USB-Schnittstelle angeschlossenen ADSL-Modems funktionieren als auch mit Modems im 'bridge'-Modus (innerhalb VMware zum Beispiel).<p>
Bevor Sie dieses Modul wirklich benutzen k&#246;nnen m&#252;ssen Sie &#252;ber einen Zugang zu einem ADSL-Service-Provider verf&#252;gen und Ihr Modem mu&#223; an eine bisher nicht benutzte Netzwerkkarte Ihres lokalen Systems angeschlossen sein. Diese Netzwerkkarte mu&#223; vom Kernel bereits gesehen werden k&#246;nnen, darf jedoch keine IP-Adresse zugeordnet haben.<p>
<hr>
<header>Das ADSL-Client-Modul</header>Dieses Modul ermöglicht die Konfiguration des RP-PPPoE-ADSL-Client-Programms, welches zur Herstellung einer Internetverbindung über ein Ethernet-verbundenes ADSL-Modem genutzt werden kann, das das PPPoE-Protokoll (PPP over Ethernet) unterstützt. Es funktioniert nicht mit USB-ADSL-Modems oder mit Modems im Bridge-Modus.<p>Bevor das Modul verwendet werden kann, muss ein Konto bei einem ADSL-Dienstanbieter bestehen, und das Modem muss mit einem ungenutzten Ethernet-Interface des Linux-Systems verbunden sein. Dieses Interface muss für den Kernel sichtbar sein, sollte jedoch keine zugewiesene IP-Adresse haben.<p><hr>

View File

@@ -1,6 +1 @@
<header>Paketgr&#246;&#223;e limitieren?</header>
Mit dieser Option k&#246;nnen Sie die maximale Gr&#246;&#223;e der Datenpakete einstellen, welche &#252;ber Ihre ADSL-Verbindung geschickt werden. Wenn Sie hinter dem Modem ein LAN betreiben, dann sollte hier '1412' eingestellt werden, um Probleme mit gro&#223;en Ethernetpaketen zu vermeiden.<p>
<hr>
<header>Paketgröße begrenzen?</header>Diese Option kann verwendet werden, um die maximale Größe der über die ADSL-Verbindung gesendeten Pakete zu begrenzen. Wenn ein internes LAN über ADSL mit dem Internet verbunden ist, sollte der Wert auf 1412 gesetzt werden, um Probleme mit übergroßen Ethernet-Paketen zu vermeiden.<p><hr>

View File

@@ -1,6 +1 @@
<header>Mit Passwort anmelden</header>
Dieses Feld mu&#223; Ihr Passwort beinhalten, welches zu Ihrem Benutzernamen geh&#246;rt, um erfolgreich eine Verbindung mit Ihrem ADSL-Provider herstellen zu k&#246;nnen.<p>
<hr>
<header>Mit Passwort anmelden</header>Dieses Feld muss das Passwort enthalten, das zum Benutzernamen gehört, mit dem Sie sich bei Ihrem ADSL-Dienstanbieter anmelden.<p><hr>

View File

@@ -1,6 +1 @@
<header>Anmelden als Benutzer</header>
In dieses Feld geh&#246;rt Ihr Benutzername, mit welchem Sie sich bei Ihrem ADSL-Provider anmelden k&#246;nnen. In vielen F&#228;llen beinhaltet der Benutzername auch einen Domainennamen wie z.B. <i>jcameron@bigpond</i>. <p>
<hr>
<header>Als Benutzer anmelden</header>Dieses Feld muss den Benutzernamen enthalten, der zur Verbindung mit Ihrem ADSL-Dienstanbieter verwendet wird. In vielen Fällen muss auch ein Domainname angegeben werden, z. B. <i>jcameron@bigpond</i>.<p><hr>

View File

@@ -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'}) {

View File

@@ -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;

View File

@@ -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'});

View File

@@ -1,126 +0,0 @@
<header> Ersetzen Sie Backup-Ziele zeitweise? </header> Wenn diese Option auf <b>Ja gesetzt ist</b> , können Codes wie%d,%m,%Y und%u im Dateinamen des Sicherungsziels verwendet werden. Diese werden durch den Tag, das Monat, das Jahr und den Wochentag ersetzt, an dem die Sicherung durchgeführt wird. Dies ist nützlich, wenn Sie jeden Tag ein anderes Backup speichern möchten, damit Sie ein System auf ein vorheriges Datum zurücksetzen können. <p> Einige der anderen Codes, die verwendet werden können, sind: <br><pre> <font size=-1>
%a Der abgekürzte Wochentagsname gemäß dem aktuellen Stand
Gebietsschema mieten.
%A Der vollständige Wochentagsname gemäß dem aktuellen
Gebietsschema.
%b Der abgekürzte Monatsname gemäß dem aktuellen
Gebietsschema.
%B Der vollständige Monatsname gemäß dem aktuellen
Gebietsschema.
%c Die bevorzugte Datums- und Uhrzeitdarstellung für die
aktuelles Gebietsschema.
%C Die Jahrhundertzahl (Jahr / 100) als zweistellige Ganzzahl.
%d Der Tag des Monats als Dezimalzahl (Bereich 01
bis 31).
%e Wie%d, der Tag des Monats als Dezimalzahl,
Eine führende Null wird jedoch durch ein Leerzeichen ersetzt.
%E Modifikator: Verwenden Sie ein alternatives Format, siehe unten.
%G Das ISO 8601-Jahr mit dem Jahrhundert als Dezimalzahl.
Das 4-stellige Jahr entsprechend der ISO-Wochennummer
ber (siehe%V). Dies hat das gleiche Format und den gleichen Wert
als%y, außer wenn die ISO-Wochennummer dazu gehört
für das vorherige oder nächste Jahr wird dieses Jahr verwendet
stattdessen.
%g Wie%G, jedoch ohne Jahrhundert, dh mit einer zweistelligen Zahl
Jahr (00-99).
%h Entspricht%b.
%H Die Stunde als Dezimalzahl im 24-Stunden-Format
(Bereich 00 bis 23).
%I Die Stunde als Dezimalzahl im 12-Stunden-Format
(Bereich 01 bis 12).
%j Der Tag des Jahres als Dezimalzahl (Bereich 001
bis 366).
%k Die Stunde (24-Stunden-Uhr) als Dezimalzahl (Bereich)
0 bis 23); Vor einzelnen Ziffern steht ein Leerzeichen.
(Siehe auch%H.)
%l Die Stunde (12-Stunden-Uhr) als Dezimalzahl (Bereich)
1 bis 12); Vor einzelnen Ziffern steht ein Leerzeichen.
(Siehe auch%I.)
%m Der Monat als Dezimalzahl (Bereich 01 bis 12).
%M Die Minute als Dezimalzahl (Bereich 00 bis 59).
%n Ein Zeilenumbruchzeichen.
%O Modifikator: Verwenden Sie ein alternatives Format, siehe unten.
%p Je nach gegebener Zeit entweder &quot;AM&quot; oder &quot;PM&quot;
Wert oder die entsprechenden Zeichenfolgen für den aktuellen
Gebietsschema. Mittag wird als &quot;Uhr&quot; und Mitternacht als behandelt
bin.
%P Wie%p, jedoch in Kleinbuchstaben: &quot;am&quot; oder &quot;pm&quot; oder eine Korrektur
sponding string für das aktuelle Gebietsschema.
%r Die Zeit in der Notation am oder pm. In der POSIX
Gebietsschema Dies entspricht &quot;%I:%M:%S%p&quot;.
%R Die Zeit in 24-Stunden-Notation (%H:%M). Für ein
Version einschließlich der Sekunden, siehe%T unten.
%s Die Anzahl der Sekunden seit der Epoche, dh seit
1970-01-01 00:00:00 UTC.
%S Die Sekunde als Dezimalzahl (Bereich 00 bis 61).
%t Ein Tabulatorzeichen.
%T Die Zeit in 24-Stunden-Notation (%H:%M:%S).
%u Der Wochentag als Dezimalzahl, Bereich 1 bis 7,
Montag ist 1. Siehe auch%w.
%U Die Wochennummer des aktuellen Jahres als Dezimalzahl
Nummer, Bereich 00 bis 53, beginnend mit der ersten
Sonntag als erster Tag der Woche 01. Siehe auch%V und
%W.
%V Die ISO 8601: 1988-Wochennummer des laufenden Jahres
als Dezimalzahl Bereich 01 bis 53, wobei Woche 1
ist die erste Woche, die mindestens 4 Tage in der hat
aktuelles Jahr und mit Montag als erstem Tag von
die Woche. Siehe auch%U und%W.
%w Der Wochentag als Dezimalzahl, Bereich 0 bis 6,
Sonntag ist 0. Siehe auch%u.
%W Die Wochennummer des aktuellen Jahres als Dezimalzahl
Nummer, Bereich 00 bis 53, beginnend mit der ersten
Montag als erster Tag der Woche 01.
%x Die bevorzugte Datumsdarstellung für den aktuellen
Gebietsschema ohne die Zeit.
%X Die bevorzugte Zeitdarstellung für den Strom
Gebietsschema ohne Datum.
%y Das Jahr als Dezimalzahl ohne Jahrhundert
(Bereich 00 bis 99).
%Y Das Jahr als Dezimalzahl einschließlich des Jahrhunderts.
%z Die Zeitzone als Stundenversatz von GMT. Erforderlich für
RFC822-konforme Daten ausgeben (unter Verwendung von &quot;%a,%d%b%Y&quot;
%H:%M:%S%z &quot;).
%Z Die Zeitzone oder der Name oder die Abkürzung.
%%Ein wörtliches% -Zeichen.
</font> </pre><footer>

View File

@@ -0,0 +1,82 @@
<header>strftime-Ersatz in Backup-Zielen durchführen?</header>Wenn diese Option auf <b>Ja</b> gesetzt ist, können Codes wie %d, %m, %Y und %u im Dateinamen des Backup-Ziels verwendet werden. Diese werden beim Erstellen des Backups durch den jeweiligen Tag, Monat, das Jahr und den Wochentag ersetzt. Dies ist besonders nützlich, wenn tägliche Backups gespeichert werden sollen, um ein System auf ein vorheriges Datum zurücksetzen zu können.<p>Weitere verwendbare Codes sind:<br><pre><font size=-1>
%a Abgekürzter Wochentagsname gemäß der aktuellen Locale.
%A Vollständiger Wochentagsname gemäß der aktuellen Locale.
%b Abgekürzter Monatsname gemäß der aktuellen Locale.
%B Vollständiger Monatsname gemäß der aktuellen Locale.
%c Bevorzugte Datums- und Zeitdarstellung gemäß der aktuellen Locale.
%C Jahrhundertzahl (Jahr/100) als zweistellige Zahl.
%d Tag des Monats als Dezimalzahl (01 bis 31).
%e Wie %d, jedoch wird eine führende Null durch ein Leerzeichen ersetzt.
%E Modifikator: Alternative Formatierung verwenden (siehe unten).
%G ISO-8601-Jahr mit Jahrhundert als Dezimalzahl. Das vierstellige Jahr, das der ISO-Wochennummer entspricht (siehe %V). Dies hat dasselbe Format wie %y, außer dass, falls die ISO-Wochennummer zum vorherigen oder nächsten Jahr gehört, dieses Jahr verwendet wird.
%g Wie %G, jedoch ohne Jahrhundert, also als zweistellige Jahreszahl (00-99).
%h Entspricht %b.
%H Stunde im 24-Stunden-Format als Dezimalzahl (00 bis 23).
%I Stunde im 12-Stunden-Format als Dezimalzahl (01 bis 12).
%j Tag des Jahres als Dezimalzahl (001 bis 366).
%k Stunde (24-Stunden-Format) als Dezimalzahl (0 bis 23); einstellige Zahlen werden mit einem Leerzeichen aufgefüllt.
%l Stunde (12-Stunden-Format) als Dezimalzahl (1 bis 12); einstellige Zahlen werden mit einem Leerzeichen aufgefüllt.
%m Monat als Dezimalzahl (01 bis 12).
%M Minute als Dezimalzahl (00 bis 59).
%n Neue Zeile.
%O Modifikator: Alternative Formatierung verwenden (siehe unten).
%p Entweder "AM" oder "PM" entsprechend der gegebenen Zeit, oder die entsprechende Zeichenkette gemäß der aktuellen Locale. Mittag wird als "PM" und Mitternacht als "AM" behandelt.
%P Wie %p, jedoch in Kleinbuchstaben: "am" oder "pm".
%r Zeitangabe im AM-/PM-Format. In der POSIX-Locale entspricht dies "%I:%M:%S %p".
%R Zeitangabe im 24-Stunden-Format (%H:%M). Eine Version mit Sekunden ist unter %T verfügbar.
%s Anzahl der Sekunden seit der Unix-Epoche (1970-01-01 00:00:00 UTC).
%S Sekunde als Dezimalzahl (00 bis 61).
%t Tabulatorzeichen.
%T Zeitangabe im 24-Stunden-Format (%H:%M:%S).
%u Wochentag als Dezimalzahl (1 bis 7), Montag = 1.
%U Wochennummer des aktuellen Jahres als Dezimalzahl (00 bis 53), wobei die erste Woche mit dem ersten Sonntag als Woche 01 beginnt. Siehe auch %V und %W.
%V ISO-8601-Wochennummer des aktuellen Jahres als Dezimalzahl (01 bis 53), wobei Woche 1 die erste Woche mit mindestens vier Tagen im aktuellen Jahr ist. Montag ist der erste Tag der Woche. Siehe auch %U und %W.
%w Wochentag als Dezimalzahl (0 bis 6), Sonntag = 0.
%W Wochennummer des aktuellen Jahres als Dezimalzahl (00 bis 53), wobei die erste Woche mit dem ersten Montag als Woche 01 beginnt.
%x Bevorzugte Datumsausgabe gemäß der aktuellen Locale ohne Uhrzeit.
%X Bevorzugte Zeitausgabe gemäß der aktuellen Locale ohne Datum.
%y Jahr als zweistellige Dezimalzahl (00 bis 99).
%Y Jahr als vierstellige Dezimalzahl inklusive Jahrhundert.
%z Zeitzone als Stundenversatz zu GMT. Wird für RFC822-konforme Datumsangaben benötigt ("%a, %d %b %Y %H:%M:%S %z").
%Z Zeitzone als Name oder Abkürzung.
%% Ein Prozentzeichen ("%").</font></pre><footer>

View File

@@ -1,5 +1 @@
<header>Führe Backup-Job aus</ header>
Dieses Formular kann verwendet werden, um die sofortige Ausführung eines Bacula Backup zu starten. Um einen Job ausführen zu können, müssen Sie diesen nur aus der Liste auswählen, und wählen Sie optional, ob Webmin den endgültigen Status abwarten soll um diesen angezeigen. <p>
<footer>
<header>Backup-Job ausführen</header>Mit diesem Formular kann ein Bacula-Backup-Job sofort gestartet werden. Zur Ausführung muss lediglich ein Job aus der Liste ausgewählt und festgelegt werden, ob Webmin auf die Anzeige des endgültigen Status warten soll.<p><footer>

View File

@@ -1 +0,0 @@
<header> Clients sichern </header> Ein Bacula-Client ist ein System, dessen Dateien gesichert werden können. Auf dieser Seite müssen alle Clients aufgelistet sein, auf denen Sie Dateien sichern möchten, und auf jedem muss der Bacula-Dateidämon ausgeführt werden. In einem typischen Einzelsystem-Setup muss auf diesem Server eine Liste aufgeführt sein. <p> Wenn Sie Remoteclients hinzufügen, müssen Sie neben dem Hostnamen auch den Namen des Bacula-Dateidämons und das Kennwort des Dämons kennen. Diese werden in der Datei <tt>/etc/bacula/bacula-fd.conf</tt> auf dem Client-System festgelegt. <p> Wenn angezeigt, bestimmen die TLS-Optionen auf der Client-Seite, ob die Verschlüsselung verwendet wird, wenn dieser Director mit dem Client kommuniziert. Bevor TLS aktiviert werden kann, müssen Sie ein SSL-Zertifikat und einen SSL-Schlüssel generieren und deren Pfade in die entsprechenden Felder dieses Formulars eingeben. <p><footer>

View File

@@ -0,0 +1 @@
<header>Backup-Clients</header>Ein Bacula-Client ist ein System, dessen Dateien gesichert werden können. Alle Clients, auf denen Dateien gesichert werden sollen, müssen auf dieser Seite aufgeführt sein und jeweils den Bacula-Dateidaemon ausführen. In einer typischen Einzelserver-Konfiguration muss nur dieser Server in der Liste stehen.<p>Beim Hinzufügen entfernter Clients wird neben dem Hostnamen auch der Name des Bacula-Dateidaemons sowie dessen Passwort benötigt. Diese sind in der Datei <tt>/etc/bacula/bacula-fd.conf</tt> auf dem Client-System festgelegt.<p>Falls angezeigt, bestimmen die TLS-Optionen auf der Client-Seite, ob die Kommunikation zwischen dem Director und dem Client verschlüsselt wird. Bevor TLS aktiviert werden kann, muss ein SSL-Zertifikat und ein Schlüssel generiert und deren Pfade in die entsprechenden Felder dieses Formulars eingetragen werden.<p><footer>

View File

@@ -1,5 +1 @@
<header>Client-Status</header>
Diese Seite zeigt Backup-Aufträge, die derzeit ausgeführt werden und die 10 am häufigsten ausgeführten Aufträge auf einem ausgewählten Bacula Client-System. Diejenigen die ausgeführt werden oder auf einen anderen Client ausgeführt werden, werden nicht angezeigt. <p>
<footer>
<header>Client-Status</header>Diese Seite zeigt aktuell laufende Backup-Jobs sowie die 10 zuletzt ausgeführten Jobs auf einem ausgewählten Bacula-Client-System an. Jobs, die auf anderen Clients ausgeführt wurden oder werden, werden nicht angezeigt.<p><footer>

View File

@@ -1 +0,0 @@
<header> Speichergeräte </header> Im Gegensatz zu allen anderen Seiten in diesem Modul konfiguriert diese Seite den Bacula-Speicherdämon und nicht den Director. Hier können Sie steuern, welche Bandgeräte und Verzeichnisse für Sicherungen verwendet werden. Jeder Eintrag in der Liste definiert ein Speichergerät, von dem jedes einen eindeutigen Namen, eine Gerätedatei oder ein Verzeichnis (wie <i>/dev/st0</i> oder <i>/backup</i> ) und einen Medientypnamen haben muss. <p> Auf die hier definierten Geräte kann auf der Seite <b>Storage Daemons</b> verwiesen werden, die wiederum in Sicherungsjobs verwendet werden können. Wenn Sie ein neues Verzeichnis erstellen möchten, in das gesichert werden soll, muss es sowohl hier als auch zur Dämonenliste hinzugefügt werden. Außerdem muss jedes neue Verzeichnis zuerst beschriftet werden (auf der Seite &quot; <b>Label Volume</b> &quot;), bevor Bacula darauf schreibt. <p> Beachten Sie, dass Änderungen an dieser Seite nur aktiviert werden, wenn Sie auf der Hauptseite des Moduls auf die Schaltfläche <b>Bacula neu starten klicken</b> . <p><footer>

View File

@@ -0,0 +1 @@
<header>Speichergeräte</header>Im Gegensatz zu den anderen Seiten dieses Moduls konfiguriert diese Seite den Bacula-Speicherdaemon anstelle des Directors. Hier kann festgelegt werden, welche Bandlaufwerke und Verzeichnisse für Backups verwendet werden. Jeder Eintrag in der Liste definiert ein Speichergerät, das über einen eindeutigen Namen, eine Geräte-Datei oder ein Verzeichnis (z. B. <i>/dev/st0</i> oder <i>/backup</i>) sowie einen Medientypnamen verfügen muss.<p>Die hier definierten Geräte können auf der Seite <b>Speicher-Daemons</b> referenziert werden und anschließend in Backup-Jobs verwendet werden. Wenn ein neues Verzeichnis für Backups erstellt werden soll, muss es sowohl hier als auch in der Daemon-Liste hinzugefügt werden. Zusätzlich muss jedes neue Verzeichnis vor der ersten Nutzung mit einem Label versehen werden (über die Seite <b>Volume labeln</b>), bevor Bacula darauf schreiben kann.<p>Änderungen auf dieser Seite werden erst aktiv, wenn die Schaltfläche <b>Bacula neu starten</b> auf der Hauptseite des Moduls geklickt wird.<p><footer>

View File

@@ -1 +0,0 @@
<header> Director-Konfiguration </header> Auf dieser Seite können Sie den Bacula Director-Prozess konfigurieren, der für die tatsächliche Steuerung und Planung aller Sicherungsjobs verantwortlich ist. Die meisten Optionen hier müssen im Allgemeinen nicht angepasst werden, da die Standardeinstellungen normalerweise für Ihr System korrekt sind. <p> Die TLS-Optionen hier können verwendet werden, um eine sichere verschlüsselte Kommunikation zwischen dem Director und dem Befehlszeilenprogramm <tt>bconsole</tt> zu ermöglichen. Da diese normalerweise auf demselben System ausgeführt werden, muss TLS normalerweise nicht aktiviert werden. <p><footer>

View File

@@ -0,0 +1 @@
<header>Director-Konfiguration</header>Diese Seite ermöglicht die Konfiguration des Bacula-Director-Prozesses, der für die Steuerung und Planung aller Backup-Jobs verantwortlich ist. Die meisten Optionen müssen in der Regel nicht angepasst werden, da die Standardwerte normalerweise für das System geeignet sind.<p>Die hier verfügbaren TLS-Optionen ermöglichen die Aktivierung einer verschlüsselten Kommunikation zwischen dem Director und dem Kommandozeilenprogramm <tt>bconsole</tt>. Da beide normalerweise auf demselben System laufen, ist die Aktivierung von TLS in der Regel nicht erforderlich.<p><footer>

View File

@@ -1 +0,0 @@
<header> Director Status </header> Auf dieser Seite werden alle aktuell ausgeführten Sicherungsjobs, die 10 zuletzt ausgeführten und die geplanten zukünftigen Ausführungsjobs angezeigt. Alle dem Bacula-Direktor bekannten Jobs auf diesem System werden eingeschlossen. <p><footer>

View File

@@ -0,0 +1 @@
<header>Director-Status</header>Diese Seite zeigt alle aktuell laufenden Backup-Jobs, die 10 zuletzt ausgeführten sowie geplante zukünftige Jobs an. Es werden alle dem Bacula-Director auf diesem System bekannten Jobs einbezogen.<p><footer>

View File

@@ -1 +0,0 @@
<header> File Daemon Directors </header> Diese Seite listet alle Direktoren auf, die eine Verbindung zu diesem Dateidämon herstellen dürfen. Wenn Sie diesen Dateidämon einem Remote-Director hinzufügen, muss das Kennwort in seinem <b>Backup Client-</b> Eintrag mit dem hier aufgeführten Kennwort übereinstimmen. <p> Wenn TLS für einen Director aktiviert ist, wird die Kommunikation zwischen diesem Director und diesem Dateidämon mit dem ausgewählten Zertifikat und Schlüssel verschlüsselt und überprüft. <p><footer>

View File

@@ -0,0 +1 @@
<header>File-Daemon-Directors</header>Diese Seite listet alle Directors auf, die sich mit diesem File-Daemon verbinden dürfen. Wenn dieser File-Daemon zu einem entfernten Director hinzugefügt wird, muss das Passwort im Eintrag <b>Backup-Client</b> mit dem hier angegebenen Passwort übereinstimmen.<p>Wenn TLS für einen Director aktiviert ist, wird die Kommunikation zwischen diesem Director und dem File-Daemon verschlüsselt und mithilfe des ausgewählten Zertifikats und Schlüssels verifiziert.<p><footer>

View File

@@ -1 +0,0 @@
<header> File Daemon-Konfiguration </header> Mit diesem Formular können Sie die Einstellungen für den auf dem System ausgeführten Bacula-Dateidämon anpassen. Die Standardeinstellungen sind normalerweise korrekt, obwohl Sie den Namen des Dämons und die Anzahl der gleichzeitigen Jobs anpassen können. Wenn Ihr Bacula-System TLS-Sicherheit unterstützt, können die TLS-Optionen auf dieser Seite verwendet werden, um die Kommunikation zwischen dem Dateidämon, dem Director und den Speicherdämonen zu sichern. <p><footer>

View File

@@ -0,0 +1 @@
<header>File-Daemon-Konfiguration</header>Mit diesem Formular können Einstellungen für den auf dem System laufenden Bacula-File-Daemon angepasst werden. Die Standardwerte sind in der Regel korrekt, jedoch können der Name des Daemons und die Anzahl gleichzeitiger Jobs geändert werden. Falls das Bacula-System TLS-Sicherheit unterstützt, können die TLS-Optionen auf dieser Seite genutzt werden, um die Kommunikation zwischen dem File-Daemon, dem Director und den Storage-Daemons zu sichern.<p><footer>

View File

@@ -1 +0,0 @@
<header> Dateigruppen </header> Ein Dateisatz ist eine Liste von Dateien und Verzeichnissen, die Bacula als Teil eines Jobs sichern kann. Jeder Satz muss einen eindeutigen Namen, eine Liste der einzuschließenden Dateien und eine optionale Liste der auszuschließenden Dateien haben. Diese letztere Funktion kann nützlich sein, um unkritische Dateien oder Verzeichnisse unter einem der auszuschließenden Verzeichnisse zu überspringen. <p><footer>

View File

@@ -0,0 +1 @@
<header>File-Sets</header>Ein File-Set ist eine Liste von Dateien und Verzeichnissen, die Bacula im Rahmen eines Backup-Jobs sichern kann. Jedes Set muss einen eindeutigen Namen, eine Liste der einzuschließenden Dateien sowie optional eine Liste der auszuschließenden Dateien enthalten. Letztere Funktion kann nützlich sein, um nicht kritische Dateien oder bestimmte Verzeichnisse innerhalb eines enthaltenen Verzeichnisses vom Backup auszunehmen.<p><footer>

View File

@@ -1 +0,0 @@
<header> Führen Sie den Bacula-Gruppenjob aus </header> Mit diesem Formular kann die sofortige Ausführung eines Bacula-Sicherungsjobs gestartet werden, der auf allen Hosts in einer Bacula-Gruppe ausgeführt wird. Um es zu starten, wählen Sie es einfach aus der Liste aus und klicken Sie auf die Schaltfläche <b>Jetzt sichern</b> . Da der Job auf mehreren Hosts ausgeführt wird, wird sein endgültiger Status nicht angezeigt. <p><footer>

View File

@@ -0,0 +1 @@
<header>Bacula-Gruppen-Job ausführen</header>Mit diesem Formular kann ein Bacula-Backup-Job sofort gestartet werden, der auf allen Hosts innerhalb einer Bacula-Gruppe ausgeführt wird. Wählen Sie dazu den Job aus der Liste und klicken Sie auf die Schaltfläche <b>Jetzt sichern</b>. Da der Job auf mehreren Hosts läuft, wird der endgültige Status nicht angezeigt.<p><footer>

View File

@@ -1 +0,0 @@
<header> Sicherungsjobs der Bacula-Gruppe </header> Diese Seite listet Sicherungsjobs auf, die so eingerichtet sind, dass sie auf allen Hosts in einer Bacula-Gruppe gleichzeitig ausgeführt werden. Sie haben dieselben Einstellungen wie Standard-Sicherungsjobs, außer dass Sie keine Standardjobs definieren können, um Einstellungen zwischen Jobs zu teilen. Anstatt einen zu sichernden Client auszuwählen, müssen Sie stattdessen eine zuvor definierte Bacula-Gruppe auswählen. <p><footer>

View File

@@ -0,0 +1 @@
<header>Bacula-Gruppen-Backup-Jobs</header>Diese Seite listet Backup-Jobs auf, die für die gleichzeitige Ausführung auf allen Hosts innerhalb einer Bacula-Gruppe eingerichtet sind. Sie haben dieselben Einstellungen wie Standard-Backup-Jobs, mit der Ausnahme, dass keine Standardjobs zur gemeinsamen Nutzung von Einstellungen definiert werden können. Anstelle der Auswahl eines Clients für das Backup muss eine zuvor definierte Bacula-Gruppe ausgewählt werden.<p><footer>

View File

@@ -1 +0,0 @@
<header> Bacula-Gruppen </header> Diese Seite listet Hostgruppen auf, von denen jede eine Gruppe von Hosts ist, die gleichzeitig von einem einzelnen <b>Bacula Group Backup-Job unterstützt werden können</b> . Die Hosts in einer Gruppe stammen je nach Konfiguration dieses Moduls entweder aus einer OCM Manager-Knotengruppendatenbank oder aus dem Webmin Servers Index-Modul. <p> Damit Bacula-Gruppensicherungen funktionieren, muss auf jedem mindestens der Bacula-Dateidämon installiert sein, und alle Hosts in der Gruppe müssen dasselbe Kennwort für diesen Director haben. <p><footer>

View File

@@ -0,0 +1 @@
<header>Bacula-Gruppen</header>Diese Seite listet Host-Gruppen auf, die jeweils eine Sammlung von Hosts enthalten, die gleichzeitig von einem <b>Bacula-Gruppen-Backup-Job</b> gesichert werden können. Die Hosts in einer Gruppe stammen entweder aus einer OCM-Manager-Knotengruppen-Datenbank oder aus dem Webmin-Servers-Index-Modul, abhängig von der Konfiguration dieses Moduls.<p>Damit Bacula-Gruppen-Backups funktionieren, muss auf jedem Host mindestens der Bacula-File-Daemon installiert sein, und alle Hosts in der Gruppe müssen dasselbe Passwort für diesen Director haben.<p><footer>

View File

@@ -1 +0,0 @@
<header> Bacula Backup </header> Bacula ist eine Reihe von Computerprogrammen, mit denen Sie (oder der Systemadministrator) die Sicherung, Wiederherstellung und Überprüfung von Computerdaten über ein Netzwerk von Computern verschiedener Art verwalten können. Bacula kann auch vollständig auf einem einzelnen Computer ausgeführt werden und auf verschiedenen Medientypen, einschließlich Band und Festplatte, sichern. <p> In technischer Hinsicht handelt es sich um ein Netzwerk-Client / Server-basiertes Sicherungsprogramm. Bacula ist relativ einfach zu bedienen und effizient und bietet viele erweiterte Speicherverwaltungsfunktionen, mit denen verlorene oder beschädigte Dateien leicht gefunden und wiederhergestellt werden können. Aufgrund seines modularen Aufbaus ist Bacula von kleinen Einzelcomputersystemen auf Systeme skalierbar, die aus Hunderten von Computern bestehen, die sich über ein großes Netzwerk befinden. <p> Das Bacula-System ist in drei separate Daemons unterteilt, die theoretisch auf verschiedenen Hosts ausgeführt werden können. Diese sind: <br><dl><dt> Direktor <dd> Der Director speichert Jobs, Clients und die meisten anderen Konfigurationseinstellungen und ist für das Initiieren von Sicherungsjobs verantwortlich. Dieses Webmin-Modul muss auf dem System ausgeführt werden, auf dem der Director installiert ist. <dt> Datei-Daemon <dd> Dieser Daemon ist für das Lesen der tatsächlich zu sichernden Dateien verantwortlich. Eine Bacula-Konfiguration kann mehr als einen Dateidämon enthalten, die jeweils auf einem zu sichernden System ausgeführt werden. <dt> Speicher-Daemon <dd> Der Speicherdämon ist für das Schreiben von Daten auf das endgültige Sicherungsmedium verantwortlich, z. B. ein Bandlaufwerk oder eine Datei. Normalerweise benötigen Sie nur einen solchen Dämon (der normalerweise auf demselben Host wie der Director ausgeführt wird). Bei einem komplexeren Bacula-Setup können jedoch mehrere Systeme mit unterschiedlichen Bandlaufwerken vorhanden sein, um die Sicherungslast zu verteilen. </dl> Dieses Webmin-Modul kann ein System verwalten, auf dem einer oder mehrere der Bacula-Dämonen installiert sind. <p><footer>

View File

@@ -0,0 +1 @@
<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>

View 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>

View File

@@ -1 +0,0 @@
<header> Sicherungsjobs </header> Ein Job ist das wichtigste konfigurierbare Objekt in Bacula, da er einen Client, eine Dateigruppe und andere Einstellungen zusammenführt, um genau zu steuern, was gesichert wird. Aus diesem Grund ist es im Allgemeinen am besten, zuerst Ihre Dateigruppen und Clients zu definieren, bevor Sie einen Job erstellen. <p> Jeder Job hat die folgenden wichtigen Attribute: <br><dl><dt> Berufsbezeichnung <dd> Ein eindeutiger Name für diesen Job. <dt> Auftragstyp <dd> Dies bestimmt, welche Art von Aktion der Job ausführen wird. In fast allen Fällen sollte dies auf <b>Backup eingestellt sein</b> . <dt> Sicherungsstufe <dd> Legt fest, ob der Job eine vollständige oder teilweise Sicherung der ausgewählten Dateien durchführt. <dt> Client zum Sichern <dd> Wenn Ihr Bacula-System mehrere Clients hat, bestimmt diese Option, von welchen die Dateien von diesem Sicherungsjob gelesen werden. <dt> Zu sichernde Datei <dd> Der ausgewählte Dateisatz bestimmt, welche tatsächlichen Dateien und Verzeichnisse in der Sicherung enthalten sind. <dt> Sicherung planmäßig <dd> Diese optionale Option bestimmt, ob und wann der Job automatisch planmäßig ausgeführt wird. <dt> Zielspeichergerät <dd> Wenn Ihre Bacula-Konfiguration mit mehr als einem Speicherdämon eingerichtet ist, bestimmt diese Option, auf welchen die Sicherung geschrieben wird. </dl><p> Um die Joberstellung zu vereinfachen, können Sie mit Bacula <b>Standarddefinitionsjobs</b> erstellen, die nicht selbst ausgeführt werden, sondern Einstellungen angeben, die von echten Jobs geerbt werden sollen. Beim Bearbeiten eines Jobs bestimmt das Feld <b>Standardtyp</b> , ob es sich um eine Standarddefinition handelt, ob Einstellungen von einer Standardeinstellung übernommen werden oder keine. <p><footer>

View File

@@ -0,0 +1 @@
<header>Backup-Jobs</header>Ein Job ist das wichtigste konfigurierbare Objekt in Bacula, da er einen Client, ein File-Set und weitere Einstellungen kombiniert, um genau zu steuern, welche Daten gesichert werden. Daher ist es ratsam, zuerst die File-Sets und Clients zu definieren, bevor ein Job erstellt wird.<p>Jeder Job hat die folgenden wichtigen Attribute:<br><dl><dt>Job-Name<dd>Ein eindeutiger Name für diesen Job.<dt>Job-Typ<dd>Bestimmt die Art der Aktion, die der Job ausführt. In fast allen Fällen sollte dies auf <b>Backup</b> gesetzt werden.<dt>Backup-Level<dd>Legt fest, ob der Job eine vollständige oder eine teilweise Sicherung der ausgewählten Dateien durchführt.<dt>Zu sichernder Client<dd>Falls das Bacula-System mehrere Clients verwaltet, bestimmt diese Option, von welchem Client die Dateien für diesen Backup-Job gelesen werden.<dt>Zu sicherndes File-Set<dd>Das ausgewählte File-Set bestimmt, welche Dateien und Verzeichnisse tatsächlich im Backup enthalten sind.<dt>Backup nach Zeitplan<dd>Diese optionale Einstellung legt fest, ob der Job automatisch nach einem Zeitplan ausgeführt wird und falls ja, wann.<dt>Ziel-Speichergerät<dd>Falls die Bacula-Konfiguration mehrere Storage-Daemons verwendet, bestimmt diese Option, auf welchem Speichergerät das Backup abgelegt wird.</dl><p>Um die Erstellung von Jobs zu vereinfachen, erlaubt Bacula das Erstellen von <b>Standarddefinitionen</b>, die selbst nicht ausgeführt werden, sondern als Vorlagen für andere Jobs dienen. Beim Bearbeiten eines Jobs legt das Feld <b>Standardtyp</b> fest, ob es sich um eine Standarddefinition handelt, ob der Job Einstellungen von einer Standarddefinition erbt oder keine Voreinstellungen übernimmt.<p><footer>

View File

@@ -1 +0,0 @@
<header> Etikettenvolumen </header> Durch die Beschriftung wird ein Volume (z. B. ein geladenes Band oder ein Sicherungsverzeichnis) als Teil eines ausgewählten Volume-Pools markiert und kann daher für Sicherungen verwendet werden. Sie müssen mindestens ein Volume kennzeichnen, bevor über Bacula durchgeführte Sicherungen funktionieren. Andernfalls wird die Sicherung angehalten, bis ein geeignetes Volume gekennzeichnet ist. <p> Bei Sicherungen von Dateien bestimmt der Datenträgername den Namen der Datei im Zielverzeichnis, in die tatsächlich geschrieben wird. Bei Bändern ist der Name das Bandetikett. <p><footer>

View File

@@ -0,0 +1 @@
<header>Volume labeln</header>Das Labeln markiert ein Volume (z. B. ein eingelegtes Band oder ein Backup-Verzeichnis) als Teil eines ausgewählten Volume-Pools und macht es damit für Backups nutzbar. Mindestens ein Volume muss gelabelt werden, bevor Backups mit Bacula funktionieren andernfalls wird das Backup gestoppt, bis ein geeignetes Volume gelabelt ist.<p>Bei Backups in Dateien bestimmt der Volume-Name den Namen der Datei, die im Zielverzeichnis erstellt wird. Bei Bändern wird der Name als Bandlabel verwendet.<p><footer>

View File

@@ -1 +0,0 @@
<header> Ein- oder Aushängen </header> Wenn Sie Bacula zum Sichern auf einem Bandlaufwerk verwenden, müssen Sie diese Seite verwenden, um das eingelegte Band bereitzustellen, bevor es verwendet werden kann, damit Bacula weiß, welches Volume es enthält. Das Mounten ist im Allgemeinen nicht für Sicherungen in Dateien erforderlich. <p><footer>

View File

@@ -0,0 +1 @@
<header>Mounten oder Unmounten</header>Wenn Bacula für Backups auf ein Bandlaufwerk verwendet wird, muss das eingelegte Band über diese Seite gemountet werden, bevor es genutzt werden kann, damit Bacula erkennt, welches Volume es enthält. Für Backups in Dateien ist ein Mount-Vorgang in der Regel nicht erforderlich.<p><footer>

View File

@@ -1 +0,0 @@
<header> Volumenpools </header> Im Bacula-Kontext ist ein Pool eine Reihe von Volumes, die einem bestimmten Zweck gewidmet sind. Ein Volume ist normalerweise ein bestimmtes Band- oder Zielverzeichnis, das jeweils mit einem eindeutigen Namen gekennzeichnet ist. Beim Erstellen eines Sicherungsjobs können Sie auswählen, welcher Pool für Zieldateien und damit welche Volumes verwendet werden soll. <p> Ein Volume kann einem Pool über die Seite <b>Label Volume</b> hinzugefügt werden, auf der ein eingefügtes Band oder Zielverzeichnis mit einem eindeutigen Namen markiert ist. <p><footer>

View File

@@ -0,0 +1 @@
<header>Volume-Pools</header>Im Bacula-Kontext ist ein Pool eine Sammlung von Volumes, die für einen bestimmten Zweck reserviert sind. Ein Volume ist typischerweise ein bestimmtes Band oder ein Zielverzeichnis, das jeweils mit einem eindeutigen Namen gelabelt ist. Beim Erstellen eines Backup-Jobs kann ausgewählt werden, welcher Pool für die Ziel-Dateien verwendet wird und somit welche Volumes.<p>Ein Volume kann über die Seite <b>Volume labeln</b> zu einem Pool hinzugefügt werden, indem ein eingelegtes Band oder ein Zielverzeichnis mit einem eindeutigen Namen markiert wird.<p><footer>

View File

@@ -1,5 +1 @@
<header>Volumes in Pool</header>
Diese Seite kann genutzt werden, um alle Volumes, die als Mitglieder eines ausgewählten Backup-Pool markiert wurden, aufzulisten. Volumes werden zu einem Pool auf der <b>Label Volume</b>-Seite hinzugefügt. <p>
<footer>
<header>Volumes im Pool</header>Diese Seite zeigt eine Liste aller Volumes, die als Mitglieder eines ausgewählten Backup-Pools markiert wurden. Volumes werden über die Seite <b>Volume labeln</b> zu einem Pool hinzugefügt.<p><footer>

View File

@@ -1 +0,0 @@
<header> Sicherungszeitpläne </header> Auf dieser Seite werden Zeitpläne aufgelistet, die auf Sicherungsjobs angewendet werden können, damit diese regelmäßig von Bacula automatisch ausgeführt werden. Jeder Zeitplan hat einen eindeutigen Namen und eine Liste der Sicherungsstufen und Laufzeiten. Jede Laufzeit muss wie <i>Mo-Fr um 9:00 Uhr</i> oder <i>Samstag um 23:00 Uhr</i> formatiert sein und die Wochentage und die Ausführungszeit angeben. Tage können auch als Tage des Monats angegeben werden, z. B. <i>1. Sonne</i> oder <i>5</i> . In der Online-Dokumentation zu Bacula finden Sie alle Details zu den zulässigen Formaten. <p><footer>

View File

@@ -0,0 +1 @@
<header>Backup-Zeitpläne</header>Diese Seite listet Zeitpläne auf, die auf Backup-Jobs angewendet werden können, damit diese regelmäßig automatisch von Bacula ausgeführt werden. Jeder Zeitplan hat einen eindeutigen Namen sowie eine Liste von Backup-Leveln und Ausführungszeiten. Die Zeiten müssen in einem Format wie <i>mon-fri at 9:00</i> oder <i>sat at 23:00</i> angegeben werden, um die Wochentage und die Uhrzeit festzulegen. Alternativ können Tage des Monats angegeben werden, z. B. <i>1st sun</i> oder <i>on 5</i>. Weitere Details zu den erlaubten Formaten finden Sie in der Bacula-Online-Dokumentation.<p><footer>

View File

@@ -1 +0,0 @@
<header> Storage Daemon Directors </header> Diese Seite listet alle Direktoren auf, die eine Verbindung zu diesem Speicherdämon herstellen dürfen. Wenn Sie diesen Speicherdämon einem Remote Director hinzufügen, muss das Kennwort in seinem <b>Speicherdämoneintrag</b> mit dem hier aufgeführten Kennwort übereinstimmen. <p> Wenn TLS für einen Director aktiviert ist, wird die Kommunikation zwischen diesem Director und diesem Speicherdämon mithilfe des ausgewählten Zertifikats und Schlüssels verschlüsselt und überprüft. <p><footer>

View File

@@ -0,0 +1 @@
<header>Storage-Daemon-Directors</header>Diese Seite listet alle Directors auf, die sich mit diesem Storage-Daemon verbinden dürfen. Wenn dieser Storage-Daemon zu einem entfernten Director hinzugefügt wird, muss das Passwort im Eintrag <b>Storage-Daemon</b> mit dem hier angegebenen Passwort übereinstimmen.<p>Wenn TLS für einen Director aktiviert ist, wird die Kommunikation zwischen diesem Director und dem Storage-Daemon verschlüsselt und mithilfe des ausgewählten Zertifikats und Schlüssels verifiziert.<p><footer>

View File

@@ -1 +0,0 @@
<header> Storage Daemon-Konfiguration </header> Mit diesem Formular können Sie die Einstellungen für den auf dem System ausgeführten Bacula-Speicherdämon anpassen. Die Standardeinstellungen sind normalerweise korrekt, obwohl Sie den Namen des Dämons und die Anzahl der gleichzeitigen Jobs anpassen können. Wenn Ihr Bacula-System TLS-Sicherheit unterstützt, können die TLS-Optionen auf dieser Seite verwendet werden, um die Kommunikation zwischen dem Speicher und den Dateidämonen zu sichern. <p><footer>

View File

@@ -0,0 +1 @@
<header>Storage-Daemon-Konfiguration</header>Mit diesem Formular können Einstellungen für den auf dem System laufenden Bacula-Storage-Daemon angepasst werden. Die Standardwerte sind in der Regel korrekt, jedoch können der Name des Daemons und die Anzahl gleichzeitiger Jobs geändert werden. Falls das Bacula-System TLS-Sicherheit unterstützt, können die TLS-Optionen auf dieser Seite genutzt werden, um die Kommunikation zwischen dem Storage- und den File-Daemons zu sichern.<p><footer>

View File

@@ -1 +0,0 @@
<header> Speicher-Dämonen </header> Jeder Eintrag auf dieser Seite definiert eine Verbindung zu einem bestimmten Gerät in einem Bacula-Speicherdämon. Normalerweise wird der Dämon auf demselben System ausgeführt, es ist jedoch möglich, mehr als einen Dämon zu definieren, von denen sich einige auf Remote-Hosts mit unterschiedlichen Bandlaufwerkstypen oder mehr Speicherplatz befinden. <p> Die wichtigen Attribute für jeden Daemon sind: <br><dl><dt> Speichername <dd> Ein eindeutiger Name, der auf diesem System zur Identifizierung des Dämons verwendet wird. <dt> Bacula SD Passwort <dd> Dieses Feld muss das vom Speicherdämon auf dem Remote-System verwendete Kennwort enthalten, das sich in der Datei <tt>/etc/bacula/bacula-sd.conf</tt> . <dt> Hostname oder IP-Adresse <dd> Der vollständig qualifizierte Hostname oder die IP des Systems, auf dem der Speicherdämon ausgeführt wird. <dt> Name des Speichergeräts <dd> Jeder Speicherdämon kann ein oder mehrere Geräte definieren, von denen jedes einem anderen Verzeichnis oder Bandlaufwerk entspricht. Dieses Feld bestimmt, welches Gerät diese bestimmte Daemon-Verbindung verwendet. <dt> Medientypname <dd> Dieses Feld muss einen Kurznamen für den vom Speichergerät verwendeten Medientyp enthalten, z. B. <i>Datei</i> oder <i>DDS-2</i> . Es muss das gleiches wie der Medientyp im <b>Speichergerät</b> Abschnitt auf dem Speicher - Server sein. </dl> Oft ist es nützlich, auf dieser Seite mehr als einen Eintrag für denselben Host zu haben, von denen jeder ein anderes Speichergerät hat. Auf diese Weise können Sie Sicherungen erstellen, die in verschiedene Verzeichnisse oder Bandlaufwerke schreiben. <p> Wenn die TLS-Optionen im Formular des Speicherdämons angezeigt werden, können sie verwendet werden, um eine sichere Kommunikation zwischen dem Director und dem Remotespeicherserver zu ermöglichen. Dies ist in einer einfachen Bacula-Konfiguration normalerweise nicht erforderlich, da die Speicher- und Director-Daemons normalerweise auf demselben System ausgeführt werden. <p><footer>

View File

@@ -0,0 +1 @@
<header>Storage-Daemons</header>Jeder Eintrag auf dieser Seite definiert eine Verbindung zu einem bestimmten Gerät auf einem Bacula-Storage-Daemon. In der Regel läuft der Daemon auf demselben System, jedoch ist es möglich, mehrere Daemons zu definieren, von denen einige auf entfernten Hosts mit unterschiedlichen Bandlaufwerkstypen oder mehr Speicherplatz betrieben werden.<p>Die wichtigsten Attribute für jeden Daemon sind:<br><dl><dt>Storage-Name<dd>Ein eindeutiger Name zur Identifizierung des Daemons auf diesem System.<dt>Bacula-SD-Passwort<dd>Dieses Feld muss das Passwort enthalten, das vom Storage-Daemon auf dem entfernten System verwendet wird. Es kann in der Datei <tt>/etc/bacula/bacula-sd.conf</tt> gefunden werden.<dt>Hostname oder IP-Adresse<dd>Der vollständig qualifizierte Hostname oder die IP-Adresse des Systems, auf dem der Storage-Daemon läuft.<dt>Speichergerät-Name<dd>Jeder Storage-Daemon kann ein oder mehrere Geräte definieren, die jeweils einem anderen Verzeichnis oder Bandlaufwerk entsprechen. Dieses Feld bestimmt, welches Gerät für diese Verbindung verwendet wird.<dt>Medientyp-Name<dd>Ein Kurzname für den Typ des Mediums, das vom Speichergerät verwendet wird, z. B. <i>File</i> oder <i>DDS-2</i>. Dieser Name muss mit dem Medientyp in der Sektion <b>Speichergeräte</b> auf dem Storage-Server übereinstimmen.</dl>Oft ist es sinnvoll, mehr als einen Eintrag für denselben Host auf dieser Seite zu haben, wobei jeder Eintrag ein anderes Speichergerät verwendet. Dies ermöglicht das Erstellen von Backups, die in verschiedene Verzeichnisse oder Bandlaufwerke geschrieben werden.<p>Falls auf dem Storage-Daemon-Formular TLS-Optionen angezeigt werden, können diese zur Absicherung der Kommunikation zwischen dem Director und dem entfernten Storage-Server genutzt werden. In einer einfachen Bacula-Konfiguration ist dies normalerweise nicht erforderlich, da der Storage- und der Director-Daemon in der Regel auf demselben System laufen.<p><footer>

View File

@@ -1,5 +1 @@
<header>Speicher-Daemon Status</header>
Diese Seite zeigt Backup-Aufträge, die derzeit ausgeführt werden und die 10 am häufigsten ausgeführten Aufträge auf einem ausgewählten Bacula Speicher-Daemon-System. Diejenigen die ausgeführt werden oder auf einen anderen Daemon ausgeführt werden, werden nicht angezeigt. <p>
<footer>
<header>Storage-Daemon-Status</header>Diese Seite zeigt aktuell laufende Backup-Jobs sowie die 10 zuletzt ausgeführten Jobs auf einem ausgewählten Bacula-Storage-Daemon-System an. Jobs, die auf anderen Daemons ausgeführt wurden oder werden, werden nicht angezeigt.<p><footer>

View File

@@ -1 +0,0 @@
<header> Bacula-Gruppensynchronisation </header> Da die Hosts in einer Bacula-Gruppe geändert werden können, nachdem sie in diesem Modul erstellt wurden, kann auf dieser Seite die automatische Aktualisierung der Gruppenmitgliedschaftsinformationen eingerichtet werden. Dieses Webmin-Modul speichert die Mitglieds-Hosts jeder Gruppe in der Bacula-Konfiguration zwischen und erkennt Änderungen an der Mitgliedschaft nur dann automatisch, wenn die Synchronisierung eingerichtet ist. <p><footer>

View File

@@ -0,0 +1 @@
<header>Bacula-Gruppen-Synchronisierung</header>Da sich die Hosts in einer Bacula-Gruppe nach ihrer Erstellung in diesem Modul ändern können, kann diese Seite verwendet werden, um die automatische Aktualisierung der Gruppenmitgliedschaft einzurichten. Dieses Webmin-Modul speichert die Mitglieds-Hosts jeder Gruppe in der Bacula-Konfiguration zwischen und erkennt Änderungen an der Mitgliedschaft nicht automatisch, es sei denn, eine Synchronisierung ist eingerichtet.<p><footer>

View File

@@ -1 +0,0 @@
<header> Bandbreitenüberwachung </header> Mit diesem Modul können einfache Berichte zur Bandbreitennutzung nach Port, Host, Protokoll und Zeit für Datenverkehr erstellt werden, der von Ihrem System gesendet oder durch dieses geleitet wird. Dies ist sowohl für eigenständige Hosts als auch für Hosts nützlich, die als Gateway (möglicherweise mit NAT) für ein Netzwerk fungieren. <p> Bevor das Modul verwendet werden kann, muss es mehrere Firewall-Regeln und einen Syslog-Eintrag einrichten, um den über Ihr System gesendeten und empfangenen Datenverkehr zu erfassen. Zur Einrichtungszeit müssen Sie die externe Netzwerkschnittstelle des Systems auswählen, auf der der Datenverkehr überwacht wird. Dies ist normalerweise die PPP-Schnittstelle, die für Ihre DFÜ- oder ADSL-Verbindung verwendet wird, oder die Ethernet-Schnittstelle, die an Ihr Kabelmodem oder Ihren Upstream-Router angeschlossen ist. <p> Sobald mindestens eine Stunde Verkehr erfasst wurde, kann das Modul verwendet werden, um Berichte zu erstellen, in denen der Verkehr nach einer der folgenden Kategorien zusammengefasst wird: <ul><li> <b>Stunde</b> <br> Datum und Uhrzeit des Eingangs der Daten. <li> <b>Tag</b> <br> Das Datum, an dem die Daten empfangen wurden. <li> <b>Wirt</b> <br> Der Host in Ihrem internen Netzwerk oder der Firewall-Host, der die Daten gesendet oder empfangen hat. <li> <b>Interner Port</b> <br> Der Port auf Ihrem internen Host oder Firewall-Host, an den die Daten gesendet wurden. Dieser Modus ist nützlich, um zu bestimmen, wie viel Datenverkehr durch Verbindungen zu jedem Ihrer Server 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 zu bestimmen, auf welche Dienste Benutzer Ihres Netzwerks zugreifen. <li> <b>Hafen</b> <br> Sowohl interne als auch externe Ports. Nützlich zum Vergleichen der gesamten Netzwerknutzung nach Diensttyp. </ul> Sie können den Bericht auch auf einen ausgewählten Host, Port oder Protokoll beschränken. Der Host kann über IP-Adresse, Hostname oder Netzwerkadresse wie 192.168.1.0 eingegeben werden. Der Port kann nach Name oder Nummer eingegeben werden und entspricht sowohl TCP als auch UDP. <p> Der Bericht kann auch auf den zwischen ausgewählten Stunden gesammelten Verkehr beschränkt werden, indem die Felder <b>Für Verkehr nach</b> und <b>Für Verkehr vor</b> verwendet werden. Da der Datenverkehr nach Stunden zusammengefasst wird, können Sie den Bericht nicht genauer als stündlich einschränken. <p> Die Option <b>Nur Server-Ports?</b> ist nützlich, wenn Sie über eingehende, ausgehende oder alle Ports berichten. Es beschränkt die Anzeige auf Ports, die üblicherweise von Servern verwendet werden (unter 1024 oder mit Namen), um zu vermeiden, dass die Anzeige mit Zählungen für clientseitige Ports überfüllt wird, die normalerweise nicht nützlich sind. <p> Die Option <b>Hostnamen auflösen?</b> kann bei der Berichterstellung nach Host ausgewählt werden. Wenn möglich, werden alle IP-Adressen in Hostnamen aufgelöst. <p><hr>

View 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 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>

View 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>

View File

@@ -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;

View File

@@ -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";
}

View File

@@ -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";
}

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More