Ho a che fare con un dispositivo incorporato che esegue Linux. I produttori di questo dispositivo lo hanno impostato in modo tale da caricare il filesystem di root in sola lettura.
Da / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
Ciò significa che non sono in grado di modificare alcun file all'interno di / etc, ad esempio per aggiungere un nuovo utente.
Ho provato a rimontare la directory principale:
mount -o remount,rw -t squashfs /dev/root /
ma ho appena ricevuto un errore
mount: cannot remount block device /dev/root read-write, is write-protected
Ho cercato questo errore e la gente diceva di usare blockdev. Il sistema non ha Blockdev installato, quindi l'ho compilato e copiato. Poi ho corso
blockdev --setrw rootfs
ma ancora ho ricevuto un errore:
blockdev: cannot open rootfs: No such file or directory
È possibile rendere / etc scrivibile se non lo è già? Ho accesso root al sistema, ma non riesco ad accedere al filesystem 'offline', tutte le modifiche devono essere fatte tramite i comandi Bash.
/etc
all'avvio in base a determinate impostazioni in nvram. Pertanto, per modificare un file in/etc
devi impostare una variabile di sistema "magica", eseguirne il commit in nvram, quindi ricaricare la configurazione o riavviare. La stragrande maggioranza dei router domestici funziona così. Ma i meccanismi e i comandi esatti sono specifici del sistema.