charger-pilotes.sh : auto-elevation root (tache DSM en utilisateur simple)
La tache DSM « Au demarrage » CHARGE_PILOTES a ete creee en owner 1026 (TMZF5455), pas root (verifie en base esynoscheduler). insmod aurait echoue en silence au boot -> pas de /dev/ttyUSB0 -> conteneur bloque. Le script se re-exec via sudo -n (passwordless pour cet utilisateur sur le .17) quand il n'est pas root. Teste en lançant le script sans prefixe sudo : il s'eleve et charge les pilotes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -14,6 +14,20 @@
|
||||
#
|
||||
# Idempotent : relançable sans risque.
|
||||
|
||||
# insmod exige root. La tache DSM « Au demarrage » peut tourner en utilisateur
|
||||
# simple (verifie le 24/09 : owner 1026, pas root) : on s'eleve alors via
|
||||
# sudo -n, passwordless pour cet utilisateur sur ce NAS. Sans ca, insmod echoue
|
||||
# en silence au boot et le device n'existe jamais.
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
SUDO=$(command -v sudo || echo /usr/bin/sudo)
|
||||
if "$SUDO" -n true 2>/dev/null; then
|
||||
exec "$SUDO" -n /bin/sh "$0" "$@"
|
||||
fi
|
||||
echo "PAS root et sudo -n indisponible : impossible de charger les pilotes."
|
||||
echo "Configurer la tache DSM pour tourner en root, ou donner sudo NOPASSWD."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for ko in usbserial ftdi_sio; do
|
||||
if ! /sbin/lsmod | grep -q "^$ko "; then
|
||||
/sbin/insmod "/lib/modules/$ko.ko" 2>/dev/null \
|
||||
|
||||
Reference in New Issue
Block a user