Я маю справу з вбудованим пристроєм під управлінням Linux. Виробники цього пристрою налаштували його так, щоб він завантажував кореневу файлову систему як тільки начито.
Від / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
Це означає, що я не в змозі змінювати жодні файли в / etc, наприклад додати нового користувача.
Я спробував перекомпонувати кореневий каталог:
mount -o remount,rw -t squashfs /dev/root /
але я просто отримую помилку
mount: cannot remount block device /dev/root read-write, is write-protected
Я подивився на цю помилку, і люди казали використовувати blockdev. У системі не встановлено blockdev, тому я перехрестив її і скопіював. Потім я побіг
blockdev --setrw rootfs
але я знову отримав помилку:
blockdev: cannot open rootfs: No such file or directory
Чи можна зробити / etc для запису, якщо цього ще немає? У мене є кореневий доступ до системи, але я не в змозі отримати доступ до файлової системи "офлайн", всі зміни потрібно зробити за допомогою команд Bash.
/etc
під час завантаження на основі певних параметрів у nvram. Таким чином, щоб змінити файл,/etc
ви встановили б "магічну" системну змінну, прив'яжіть її до nvram, а потім перезавантажте конфігурацію або перезавантажте. Переважна більшість домашніх маршрутизаторів працює так. Але точні механізми та команди характерні для системи.