Оскільки доступ до базового пристрою за замовчуванням регулюється лише дозволами до файлів, тому, якщо USB-накопичувач містить файлову систему POSIX з всесвітньо записуваним вузлом пристрою, що відповідає реальному пристрою в системі, ви можете використовувати цей вузол пристрою для доступу до відповідного пристрій як "звичайний" користувач. Уявіть собі пристрій, що відповідає одному з аудіопристроїв, вашій веб-камері /dev/sda
(це блоковий пристрій, а не символьний пристрій, але аргумент той самий) ...
Ось приклад, щоб зробити речі зрозумілішими. Скажіть, ви хочете отримати доступ /dev/sda
(тоді ви вмієте робити все, що завгодно, із вмістом диска, включаючи посаду програми, яка дозволила б вам стати root
; це блоковий пристрій, але проблема з тими ж пристроями символів). У вашій цільовій системі, ls -l /dev/sda
показує
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
Це засіб /dev/sda
блочного пристрою ( b
на початку рядка), з основним номером 8 та другорядним номером 0 ( 8, 0
у середині рядка). Пристрій доступний лише root
(читати / писати) та членам disk
групи (також читати / писати).
Тепер уявіть, що в цій системі ви не можете стати, root
але ви можете чомусь без проблем встановити USB-накопичувачі як користувач nodev
. В іншій системі, де ви знаходитесь root
, ви можете створити відповідний спеціальний файл на вашому USB-ключі:
mknod -m 666 usersda b 8 0
Це створить спеціальний файл, який називається usersda
, читається та записується всіма.
Встановіть ключ на вашу цільову систему і перейдіть, ви можете використовувати usersda
пристрій так само, як /dev/sda
і без обмеження доступу ...
(Це буде працювати навіть із зашифрованими файловими системами, якщо ви маєте доступ до розшифрованого пристрою картографування: створіть пристрій, який відповідає відповідному /dev/mapper
запису.)