Mam do czynienia z urządzeniem osadzonym z systemem Linux. Producenci tego urządzenia skonfigurowali go tak, aby ładował główny system plików tylko do odczytu.
Z / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
Oznacza to, że nie jestem w stanie zmodyfikować żadnych plików w / etc, takich jak dodanie nowego użytkownika.
Próbowałem ponownie zamontować katalog główny:
mount -o remount,rw -t squashfs /dev/root /
ale dostaję błąd
mount: cannot remount block device /dev/root read-write, is write-protected
Sprawdziłem ten błąd i ludzie mówili, aby użyć blockdev. System nie ma zainstalowanego blockdev, więc skompilowałem go i skopiowałem. Potem pobiegłem
blockdev --setrw rootfs
ale znowu mam błąd:
blockdev: cannot open rootfs: No such file or directory
Czy jest możliwe, aby plik / etc był zapisywalny, jeśli jeszcze nie jest? Mam dostęp do systemu root, ale nie mogę uzyskać dostępu do systemu plików „offline”, wszystkie zmiany muszą być wykonane za pomocą poleceń Bash.
/etc
podczas uruchamiania w oparciu o określone ustawienia w nvram. Tak więc, aby zmienić plik/etc
, należy ustawić „magiczną” zmienną systemową, zatwierdzić ją w nvram, a następnie ponownie załadować konfigurację lub uruchomić ponownie. Zdecydowana większość domowych routerów działa w ten sposób. Ale dokładne mechanizmy i polecenia są specyficzne dla systemu.