Compare commits

..

No commits in common. "ab8822e3f4a736cdd8a2921c406489bb0e925969" and "68490a4a9bf80bd036eaa6c6d424c603e33cb52f" have entirely different histories.

70 changed files with 123 additions and 192 deletions

View File

@ -3,29 +3,6 @@
--- ---
## 2026-06-18 — #623 systemic shared-parent clobber resolved at source (PR #648)
- **Root cause corrected.** The recurring `/var/{lib,log,cache,…}/secubox` parent
clobber was NOT the `install -d -m 0750 /parent/leaf` leaf form (empirically
proven harmless: GNU `install -d -m` modes only the final component). It was the
scaffold boilerplate `install -d -m 750 /var/lib/secubox` + `/run/secubox` (BARE
parents) in ~56 module postinsts — written `-m 750` (3-digit), which is why prior
greps/sweeps (#511/#627/#631) missed it.
- **Source-wide fix.** Scripted rewrite of all bare-parent targets → `/run/secubox`
1777 root:root, `/var/lib|log|cache|etc|usr/share/secubox` 0755; 6 multi-arg
lines split per-parent (4 were setting `/var/lib/secubox` world-writable 1777 —
a security regression); 3 `chmod 750 /var/log/secubox` (soc-gateway/soc-agent/
ui-manager) → 0755. Module-private leaves (`/var/lib/secubox/<mod>` 0750) left
untouched. Scaffold `new-package.sh` + `.claude/PATTERNS.md` fixed so new
packages don't reintroduce it. secubox-core 1.1.8 tmpfiles.d now declares all 5
shared parents at 0755 (mode-only) for boot/install-time self-heal.
- **Verified:** all 64 changed maintainer scripts `bash -n` clean; zero bare-parent
restrictive lines remain (install-d + chmod forms); saas-relay + core rebuilt and
packaged postinst/tmpfiles confirmed. Two-stage review (found + closed 2 gaps:
the chmod-form clobbers + tmpfiles coverage). NOT mass-deployed (60-pkg restart =
thundering-herd risk); live covered by `secubox-dirs-guard.timer`; lands at next
CI image build / reflash.
## 2026-06-18 — perf sprint (hub latency, R3 tunnel encoding) + crowdsec unblock ## 2026-06-18 — perf sprint (hub latency, R3 tunnel encoding) + crowdsec unblock
- **Hub dashboard latency (#644, PR #645, hub `1.4.6`).** The hub runs mounted in - **Hub dashboard latency (#644, PR #645, hub `1.4.6`).** The hub runs mounted in

View File

@ -383,13 +383,9 @@ case "$1" in
adduser --system --group --no-create-home --home /var/lib/secubox secubox adduser --system --group --no-create-home --home /var/lib/secubox secubox
fi fi
# Répertoires runtime — SHARED parents, NE JAMAIS les passer en 0750/0700 # Répertoires runtime
# (#623 : casse la traversée pour les daemons non-secubox → kbin/toolbox 500). install -d -o secubox -g secubox -m 750 /run/secubox
# /run/secubox reste 1777 (sticky world-writable, sockets de tous les services, install -d -o secubox -g secubox -m 750 /var/lib/secubox
# #471) ; /var/lib/secubox reste 0755. Les leaves privées
# (/var/lib/secubox/<module>) peuvent être 0750.
install -d -o root -g root -m 1777 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
# Activer et démarrer le service # Activer et démarrer le service
systemctl daemon-reload systemctl daemon-reload

View File

@ -22,20 +22,13 @@ Tout mergé sur master + déployé sur gk2. Détail dans HISTORY 2026-06-18.
CSP-strict tirées décompressées via le worker R3 GIL-bound. **toolbox 2.6.53**. CSP-strict tirées décompressées via le worker R3 GIL-bound. **toolbox 2.6.53**.
- ✅ **crowdsec** réparé (403 transitoire CDN → `dpkg --configure` RC=0, audit clean). - ✅ **crowdsec** réparé (403 transitoire CDN → `dpkg --configure` RC=0, audit clean).
- ✅ **#623 (PR #648, merged 9950e9ec)** — clobber systémique RÉSOLU au source.
La vraie cause : boilerplate scaffold `install -d -m 750 /var/lib/secubox` +
`/run/secubox` (parents NUS) dans ~56 postinsts — écrit `-m 750` (3 chiffres),
d'où le ratage des sweeps précédents. Empiriquement prouvé que le form
`install -d -m 750 /parent/leaf` NE clobbe PAS le parent (seuls les targets
parents-nus). Fix : tous → 1777 (/run) / 0755 ; 6 lignes multi-arg splittées
(4 mettaient /var/lib en world-writable 1777) ; 3 `chmod 750 /var/log` ;
scaffold `new-package.sh` + `PATTERNS.md` ; core 1.1.8 tmpfiles.d déclare les 5
parents 0755. **PAS de mass-deploy** (60 paquets = mass-restart = risque
thundering-herd) ; live couvert par `dirs-guard.timer` ; arrive au prochain
build CI / reflash.
### ⬜ Next Up ### ⬜ Next Up
- **#623 (P0 bug)** — clobber systémique des modes parents `/var/{lib,log,cache}/
secubox` sur ~12 paquets (postinsts `install -d -m 0750` multi-arg que le sweep
#623 a manqués). Couvert par `secubox-dirs-guard.timer` mais la cause-racine
reste ouverte paquet par paquet → casse la traversée non-`secubox` (kbin/toolbox
500). **Prochain actionnable propre** (PR bornée).
- **Anti-Track v2 ARMING** (décision USER, gated) — soak observe-only puis flip - **Anti-Track v2 ARMING** (décision USER, gated) — soak observe-only puis flip
`privacy_enforce=true` ; régénérer `data/cdn-allowlist.txt` depuis les plages `privacy_enforce=true` ; régénérer `data/cdn-allowlist.txt` depuis les plages
publiques avant `privacy_ip_drop` ; `unbound-checkconf` avant `privacy_dns_feed`. publiques avant `privacy_ip_drop` ; `unbound-checkconf` avant `privacy_dns_feed`.

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/admin install -d -o secubox -g secubox -m 750 /var/lib/secubox/admin
install -d -o root -g secubox -m 0755 /var/log/secubox install -d -o root -g secubox -m 0755 /var/log/secubox
systemctl daemon-reload systemctl daemon-reload

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/ai-insights install -d -o secubox -g secubox -m 750 /var/lib/secubox/ai-insights
install -d -o secubox -g secubox -m 750 /var/lib/secubox/ai-insights/models install -d -o secubox -g secubox -m 750 /var/lib/secubox/ai-insights/models
install -d -o secubox -g secubox -m 750 /var/cache/secubox/ai-insights install -d -o secubox -g secubox -m 750 /var/cache/secubox/ai-insights

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-auth.service systemctl enable secubox-auth.service
systemctl start secubox-auth.service || true systemctl start secubox-auth.service || true

View File

@ -9,7 +9,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/authelia install -d -m 0755 -o secubox -g secubox /var/lib/secubox/authelia
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/avatar install -d -o secubox -g secubox -m 750 /var/lib/secubox/avatar
install -d -o secubox -g secubox -m 750 /var/lib/secubox/avatar/images install -d -o secubox -g secubox -m 750 /var/lib/secubox/avatar/images
systemctl daemon-reload systemctl daemon-reload

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-cdn.service systemctl enable secubox-cdn.service
systemctl start secubox-cdn.service || true systemctl start secubox-cdn.service || true

View File

@ -1,8 +1,7 @@
#!/bin/sh #!/bin/sh
set -e set -e
if [ "$1" = "configure" ]; then if [ "$1" = "configure" ]; then
install -d -o root -g root -m 1777 /run/secubox install -d -m 0755 /run/secubox /var/cache/secubox/certs
install -d -m 0755 /var/cache/secubox/certs
systemctl daemon-reload || true systemctl daemon-reload || true
systemctl enable --now secubox-certs.service || true systemctl enable --now secubox-certs.service || true
fi fi

View File

@ -1,15 +1,3 @@
secubox-core (1.1.8-1~bookworm1) bookworm; urgency=medium
* fix(#623): tmpfiles.d now declares all shared secubox parents
(/var/lib, /var/log, /var/cache, /etc, /usr/share /secubox) at 0755
(mode-only, owner-agnostic), in addition to /run/secubox 1777 — boot +
install-time defense-in-depth that self-heals a momentary 0750 clobber
before the next secubox-dirs-guard.timer tick. Pairs with the source-wide
postinst sweep that stopped ~56 module postinsts from clobbering those
parents.
-- Gerald Kerma <devel@cybermind.fr> Thu, 18 Jun 2026 13:00:00 +0200
secubox-core (1.1.7-1~bookworm1) bookworm; urgency=medium secubox-core (1.1.7-1~bookworm1) bookworm; urgency=medium
* fix(postinst): /var/lib/secubox + /usr/share/secubox/www were set 0750, * fix(postinst): /var/lib/secubox + /usr/share/secubox/www were set 0750,

View File

@ -1,11 +1 @@
d /run/secubox 1777 root root - d /run/secubox 1777 root root -
# #623 — defense-in-depth: guarantee the SHARED secubox parents stay traversable
# (0755) at boot and on every `systemd-tmpfiles --create`, so if a module postinst
# momentarily re-clobbers one to 0750 it self-heals before the next
# secubox-dirs-guard.timer tick. Mode-only (owner `-`) to mirror the owner-agnostic
# dirs-guard and never fight secubox-core's / a module's own ownership.
d /var/lib/secubox 0755 - - -
d /var/log/secubox 0755 - - -
d /var/cache/secubox 0755 - - -
d /etc/secubox 0755 - - -
d /usr/share/secubox 0755 - - -

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-crowdsec.service systemctl enable secubox-crowdsec.service
systemctl start secubox-crowdsec.service || true systemctl start secubox-crowdsec.service || true

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directories # Create data directories
install -d -m 755 /srv/domoticz install -d -m 755 /srv/domoticz
install -d -m 755 /srv/domoticz/config install -d -m 755 /srv/domoticz/config

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-dpi.service systemctl enable secubox-dpi.service
systemctl start secubox-dpi.service || true systemctl start secubox-dpi.service || true

View File

@ -8,8 +8,8 @@ case "$1" in
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 755 /srv/droplet install -d -o secubox -g secubox -m 755 /srv/droplet
# Enable and start service # Enable and start service

View File

@ -13,7 +13,7 @@ case "$1" in
# the device with). # the device with).
usermod -aG plugdev secubox 2>/dev/null || true usermod -aG plugdev secubox 2>/dev/null || true
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/fmrelay install -d -m 0755 -o secubox -g secubox /var/lib/secubox/fmrelay
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/glances install -d -o secubox -g secubox -m 750 /var/lib/secubox/glances
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-glances.service systemctl enable secubox-glances.service

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directory for GoToSocial # Create data directory for GoToSocial
install -d -o root -g root -m 755 /srv/gotosocial install -d -o root -g root -m 755 /srv/gotosocial
install -d -o root -g root -m 755 /srv/gotosocial/storage install -d -o root -g root -m 755 /srv/gotosocial/storage

View File

@ -9,7 +9,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/grafana install -d -m 0755 -o secubox -g secubox /var/lib/secubox/grafana
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -7,8 +7,7 @@ case "$1" in
# Shared parents stay 0755 (traversable by every secubox-* daemon — setting # Shared parents stay 0755 (traversable by every secubox-* daemon — setting
# them 0750 here broke kbin/toolbox by blocking traversal, #626). Only the # them 0750 here broke kbin/toolbox by blocking traversal, #626). Only the
# haproxy-private leaves are restricted. # haproxy-private leaves are restricted.
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 755 /run/secubox /var/lib/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/haproxy /var/lib/secubox/haproxy/config_backups install -d -o secubox -g secubox -m 750 /var/lib/secubox/haproxy /var/lib/secubox/haproxy/config_backups
chmod 0755 /var/lib/secubox /run/secubox 2>/dev/null || true chmod 0755 /var/lib/secubox /run/secubox 2>/dev/null || true
# Create /etc/haproxy if not present (haproxy is Recommends, not Depends) # Create /etc/haproxy if not present (haproxy is Recommends, not Depends)

View File

@ -3,7 +3,7 @@ set -e
case "$1" in case "$1" in
configure) configure)
install -d -o secubox -g secubox -m 755 /var/cache/secubox install -d -o secubox -g secubox -m 750 /var/cache/secubox
systemctl daemon-reload systemctl daemon-reload
# API daemon + periodic timer # API daemon + periodic timer
systemctl enable --now secubox-health-doctor.service || true systemctl enable --now secubox-health-doctor.service || true

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create hexo data directory # Create hexo data directory
install -d -o root -g root -m 755 /srv/hexo/blogs install -d -o root -g root -m 755 /srv/hexo/blogs
# Ensure nginx secubox.d directory exists # Ensure nginx secubox.d directory exists

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directories # Create data directories
install -d -m 755 /srv/homeassistant install -d -m 755 /srv/homeassistant
install -d -m 755 /srv/homeassistant/config install -d -m 755 /srv/homeassistant/config

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-hub.service systemctl enable secubox-hub.service
systemctl start secubox-hub.service || true systemctl start secubox-hub.service || true

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Ensure nginx secubox.d directory exists # Ensure nginx secubox.d directory exists
install -d -m 755 /etc/nginx/secubox.d install -d -m 755 /etc/nginx/secubox.d
# Enable and start service # Enable and start service

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create Jitsi data directory # Create Jitsi data directory
install -d -o root -g root -m 755 /srv/jitsi install -d -o root -g root -m 755 /srv/jitsi
install -d -o root -g root -m 755 /srv/jitsi/recordings install -d -o root -g root -m 755 /srv/jitsi/recordings

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/ksm install -d -o secubox -g secubox -m 750 /var/lib/secubox/ksm
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-ksm.service systemctl enable secubox-ksm.service

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directories # Create data directories
install -d -m 755 /srv/localai install -d -m 755 /srv/localai
install -d -m 755 /srv/localai/models install -d -m 755 /srv/localai/models

View File

@ -9,7 +9,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/lyrion install -d -m 0755 -o secubox -g secubox /var/lib/secubox/lyrion
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/mac-guard install -d -o secubox -g secubox -m 750 /var/lib/secubox/mac-guard
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-mac-guard.service systemctl enable secubox-mac-guard.service

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-mediaflow.service systemctl enable secubox-mediaflow.service
systemctl start secubox-mediaflow.service || true systemctl start secubox-mediaflow.service || true

View File

@ -5,10 +5,10 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/cache/secubox/metabolizer install -d -o secubox -g secubox -m 750 /var/cache/secubox/metabolizer
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -o secubox -g secubox -m 750 /etc/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-metabolizer.service systemctl enable secubox-metabolizer.service
systemctl start secubox-metabolizer.service || true systemctl start secubox-metabolizer.service || true

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/cache/secubox/metacatalog install -d -o secubox -g secubox -m 750 /var/cache/secubox/metacatalog
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-metacatalog.service systemctl enable secubox-metacatalog.service

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/mirrors install -d -o secubox -g secubox -m 750 /var/lib/secubox/mirrors
install -d -o secubox -g secubox -m 750 /var/cache/secubox-mirror install -d -o secubox -g secubox -m 750 /var/cache/secubox-mirror
install -d -o secubox -g secubox -m 750 /etc/nginx/secubox-mirror.d install -d -o secubox -g secubox -m 750 /etc/nginx/secubox-mirror.d

View File

@ -9,7 +9,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0750 -o root -g secubox /etc/secubox/secrets install -d -m 0750 -o root -g secubox /etc/secubox/secrets
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/mqtt install -d -m 0755 -o secubox -g secubox /var/lib/secubox/mqtt
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-nac.service systemctl enable secubox-nac.service
systemctl start secubox-nac.service || true systemctl start secubox-nac.service || true

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-netdata.service systemctl enable secubox-netdata.service
systemctl start secubox-netdata.service || true systemctl start secubox-netdata.service || true

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/cache/secubox/netdiag install -d -o secubox -g secubox -m 750 /var/cache/secubox/netdiag
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-netdiag.service systemctl enable secubox-netdiag.service

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/netifyd install -d -o secubox -g secubox -m 750 /var/lib/secubox/netifyd
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-netifyd.service systemctl enable secubox-netifyd.service

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o root -g root -m 755 /var/lib/secubox/netmodes-backup install -d -o root -g root -m 755 /var/lib/secubox/netmodes-backup
install -d -o root -g root -m 755 /etc/secubox/netmodes install -d -o root -g root -m 755 /etc/secubox/netmodes
systemctl daemon-reload systemctl daemon-reload

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/nettweak install -d -o secubox -g secubox -m 750 /var/lib/secubox/nettweak
install -d -o root -g root -m 755 /etc/sysctl.d install -d -o root -g root -m 755 /etc/sysctl.d
systemctl daemon-reload systemctl daemon-reload

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o root -g root -m 755 /srv/newsbin install -d -o root -g root -m 755 /srv/newsbin
install -d -o root -g root -m 755 /srv/downloads/usenet install -d -o root -g root -m 755 /srv/downloads/usenet
install -d -o root -g root -m 755 /srv/downloads/usenet/complete install -d -o root -g root -m 755 /srv/downloads/usenet/complete

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Ensure nginx secubox.d directory exists # Ensure nginx secubox.d directory exists
install -d -m 755 /etc/nginx/secubox.d install -d -m 755 /etc/nginx/secubox.d
# Enable and start service # Enable and start service

View File

@ -8,12 +8,11 @@ if [ "$1" = "configure" ]; then
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Runtime + state directories # Runtime + state directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox /var/lib/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
# Do NOT reset /etc/secubox — secubox-core owns it as secubox:secubox 0750 # Do NOT reset /etc/secubox — secubox-core owns it as secubox:secubox 0750
# (the users-engine needs dir-write for atomic users.json saves / TOTP). # (the users-engine needs dir-write for atomic users.json saves / TOTP).
# Only create as a fallback if it's somehow missing. # Only create as a fallback if it's somehow missing.
[ -d /etc/secubox ] || install -d -o secubox -g secubox -m 755 /etc/secubox [ -d /etc/secubox ] || install -d -o secubox -g secubox -m 750 /etc/secubox
# nginx snippet directory (peertube.conf shipped by the package lands here) # nginx snippet directory (peertube.conf shipped by the package lands here)
install -d -m 755 /etc/nginx/secubox.d install -d -m 755 /etc/nginx/secubox.d

View File

@ -7,12 +7,12 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Do NOT reset /etc/secubox — secubox-core owns it as secubox:secubox 0750 # Do NOT reset /etc/secubox — secubox-core owns it as secubox:secubox 0750
# (the users-engine needs dir-write for atomic users.json saves / TOTP). # (the users-engine needs dir-write for atomic users.json saves / TOTP).
# Only create as a fallback if it's somehow missing. # Only create as a fallback if it's somehow missing.
[ -d /etc/secubox ] || install -d -o secubox -g secubox -m 755 /etc/secubox [ -d /etc/secubox ] || install -d -o secubox -g secubox -m 750 /etc/secubox
# #319 /data migration: move legacy /srv/photoprism → /data/photoprism and # #319 /data migration: move legacy /srv/photoprism → /data/photoprism and
# leave a back-compat symlink. Idempotent. # leave a back-compat symlink. Idempotent.

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directories for picobrew # Create data directories for picobrew
install -d -o secubox -g secubox -m 755 /var/lib/secubox/picobrew install -d -o secubox -g secubox -m 755 /var/lib/secubox/picobrew
install -d -o secubox -g secubox -m 755 /var/lib/secubox/picobrew/sensors install -d -o secubox -g secubox -m 755 /var/lib/secubox/picobrew/sensors

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-portal.service systemctl enable secubox-portal.service
systemctl start secubox-portal.service || true systemctl start secubox-portal.service || true

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-qos.service systemctl enable secubox-qos.service
systemctl start secubox-qos.service || true systemctl start secubox-qos.service || true

View File

@ -10,7 +10,7 @@ case "$1" in
# dialout: needed for /dev/ttyUSB* access when the EP06 enumerates # dialout: needed for /dev/ttyUSB* access when the EP06 enumerates
usermod -aG dialout secubox 2>/dev/null || true usermod -aG dialout secubox 2>/dev/null || true
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/rbs-sensor install -d -m 0755 -o secubox -g secubox /var/lib/secubox/rbs-sensor
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,11 +5,11 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/reports install -d -o secubox -g secubox -m 750 /var/lib/secubox/reports
install -d -o secubox -g secubox -m 750 /var/cache/secubox/reporter install -d -o secubox -g secubox -m 750 /var/cache/secubox/reporter
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -o secubox -g secubox -m 750 /etc/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-reporter.service systemctl enable secubox-reporter.service
systemctl start secubox-reporter.service || true systemctl start secubox-reporter.service || true

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-routes.service systemctl enable secubox-routes.service
systemctl start secubox-routes.service || true systemctl start secubox-routes.service || true

View File

@ -6,7 +6,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/rustdesk install -d -m 0755 -o secubox -g secubox /var/lib/secubox/rustdesk
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -4,9 +4,7 @@ case "$1" in
configure) configure)
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox /var/lib/secubox /var/lib/secubox/saas-relay
install -d -o secubox -g secubox -m 755 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/lib/secubox/saas-relay
install -d -o secubox -g secubox -m 700 /etc/secubox/secrets install -d -o secubox -g secubox -m 700 /etc/secubox/secrets
install -d -o secubox -g secubox -m 750 /var/cache/secubox/saas-relay install -d -o secubox -g secubox -m 750 /var/cache/secubox/saas-relay
systemctl daemon-reload systemctl daemon-reload

View File

@ -12,7 +12,7 @@ case "$1" in
# daemon can claim the USB device when v0.2 wires the SDR I/O. # daemon can claim the USB device when v0.2 wires the SDR I/O.
usermod -aG plugdev secubox 2>/dev/null || true usermod -aG plugdev secubox 2>/dev/null || true
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0750 -o root -g secubox /etc/secubox/secrets install -d -m 0750 -o root -g secubox /etc/secubox/secrets
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/sentinelle-gsm install -d -m 0755 -o secubox -g secubox /var/lib/secubox/sentinelle-gsm
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -5,9 +5,9 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -o secubox -g secubox -m 750 /etc/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-smtp-relay.service systemctl enable secubox-smtp-relay.service
systemctl start secubox-smtp-relay.service || true systemctl start secubox-smtp-relay.service || true

View File

@ -17,7 +17,7 @@ case "$1" in
# Ensure log directory exists with correct permissions # Ensure log directory exists with correct permissions
mkdir -p /var/log/secubox mkdir -p /var/log/secubox
chown root:adm /var/log/secubox chown root:adm /var/log/secubox
chmod 0755 /var/log/secubox chmod 750 /var/log/secubox
# Create config directory # Create config directory
mkdir -p /etc/secubox mkdir -p /etc/secubox

View File

@ -17,7 +17,7 @@ case "$1" in
# Ensure log directory exists with correct permissions # Ensure log directory exists with correct permissions
mkdir -p /var/log/secubox mkdir -p /var/log/secubox
chown root:adm /var/log/secubox chown root:adm /var/log/secubox
chmod 0755 /var/log/secubox chmod 750 /var/log/secubox
# Create config directory # Create config directory
mkdir -p /etc/secubox mkdir -p /etc/secubox

View File

@ -4,8 +4,7 @@ case "$1" in
configure) configure)
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox /var/lib/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
install -d -o secubox -g secubox -m 755 /srv/streamlit/apps install -d -o secubox -g secubox -m 755 /srv/streamlit/apps
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-streamforge.service systemctl enable secubox-streamforge.service

View File

@ -4,8 +4,7 @@ case "$1" in
configure) configure)
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox adduser --system --group --no-create-home --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox /var/lib/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
install -d -o secubox -g secubox -m 755 /srv/streamlit/apps /srv/streamlit/logs install -d -o secubox -g secubox -m 755 /srv/streamlit/apps /srv/streamlit/logs
install -d -o secubox -g secubox -m 755 /var/log/secubox install -d -o secubox -g secubox -m 755 /var/log/secubox
install -d -o root -g root -m 755 /etc/secubox install -d -o root -g root -m 755 /etc/secubox

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-system.service systemctl enable secubox-system.service
systemctl start secubox-system.service || true systemctl start secubox-system.service || true

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /var/cache/secubox/torrent install -d -o secubox -g secubox -m 750 /var/cache/secubox/torrent
# Create data directories # Create data directories
install -d -m 755 /srv/torrent/config install -d -m 755 /srv/torrent/config

View File

@ -15,7 +15,7 @@ case "$1" in
# Create log directory # Create log directory
mkdir -p /var/log/secubox mkdir -p /var/log/secubox
chmod 0755 /var/log/secubox chmod 750 /var/log/secubox
# Create config directory # Create config directory
mkdir -p /etc/secubox/ui mkdir -p /etc/secubox/ui

View File

@ -7,7 +7,7 @@ case "$1" in
getent group secubox >/dev/null || groupadd --system secubox getent group secubox >/dev/null || groupadd --system secubox
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
# Run v1 → v2 migration (idempotent) # Run v1 → v2 migration (idempotent)
python3 - <<'PYEOF' || echo 'WARN: migration step failed — investigate /etc/secubox/users.json' python3 - <<'PYEOF' || echo 'WARN: migration step failed — investigate /etc/secubox/users.json'

View File

@ -5,8 +5,8 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
systemctl daemon-reload systemctl daemon-reload
systemctl enable secubox-vhost.service systemctl enable secubox-vhost.service
systemctl start secubox-vhost.service || true systemctl start secubox-vhost.service || true

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
install -d -o secubox -g secubox -m 750 /srv/voip install -d -o secubox -g secubox -m 750 /srv/voip
# Ensure nginx secubox.d directory exists # Ensure nginx secubox.d directory exists
install -d -m 755 /etc/nginx/secubox.d install -d -m 755 /etc/nginx/secubox.d

View File

@ -7,8 +7,8 @@ case "$1" in
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories # Create runtime directories
install -d -o root -g root -m 1777 /run/secubox install -d -o secubox -g secubox -m 750 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox install -d -o secubox -g secubox -m 750 /var/lib/secubox
# Create data directories # Create data directories
install -d -o secubox -g secubox -m 755 /var/lib/secubox/webradio install -d -o secubox -g secubox -m 755 /var/lib/secubox/webradio
install -d -o secubox -g secubox -m 755 /var/lib/secubox/webradio/recordings install -d -o secubox -g secubox -m 755 /var/lib/secubox/webradio/recordings

View File

@ -8,7 +8,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/yacy install -d -m 0755 -o secubox -g secubox /var/lib/secubox/yacy
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -9,7 +9,7 @@ case "$1" in
getent passwd secubox >/dev/null || useradd --system --gid secubox \ getent passwd secubox >/dev/null || useradd --system --gid secubox \
--home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox --home /var/lib/secubox --no-create-home --shell /usr/sbin/nologin secubox
install -d -o secubox -g secubox -m 755 /etc/secubox install -d -m 0770 -o root -g secubox /etc/secubox
install -d -m 0750 -o root -g secubox /etc/secubox/secrets install -d -m 0750 -o root -g secubox /etc/secubox/secrets
install -d -m 0755 -o secubox -g secubox /var/lib/secubox/zigbee install -d -m 0755 -o secubox -g secubox /var/lib/secubox/zigbee
install -d -m 0755 -o secubox -g secubox /var/log/secubox install -d -m 0755 -o secubox -g secubox /var/log/secubox

View File

@ -201,15 +201,9 @@ case "$1" in
id -u secubox >/dev/null 2>&1 || \ id -u secubox >/dev/null 2>&1 || \
adduser --system --group --no-create-home \ adduser --system --group --no-create-home \
--home /var/lib/secubox --shell /usr/sbin/nologin secubox --home /var/lib/secubox --shell /usr/sbin/nologin secubox
# Create runtime directories. # Create runtime directories
# NOTE (#623): these are SHARED parents — keep them traversable for every install -d -o secubox -g secubox -m 750 /run/secubox
# secubox-* daemon. /run/secubox MUST stay 1777 (world-writable sticky, all install -d -o secubox -g secubox -m 750 /var/lib/secubox
# services drop sockets there, ref #471); /var/lib/secubox MUST stay 0755.
# NEVER set a shared parent to 0750/0700 — it breaks traversal for non-secubox
# users (kbin/toolbox 500). Module-private leaves (/var/lib/secubox/PKGNAME)
# may be 0750. Re-asserting 0755/1777 here is idempotent + self-healing.
install -d -o root -g root -m 1777 /run/secubox
install -d -o secubox -g secubox -m 755 /var/lib/secubox
# Ensure nginx secubox.d directory exists # Ensure nginx secubox.d directory exists
install -d -m 755 /etc/nginx/secubox.d install -d -m 755 /etc/nginx/secubox.d
# Enable and start service # Enable and start service