Karena akses ke perangkat yang mendasarinya dikendalikan hanya oleh izin file secara default, jadi jika stik USB Anda berisi sistem file POSIX dengan simpul perangkat yang dapat ditulis dunia yang sesuai dengan perangkat nyata dalam sistem, Anda dapat menggunakan simpul perangkat itu untuk mengakses yang sesuai perangkat sebagai pengguna "biasa". Bayangkan sebuah perangkat yang sesuai dengan salah satu perangkat audio, webcam Anda, /dev/sda
(yang merupakan perangkat blok daripada perangkat karakter, tetapi argumennya sama) ...
Berikut ini contoh untuk membuat segalanya lebih jelas. Katakanlah Anda ingin mengakses /dev/sda
(maka Anda bisa melakukan apa saja yang Anda inginkan dengan isi disk, termasuk menanam program yang memungkinkan Anda menjadi root
; ini adalah perangkat blok tetapi masalahnya sama dengan perangkat karakter). Pada sistem target Anda, ls -l /dev/sda
pertunjukan
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
Ini berarti /dev/sda
adalah perangkat blok ( b
di awal baris), dengan nomor utama 8 dan nomor kecil 0 ( 8, 0
di tengah-tengah garis). Perangkat ini hanya dapat diakses oleh root
(baca / tulis) dan anggota disk
grup (juga baca / tulis).
Sekarang bayangkan pada sistem ini Anda tidak bisa menjadi root
tetapi untuk beberapa alasan Anda dapat memasang USB stick sebagai pengguna tanpa nodev
. Di sistem lain, di mana Anda berada root
, Anda dapat membuat file khusus yang sesuai pada kunci USB Anda:
mknod -m 666 usersda b 8 0
Ini akan membuat file khusus yang disebut usersda
, dapat dibaca dan ditulis oleh semua orang.
Pasang kunci pada sistem target Anda dan hei presto, Anda dapat menggunakan usersda
perangkat dengan cara yang sama /dev/sda
, tetapi tanpa batasan akses ...
(Ini akan bekerja bahkan dengan sistem file terenkripsi, selama Anda dapat mengakses perangkat mapper yang dienkripsi: buat perangkat yang cocok dengan /dev/mapper
entri yang sesuai .)