<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sistem File on Nalar</title>
    <link>https://nalar.dev/id/tags/sistem-file/</link>
    <description>Recent content in Sistem File on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Fri, 18 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/sistem-file/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Flag Resolusi openat2 Membatasi Traversal Path pada Batas Kernel</title>
      <link>https://nalar.dev/id/flag-resolusi-openat2-membatasi-traversal-path-pada-batas-kernel/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/flag-resolusi-openat2-membatasi-traversal-path-pada-batas-kernel/</guid>
      <description>&lt;p&gt;Sebuah layanan dapat memvalidasi pathname tetapi tetap membuka objek yang berbeda jika namespace berubah antara validasi dan pemakaian. Symbolic link, topologi mount, operasi rename, dan link khusus procfs membuat resolusi pathname menjadi operasi kernel dengan state yang dapat berubah secara konkuren. Linux &lt;code&gt;openat2()&lt;/code&gt; menangani sebagian batas ini dengan melekatkan batasan resolusi pada lookup yang menghasilkan file descriptor.&lt;/p&gt;&#xA;&lt;p&gt;Properti keamanannya lebih sempit daripada sanitasi path secara umum. &lt;code&gt;openat2()&lt;/code&gt; tidak menyatakan bahwa sebuah pathname aman. Syscall ini memungkinkan pemanggil meminta kernel menolak perilaku resolusi tertentu saat kernel menjalankan path walk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux O_PATH Memisahkan Referensi Objek dari Otoritas I/O</title>
      <link>https://nalar.dev/id/linux-o-path-memisahkan-referensi-objek-dari-otoritas-io/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/linux-o-path-memisahkan-referensi-objek-dari-otoritas-io/</guid>
      <description>&lt;p&gt;&lt;code&gt;open()&lt;/code&gt; biasanya menggabungkan dua efek: resolusi pathname memilih objek sistem file, lalu file descriptor yang dihasilkan membawa mode akses untuk I/O data. Linux &lt;code&gt;O_PATH&lt;/code&gt; memisahkan kedua efek tersebut. &lt;code&gt;open(path, O_PATH)&lt;/code&gt; yang berhasil menghasilkan descriptor yang merujuk objek terpilih, sementara &lt;code&gt;read()&lt;/code&gt; dan &lt;code&gt;write()&lt;/code&gt; biasa melalui descriptor itu tidak diizinkan.&lt;/p&gt;&#xA;&lt;p&gt;Pemisahan ini berguna ketika proses memerlukan referensi kernel yang tahan terhadap perubahan nama untuk operasi metadata atau operasi relatif terhadap pathname, tanpa membuka objek untuk transfer data. Analisis race juga berubah: operasi berikutnya dapat dimulai dari descriptor, bukan melakukan resolusi ulang terhadap pathname awal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>openat2 Membatasi Resolusi Path di Dalam Batas Direktori</title>
      <link>https://nalar.dev/id/openat2-membatasi-resolusi-path-di-dalam-batas-direktori/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/openat2-membatasi-resolusi-path-di-dalam-batas-direktori/</guid>
      <description>&lt;p&gt;Pathname bukan referensi objek yang stabil. Di antara direktori awal dan komponen akhir, resolusi path Linux dapat mengikuti symbolic link, melewati mount point, memproses &lt;code&gt;..&lt;/code&gt;, atau menjumpai link khusus dari pseudo-filesystem. &lt;code&gt;openat2()&lt;/code&gt; memungkinkan caller memasang batas pada operasi resolusi tersebut sehingga kernel dapat menolak lookup yang keluar dari boundary yang ditetapkan.&lt;/p&gt;&#xA;&lt;p&gt;Perbedaannya lebih kuat daripada memeriksa string yang sudah dinormalisasi sebelum &lt;code&gt;open()&lt;/code&gt;. Validasi string memeriksa sintaks. &lt;code&gt;openat2()&lt;/code&gt; dapat membatasi traversal aktual oleh kernel ketika objek filesystem dan topologi mount ikut menentukan hasil lookup.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
