Commit Graph

148 Commits

Author SHA1 Message Date
Ilia Ross
14f90afb89 Fix to cache init mode for menu title selection 2026-06-07 16:55:20 +02:00
Ilia Ross
4e929b5fa2 Update module description and language files 2026-06-05 21:17:12 +02:00
Ilia Ross
5499d1c051 Fix to modernize init module configuration by boot system 2026-06-05 20:49:53 +02:00
Ilia Ross
a83db9f57d Add advanced systemd unit and user unit management
This PR expands the "Bootup and Shutdown" module’s systemd support with creation and management for services, timers, sockets, paths and targets. It also adds user-scoped systemd units, linger controls, status and log actions, tabbed unit listings by type, and contextual help for the new options.

For user-scoped units, the implementation includes several safety guards because unit files live under user-controlled home directories:

- User accounts are validated with system account data before any user-unit operation is attempted.
- User unit names are restricted to known systemd unit suffixes and safe filename characters.
- User unit files are limited to direct children of `~/.config/systemd/user`.
- Symlinked `.config`, `.config/systemd`, and `.config/systemd/user` paths are rejected.
- User unit reads, writes, directory creation, and deletes are performed after dropping privileges to the target Unix user.
- File operations re-check paths close to the actual read/write/delete operation to reduce symlink race exposure.
- User unit create failures roll back half-created files when daemon reload fails.
- User-provided unit names, owners, paths, command output, and logs are HTML-escaped before display.
- systemctl, journalctl, and loginctl command arguments are shell-quoted before execution.
- User services omit `User=` and `Group=` directives because they already run under the selected user’s systemd manager.

Together, all these changes will allow Webmin admin to manage both system and user systemd units while keeping user-controlled home-directory paths from becoming root-level file read/write/delete exploits.

Implemented in response to these two issue requests  https://github.com/webmin/webmin/issues/2733 and https://github.com/webmin/webmin/issues/2734
2026-06-02 20:32:03 +02:00
Ilia Ross
2e245a1035 Add a separate "Unit type" column 2025-07-05 16:03:47 +03:00
Ilia Ross
90f4265389 Fix to use unit term for systemd systems 2025-07-03 13:28:55 +03:00
Ilia Ross
f880192526 Remove languages with 0% coverage
https://github.com/webmin/webmin/issues/2403#issuecomment-2652613588
2025-02-12 13:19:49 +02:00
MacSteini
162206949f Consecutive Spaces Replacement
Replaced multiple consecutive spaces with a single space
2024-12-16 16:57:09 +00:00
MacSteini
5ea0cc6b42 Trailing Spaces Removal
Removed trailing spaces
2024-12-16 15:16:55 +00:00
MacSteini
64598e5f39 Blanks Removal
Removed blanks before or after the equal sign
2024-12-16 12:59:19 +00:00
MacSteini
477982776c Updated de
Corrections (UTF-8, new lines at file end), amendments, updates
2024-11-26 01:43:34 +00:00
MacSteini
d3f8859df2 German translation files reviewed and updated 2024-09-06 15:22:42 +01:00
Ilia Ross
79b840024a Update translations 2023-11-14 20:16:19 +02:00
iliajie
60349eb62e Protect Webmin from being deleted or stopped, and restart properly 2022-10-19 14:25:43 +03:00
iliajie
18a84c643e Update translations 2022-10-19 13:44:49 +03:00
iliajie
6a38dd89d1 Fix precedence is very important, especially when service is masked
* Unit must be enabled (and unmasked) first before starting
  * Therefore a service cannot be started before it's enabled in Webmin
2022-10-19 13:40:40 +03:00
iliajie
460ba7d8cd Add support to display No (masked) state 2022-10-19 12:33:08 +03:00
unknown10777
8664fbd78c added translation 2022-08-27 14:06:42 +08:00
Ilia Rostovtsev
3bd9b9dcbe Add status to systemd services 2022-02-19 16:17:23 +03:00
Ilia Rostovtsev
0462945632 Update translations 3/3 2021-11-18 22:13:17 +03:00
Jamie Cameron
20db4a29cf Show config file name 2021-09-09 21:50:17 -07:00
Jamie Cameron
73aa2eac76 Japanese update 2021-08-17 20:54:02 -07:00
Ilia Rostovtsev
4c4b647096 Fix to add extra line breaks (sections) to language files 2020-12-27 21:15:36 +03:00
Jamie Cameron
c6345ec1e9 Norwegian translation update from Stein-Askel Basma 2020-12-06 11:00:27 -08:00
Ilia Rostovtsev
fafc6ed2b5 Drop useless empty files /2 2020-04-29 23:25:40 +03:00
Ilia Rostovtsev
ee56777e6d Drop useless empty files 2020-04-29 23:17:45 +03:00
Ilia Rostovtsev
8b40bed018 Fix to escape HTML entities as designed on template language (en)
Note: Large diff for most files is due to sorting lines as in template languge file (English)
2020-04-14 01:34:18 +03:00
Ilia Rostovtsev
35e443a7fc Fix post-translation bugs /9 2020-03-13 14:38:43 +03:00
Ilia Rostovtsev
87d3d5fa3b Fix post-translation bugs /4 2020-03-13 12:59:54 +03:00
Ilia Rostovtsev
a6d89bc1d5 Add transcoding/translation for init module of 한국어 (ko) 2020-03-09 08:14:45 +03:00
Ilia Rostovtsev
d7e4f4e5f1 Add transcoding/translation for init module of 日本語 (ja) 2020-03-09 08:14:06 +03:00
Ilia Rostovtsev
3b8ddefc65 Add transcoding/translation for init module of 中文 (繁體) (zh_TW) 2020-03-09 08:13:25 +03:00
Ilia Rostovtsev
d39fc2e98e Add transcoding/translation for init module of 中文 (简体) (zh) 2020-03-09 08:12:26 +03:00
Ilia Rostovtsev
d5ff72b27e Add transcoding/translation for init module of ไทย (th) 2020-03-09 08:11:27 +03:00
Ilia Rostovtsev
5759328c2b Add transcoding/translation for init module of فارسی (fa) 2020-03-09 08:09:46 +03:00
Ilia Rostovtsev
f1b3b3ee40 Add transcoding/translation for init module of العربية (ar) 2020-03-09 08:08:52 +03:00
Ilia Rostovtsev
66539dd946 Add transcoding/translation for init module of اردو (ur) 2020-03-09 08:07:11 +03:00
Ilia Rostovtsev
7b0985aa26 Add transcoding/translation for init module of עברית (he) 2020-03-09 08:05:30 +03:00
Ilia Rostovtsev
f4464be4b5 Add transcoding/translation for init module of українська (uk) 2020-03-09 08:03:47 +03:00
Ilia Rostovtsev
750e5c370a Add transcoding/translation for init module of русский (ru) 2020-03-09 08:02:44 +03:00
Ilia Rostovtsev
b5e8880b33 Add transcoding/translation for init module of български (bg) 2020-03-09 08:02:05 +03:00
Ilia Rostovtsev
ac3e491fda Add transcoding/translation for init module of беларуская (be) 2020-03-09 08:00:21 +03:00
Ilia Rostovtsev
029b94dc90 Add transcoding/translation for init module of Ελληνικά (el) 2020-03-09 07:58:36 +03:00
Ilia Rostovtsev
0a5c240d7d Add transcoding/translation for init module of čeština (cs) 2020-03-09 07:56:29 +03:00
Ilia Rostovtsev
96a74efb92 Add transcoding/translation for init module of svenska (sv) 2020-03-09 07:55:51 +03:00
Ilia Rostovtsev
d5df404e9d Add transcoding/translation for init module of suomi (fi) 2020-03-09 07:54:38 +03:00
Ilia Rostovtsev
326aaabbb7 Add transcoding/translation for init module of slovenščina (sl) 2020-03-09 07:52:54 +03:00
Ilia Rostovtsev
45b5a5b39f Add transcoding/translation for init module of slovenčina (sk) 2020-03-09 07:51:11 +03:00
Ilia Rostovtsev
3bf0878ad6 Add transcoding/translation for init module of română (ro) 2020-03-09 07:49:28 +03:00
Ilia Rostovtsev
de74a59e05 Add transcoding/translation for init module of português (Brasil) (pt_BR) 2020-03-09 07:47:46 +03:00