secubox-openwrt/docs-fr/permissions-guide.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

6.4 KiB

Guide des Permissions de Packages OpenWrt

🌐 Langues : English | Français | 中文

Version : 0.3.1 Dernière mise à jour : 2025-12-28 Statut : Actif Auteur : CyberMind

Ce document est un guide de référence rapide. Pour les procédures de déploiement complètes, voir DEVELOPMENT-GUIDELINES.md §9

Documentation connexe :


Voir Aussi

Objectif

Assurer que tous les fichiers des packages SecuBox ont les bonnes permissions dès l'installation, sans nécessiter de correction manuelle.

Permissions Requises

Fichiers Exécutables (755)

Ces fichiers DOIVENT avoir les permissions d'exécution :

-rwxr-xr-x (755)

Liste des fichiers :

  • /usr/libexec/rpcd/luci.* - Scripts RPCD backend
  • /usr/libexec/secubox/*.sh - Scripts utilitaires
  • /etc/init.d/* - Scripts d'initialisation
  • /etc/uci-defaults/* - Scripts de configuration initiale

Fichiers Non-Exécutables (644)

Ces fichiers NE DOIVENT PAS être exécutables :

-rw-r--r-- (644)

Liste des fichiers :

  • /www/luci-static/resources/**/*.js - Fichiers JavaScript
  • /www/luci-static/resources/**/*.css - Fichiers CSS
  • /usr/share/rpcd/acl.d/*.json - Permissions ACL
  • /usr/share/luci/menu.d/*.json - Définitions de menu
  • /etc/config/* - Fichiers de configuration UCI

Configuration dans le Makefile

Méthode Recommandée : PKG_FILE_MODES

OpenWrt supporte la variable PKG_FILE_MODES pour définir les permissions des fichiers lors de l'installation du package.

Syntaxe :

PKG_FILE_MODES:=/path/to/file:permissions

Exemple complet :

include $(TOPDIR)/rules.mk

PKG_NAME:=luci-app-example
PKG_VERSION:=0.3.1
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=CyberMind <contact@cybermind.fr>

LUCI_TITLE:=LuCI - Example Module
LUCI_DESCRIPTION:=Example SecuBox module
LUCI_DEPENDS:=+luci-base +rpcd
LUCI_PKGARCH:=all

# Permissions des fichiers (les scripts RPCD doivent être exécutables)
PKG_FILE_MODES:=/usr/libexec/rpcd/luci.example:755

include $(TOPDIR)/feeds/luci/luci.mk

# call BuildPackage - OpenWrt buildroot signature

Plusieurs Fichiers Exécutables

Si vous avez plusieurs fichiers exécutables :

PKG_FILE_MODES:=/usr/libexec/rpcd/luci.example:755 \
	/usr/libexec/example/helper.sh:755 \
	/etc/init.d/example:755

Note : Utilisez \ pour continuer sur la ligne suivante.

Modules SecuBox avec PKG_FILE_MODES

luci-app-secubox

PKG_FILE_MODES:=/usr/libexec/rpcd/luci.secubox:755 \
	/usr/libexec/secubox/fix-permissions.sh:755

luci-app-system-hub

PKG_FILE_MODES:=/usr/libexec/rpcd/luci.system-hub:755

luci-app-network-modes

PKG_FILE_MODES:=/usr/libexec/rpcd/luci.network-modes:755

Vérification

Lors du Développement

Avant de déployer un package, vérifiez les permissions :

# Vérifier les scripts RPCD
ls -l root/usr/libexec/rpcd/luci.*

# Vérifier les scripts helper
ls -l root/usr/libexec/*/

# Vérifier les fichiers web
find root/www -type f -name "*.js" -o -name "*.css" | xargs ls -l

Après Installation du Package

Vérifiez que les permissions sont correctes sur le routeur :

# Les scripts RPCD doivent être 755
ls -l /usr/libexec/rpcd/luci.*

# Les fichiers web doivent être 644
ls -l /www/luci-static/resources/secubox/*.js
ls -l /www/luci-static/resources/secubox/*.css

Script de Vérification Automatique

Un script de vérification est inclus dans luci-app-secubox :

# Vérifier et corriger toutes les permissions
/usr/libexec/secubox/fix-permissions.sh

# Via ubus
ubus call luci.secubox fix_permissions

# Via l'interface web
Dashboard → Quick Actions → "Fix Perms"

Erreurs Communes

1. Script RPCD Non-Exécutable

Symptôme :

ubus call luci.example status
# Command failed: Permission denied

Cause : Le script RPCD n'a pas les permissions 755

Solution :

# Ajouter dans le Makefile
PKG_FILE_MODES:=/usr/libexec/rpcd/luci.example:755

2. Fichiers Web Exécutables

Symptôme : Fichiers JavaScript/CSS avec permissions 755

Cause : Mauvaise manipulation ou script mal configuré

Solution : Les fichiers web sont 644 par défaut avec LuCI, pas besoin de les spécifier dans PKG_FILE_MODES

3. Script Helper Non-Exécutable

Symptôme :

/usr/libexec/example/helper.sh
# -bash: /usr/libexec/example/helper.sh: Permission denied

Solution :

PKG_FILE_MODES:=/usr/libexec/rpcd/luci.example:755 \
	/usr/libexec/example/helper.sh:755

Références

Checklist Pré-Déploiement

Avant de créer un package .ipk ou .apk :

  • Tous les scripts RPCD ont 755 dans PKG_FILE_MODES
  • Tous les scripts helper ont 755 dans PKG_FILE_MODES
  • Les fichiers web (JS/CSS) ne sont PAS dans PKG_FILE_MODES (ils sont 644 par défaut)
  • Les fichiers ACL/Menu ne sont PAS dans PKG_FILE_MODES (ils sont 644 par défaut)
  • Le Makefile utilise include $(TOPDIR)/feeds/luci/luci.mk
  • PKG_FILE_MODES est défini AVANT le include $(TOPDIR)/feeds/luci/luci.mk

Migration des Modules Existants

Pour ajouter PKG_FILE_MODES à un module existant :

cd luci-app-mymodule

# Éditer le Makefile
vi Makefile

# Ajouter avant 'include $(TOPDIR)/feeds/luci/luci.mk'
PKG_FILE_MODES:=/usr/libexec/rpcd/luci.mymodule:755

# Reconstruire le package
make package/luci-app-mymodule/clean
make package/luci-app-mymodule/compile

Mainteneur : CyberMind contact@cybermind.fr Licence : Apache-2.0