{
  "slug": "bind-mount",
  "term": "Bind mount",
  "aliases": [
    "Linux bind mount"
  ],
  "definition": "A Linux bind mount exposes an existing file or directory subtree at another location in the mount hierarchy.",
  "note": "A bind mount provides another route to existing filesystem objects, not a copy or point-in-time image. Changes through a writable route can remain visible through a read-only route to the same data. [mount-manual]\n\nOrdinary MS_BIND does not reproduce submounts beneath the source directory. Adding MS_REC also reproduces eligible submounts; unbindable mounts and their subtrees are pruned. Recursive binding therefore does not promise a complete copy of every visible nested mount. [mount-api] [shared]\n\nOn the classic mount(2) interface, MS_BIND alone inherits the source mount options. A bind remount can change per-mount flags without changing the underlying superblock, allowing a read-only bind path beside a writable path. This access restriction is not device-wide write protection. [mount-api] [mount-manual]",
  "related": [
    "mount-namespace",
    "read-only-mount",
    "mount-propagation"
  ],
  "citations": [
    {
      "id": "mount-manual",
      "title": "util-linux v2.41.1: mount(8), bind operation and read-only setting notes",
      "url": "https://kernel.googlesource.com/pub/scm/utils/util-linux/util-linux/+/refs/tags/v2.41.1/sys-utils/mount.8.adoc",
      "accessed": "2026-11-04"
    },
    {
      "id": "mount-api",
      "title": "Linux man-pages: mount(2), bind, recursive bind and per-mount remount flags",
      "url": "https://man7.org/linux/man-pages/man2/mount.2.html",
      "accessed": "2026-11-04"
    },
    {
      "id": "shared",
      "title": "Linux kernel documentation: Shared Subtrees, propagation and namespace copies",
      "url": "https://docs.kernel.org/filesystems/sharedsubtree.html",
      "accessed": "2026-11-04"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-04",
  "provenance": [
    "The command manual is pinned to util-linux v2.41.1. The system-call manual is rolling documentation checked on the access date; no privileged mounting was performed."
  ]
}
