Untuk membuat hard-link alice
akan membutuhkan write+execute
izin pada target-dir
pada semua kasus. Izin yang diperlukan di target.txt
akan bervariasi:
- Jika
fs.protected_hardlinks = 1
lalualice
membutuhkan kepemilikantarget.txt
atau setidaknyaread+write
izin di atasnya. - Jika
fs.protected_hardlinks = 0
maka setiap rangkaian izin akan dilakukan; Bahkan 000 tidak apa-apa.
Jawaban untuk pertanyaan serupa ini memiliki informasi yang hilang untuk menjawab pertanyaan ini.
Dari http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 [penekanan dari saya]:
Tautan keras:
Pada sistem yang memiliki direktori yang dapat ditulis pengguna pada partisi yang sama dengan file sistem, kelas masalah keamanan yang sudah berlangsung lama adalah ras time-of-check-time-of-use berbasis hardlink, yang paling sering terlihat di direktori world-writable seperti /tmp . Metode yang umum untuk mengeksploitasi cacat ini adalah melewati batas hak istimewa saat mengikuti hardlink yang diberikan (yaitu proses root mengikuti hardlink yang dibuat oleh pengguna lain). Selain itu, muncul masalah saat pengguna dapat "menyematkan" file setuid/setgid yang berpotensi rentan sehingga administrator tidak akan benar-benar memutakhirkan sistem sepenuhnya.
Solusinya adalah dengan mengizinkan hardlink dibuat hanya jika pengguna sudah menjadi pemilik file yang ada, atau jika mereka sudah memiliki akses baca/tulis ke file yang ada .