Rendre le data_dir visible au service : ProtectHome=tmpfs + BindPaths
Le data_dir de YunoHost vit sous /home/yunohost.app/mabibli, or ProtectHome=yes rend /home vide dans le namespace du service : le démarrage mourait sur « SQLite Error 14: unable to open database file ». ReadWritePaths ne perce pas ProtectHome — vérifié sur une unité de test : `yes` + ReadWritePaths échoue, `tmpfs` + BindPaths réussit. La forme retenue garde les répertoires personnels du serveur invisibles au service. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+11
-1
@@ -71,7 +71,17 @@ NoNewPrivileges=yes
|
|||||||
PrivateTmp=yes
|
PrivateTmp=yes
|
||||||
PrivateDevices=yes
|
PrivateDevices=yes
|
||||||
DevicePolicy=closed
|
DevicePolicy=closed
|
||||||
ProtectHome=yes
|
# ⚠️ `yes` ne convient PAS ici, et c'est contre-intuitif.
|
||||||
|
# Le `data_dir` de YunoHost vit sous `/home/yunohost.app/__APP__`. `ProtectHome=yes`
|
||||||
|
# rend `/home` inaccessible et vide dans le namespace du service : la base devient
|
||||||
|
# introuvable, et le démarrage meurt sur « SQLite Error 14: unable to open database
|
||||||
|
# file ». `ReadWritePaths=` ne suffit pas à percer cette protection — mesuré sur une
|
||||||
|
# unité de test : `yes` + `ReadWritePaths` échoue, `tmpfs` + `BindPaths` réussit.
|
||||||
|
#
|
||||||
|
# `tmpfs` conserve l'essentiel du bénéfice : les répertoires personnels du serveur
|
||||||
|
# restent invisibles au service, seul son propre répertoire de données est remonté.
|
||||||
|
ProtectHome=tmpfs
|
||||||
|
BindPaths=__DATA_DIR__
|
||||||
ProtectHostname=yes
|
ProtectHostname=yes
|
||||||
ProtectClock=yes
|
ProtectClock=yes
|
||||||
ProtectControlGroups=yes
|
ProtectControlGroups=yes
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ name = "MaBibli"
|
|||||||
description.fr = "Gestion de bibliothèque personnelle : catalogue, prêts et scan ISBN"
|
description.fr = "Gestion de bibliothèque personnelle : catalogue, prêts et scan ISBN"
|
||||||
description.en = "Personal library manager: catalogue, loans and ISBN scanning"
|
description.en = "Personal library manager: catalogue, loans and ISBN scanning"
|
||||||
|
|
||||||
version = "0.1.0~ynh2"
|
version = "0.1.0~ynh3"
|
||||||
|
|
||||||
maintainers = ["mathieu"]
|
maintainers = ["mathieu"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user