# \[ANN\] landlock 0.2.1.0

**URL:** <https://discourse.haskell.org/t/ann-landlock-0-2-1-0/5882>\
**Category:** Announcements\
**Created:** [February 27, 2023, 11:34am UTC](https://discourse.haskell.org/t/ann-landlock-0-2-1-0/5882 "2023-02-27T11:34:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![NicolasT](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/nicolast/32/2872_2.png) [@NicolasT](https://discourse.haskell.org/u/NicolasT)\
**Post date:** [February 27, 2023, 11:34am UTC](https://discourse.haskell.org/t/ann-landlock-0-2-1-0/5882/1 "2023-02-27T11:34:04Z")

</div>

I’m happy to announce the latest version of `landlock`, a Haskell library to access the Linux Landlock LSM API. This version updates the library to expose all Landlock features up to Linux 6.2 (Landlock ABI 3). It also introduces [`landlocked`](https://github.com/NicolasT/landlock-hs/blob/27d2d95478f8c85cfbf4025bb41d57d0e57d670f/landlock/bin/landlocked.hs), a utility to spawn some process in a landlocked environment, and serves as a demo of how to use the API (next to the [library documentation](https://hackage.haskell.org/package/landlock-0.2.1.0/docs/System-Landlock.html) and [`README.md`](https://github.com/NicolasT/landlock-hs/tree/main/landlock#readme)).

It’s available [on Hackage](https://hackage.haskell.org/package/landlock-0.2.1.0) and [GitHub](https://github.com/NicolasT/landlock-hs).

The Linux kernel Landlock API provides unprivileged access control. The goal of Landlock is to enable to restrict ambient rights (e.g. global filesystem access) for a set of processes. Because Landlock is a stackable LSM, it makes possible to create safe security sandboxes as new security layers in addition to the existing system-wide access-controls. This kind of sandbox is expected to help mitigate the security impact of bugs or unexpected/malicious behaviors in user space applications. Landlock empowers any process, including unprivileged ones, to securely restrict themselves.

For more information, see the [Landlock homepage](https://landlock.io/) and its [kernel documentation](https://docs.kernel.org/userspace-api/landlock.html).

---

<div class="post-metadata">

**Author:** ![cdepillabout](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/cdepillabout/32/1168_2.png) [@cdepillabout](https://discourse.haskell.org/u/cdepillabout)\
**Post date:** [February 28, 2023, 1:01am UTC](https://discourse.haskell.org/t/ann-landlock-0-2-1-0/5882/2 "2023-02-28T01:01:22Z")

</div>

Nice, this looks pretty interesting!

Are you using landlock for something interesting in one of your own projects (or work)?

---

<div class="post-metadata">

**Author:** ![NicolasT](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/nicolast/32/2872_2.png) [@NicolasT](https://discourse.haskell.org/u/NicolasT)\
**Post date:** [February 28, 2023, 9:45am UTC](https://discourse.haskell.org/t/ann-landlock-0-2-1-0/5882/3 "2023-02-28T09:45:47Z")

</div>

Thanks! Actually, at this point I’m not. I’m working on a project (going to talk about it soon’ish…) where at some point in time it would make perfect sense to `landlock` it at runtime, however, it’s way too early to work on that.

I’m actually not sure why I created this library in the first place 😆 Might be simply because I read about Landlock when it landed in Linux, and wanted to play with it.
