Alasan keamanan - untuk mengakses file Anda memerlukan izin pada file SERTA izin untuk mencari semua direktori dari root yang diperlukan untuk mendapatkan file tersebut. Jika Anda dapat mengakses file dengan inode, Anda dapat mengabaikan pemeriksaan pada direktori yang memuatnya.
Ini memungkinkan Anda untuk membuat file yang dapat diakses oleh satu set pengguna (atau satu set grup) dan bukan orang lain - buat direktori yang hanya dapat diakses oleh pengguna (satu dir per pengguna), dan kemudian hard- menautkan file ke semua direktori tersebut -- file itu sendiri dapat diakses oleh siapa saja, tetapi sebenarnya hanya dapat diakses oleh seseorang yang memiliki izin pencarian di salah satu direktori yang ditautkan.
Beberapa Sistem Operasi lakukan memiliki fasilitas itu. Misalnya, OS X membutuhkannya untuk mendukung Carbon File Manager, dan di Linux Anda dapat menggunakan debugfs
. Tentu saja, Anda dapat melakukannya di UNIX mana pun dari baris perintah melalui find -inum
, tetapi alasan sebenarnya Anda tidak dapat mengakses file dengan inode adalah karena itu tidak terlalu berguna. benar semacam menghindari izin file, karena jika ada file yang dapat Anda baca di folder yang tidak dapat Anda baca atau jalankan, membuka inode memungkinkan Anda menemukannya.
Alasannya tidak terlalu berguna adalah Anda perlu menemukan nomor inode melalui *stat()
panggilan, pada titik mana Anda sudah memiliki nama file (atau fd terbuka)...atau Anda perlu menebak inum.
Menanggapi komentar Anda:Untuk "melewati file", Anda dapat menggunakan fd melewati soket AF_LOCAL melalui SCM_RIGHTS
(lihat man 7 unix
).