A tool to manage Samba on a ZFS-backed system.
Project description
Samba & ZFS Management Tool
A command-line tool for simplifying Samba share management on ZFS-backed systems.
smb-zfs automates the setup and administration of users, groups, and shares, ensuring Samba and ZFS configurations remain synchronized.
It provides a reliable interface for common administrative tasks through two modes: a standard CLI smb-zfs for scripting and an interactive wizard smb-zfs-wizard for guided setup.
$ smb-zfs -h
usage: smb-zfs [-h] [-v] {install,create,delete,list,passwd,uninstall} ...
A tool to manage Samba on a ZFS-backed system.
positional arguments:
{install,create,delete,list,passwd,uninstall}
Available commands
install Initial setup of Samba, ZFS, and Avahi.
create Create a new user, share, or group.
delete Remove a user, share, or group.
list List all items of a specific type.
passwd Change a user's password.
uninstall Remove all configurations, data, and packages.
options:
-h, --help show this help message and exit
-v, --version show program's version number and exit
Prerequisites
- Debian 12 - Bookworm or newer
- ZFS installed with a pre-existing pool
- Python >= 3.10
sudoprivileges
Installation
Install package
sudo apt update
sudo apt install pipx samba samba-common-bin avahi-daemon -y
sudo pipx ensurepath --global
sudo pipx install smb-zfs
This makes the smb-zfs and smb-zfs-wizard commands available system-wide.
Quick Start
All commands must be run with root privileges.
Initial Setup:
sudo smb-zfs install --pool <your-zfs-pool>
Create a User:
sudo smb-zfs create user john --shell
Create a Share:
# Creates the dataset 'your-zfs-pool/data/media'
sudo smb-zfs create share media --dataset data/media
Use the Wizard for Guided Setup
sudo smb-zfs-wizard install
sudo smb-zfs-wizard create user
For a full list of commands, use the --help flag with any command.
Uninstallation
Install the package
sudo smb-zfs-wizard remove
sudo pipx remove smb-zfs
# Remove apt pkgs
sudo apt remove pipx samba samba-common-bin avahi-daemon
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smb_zfs-0.3.0-py3-none-any.whl.
File metadata
- Download URL: smb_zfs-0.3.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
750ffbdf60210d6e708b31835ccf6b3604d3ba63f3e4fbf1c06c5c8bbf6634d2
|
|
| MD5 |
8ec99d852b3e2286a572c3ac174b0881
|
|
| BLAKE2b-256 |
ab3e51ba4655609111f7014a0f76f7e5d060c6e55b6f59fd6fa849e6faf7fed2
|
Provenance
The following attestation bundles were made for smb_zfs-0.3.0-py3-none-any.whl:
Publisher:
release.yml on mietzen/smb-zfs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smb_zfs-0.3.0-py3-none-any.whl -
Subject digest:
750ffbdf60210d6e708b31835ccf6b3604d3ba63f3e4fbf1c06c5c8bbf6634d2 - Sigstore transparency entry: 305902150
- Sigstore integration time:
-
Permalink:
mietzen/smb-zfs@673db7a800ec48db3c804705b8ca6bd5704ed3a5 -
Branch / Tag:
refs/tags/0.3.0 - Owner: https://github.com/mietzen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@673db7a800ec48db3c804705b8ca6bd5704ed3a5 -
Trigger Event:
release
-
Statement type: