J'ai affaire à un appareil embarqué fonctionnant sous Linux. Les fabricants de cet appareil l'ont configuré de sorte qu'il charge le système de fichiers racine en lecture seule.
Depuis / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
Cela signifie que je ne peux pas modifier de fichiers dans / etc, par exemple pour ajouter un nouvel utilisateur.
J'ai essayé de remonter le répertoire racine:
mount -o remount,rw -t squashfs /dev/root /
mais je reçois juste une erreur
mount: cannot remount block device /dev/root read-write, is write-protected
J'ai recherché cette erreur et les gens disaient d'utiliser blockdev. Le système n'a pas installé blockdev, je l'ai donc compilé et copié. Puis j'ai couru
blockdev --setrw rootfs
mais encore une fois j'ai eu une erreur:
blockdev: cannot open rootfs: No such file or directory
Est-il possible de rendre / etc accessible en écriture s'il ne l'est pas déjà? J'ai un accès root au système, mais je ne suis pas en mesure d'accéder au système de fichiers «hors ligne», toutes les modifications doivent être effectuées via les commandes Bash.
/etc
au démarrage en fonction de certains paramètres de nvram. Ainsi, pour modifier un fichier,/etc
vous devez définir une variable système "magique", la valider sur nvram, puis recharger la configuration ou redémarrer. La grande majorité des routeurs à domicile fonctionnent comme ça. Mais les mécanismes et commandes exacts sont spécifiques au système.