about summary refs log tree commit diff stats

openbsd

Python bindings for some OpenBSD-specific APIs. Currently the following are supported:

  • pledge
  • unveil

Change Log

v0.1.0 (2019-05-03)

* Initial release.

Installation

Openbsd is on PyPI. You can install it using pip:

pip install openbsd

Prerequisites

  • OpenBSD 6.4 or better
  • Python 3.6 or better OR Python 2.7

Usage

Import openbsd first:

import openbsd

pledge

See: https://man.openbsd.org/pledge.2

openbsd.pledge("stdio rpath")
print(open("/etc/resolv.conf"))

Try removing the`rpath permission.

unveil

See: https://man.openbsd.org/unveil.2

openbsd.unveil("/etc", "r")
print(open("/etc/resolv.conf"))

Try opening /bin/ksh.

Use openbsd.unveil() to lock down restrictions.

Similar Projects

  • PyPledge: Python binding for the OpenBSD pledge(2) system call. Uses ctypes.

License

(c) 2019 Yuce Tekol

BSD