SMBPal
v0.2.7GitHub

Easily manage Samba shares across different operating systems.

Share a folder from Linux and open it on a Mac, Windows or your phone. Nothing on the other end needs SMBPal. Set it up once; it survives reboots, sleep and Wi‑Fi drops.

See install steps

Share a folder from one PC to another.

Install SMBPal

Installation is tailored for each operating system.

Available now

157 KB, v0.2.7, GPL-3.0-or-later

Any apt-based distribution with Python 3.11 or newer.

Tested
  • Raspberry Pi OS Trixie, on a Raspberry Pi 4
  • Ubuntu 26.04, in a virtual machine
  • Raspberry Pi OS Bookworm, on a Raspberry Pi 4
  • Debian 12, in a virtual machine
  • Debian 13, in a virtual machine
  • Linux Mint 22.3 Cinnamon, in a virtual machine
  • Pop!_OS 24.04 COSMIC, in a virtual machine
Checked in CI, not run on a desktop
  • Ubuntu 24.04
Expected to work, not tested
  • Ubuntu 25.10
  • Linux Mint 22.3 MATE and Xfce
Too old
  • Ubuntu 22.04, which has Python 3.10
  • Raspberry Pi OS Bullseye, which has Python 3.9
  1. Download and install the package

    The whole thing is 157 KB. apt resolves the four dependencies (Samba, samba-common-bin, cifs-utils and polkit) on its own.

    Download smbpal_0.2.7_all.deb, then open a terminal and run these. If your browser saved it somewhere other than Downloads, go to that folder instead.

    cd ~/Downloads
    sudo apt install ./smbpal_0.2.7_all.deb

    apt install ./… rather than dpkg -i, which stops on unmet dependencies and leaves the package half-configured. The leading ./ is load-bearing: without a slash, apt reads the argument as a package name.

  2. Add yourself to the smbpal group

    This step is required. Group membership is what lets you talk to a daemon running as root, so granting it is the machine administrator’s decision, not an installer’s. Skip it and SMBPal opens but can’t reach the daemon.

    sudo usermod -aG smbpal $USER
  3. Log out, then back in

    Group membership only takes effect on your next session. A reboot works too. Then launch SMBPal from your applications menu. On a machine with no screen, drive it over SSH with the command line.

One file installs on arm64, armhf and amd64, because the package is Architecture: all, so there is no version to choose. But “has no reason to fail” and “has been tested” are not the same claim, which is what the list above is for.

Full source and release notes are on GitHub, alongside the GPL-3.0-or-later licence text.

No screen on the Pi? Use the command line.

A Pi acting as a NAS usually has no monitor, so SMBPal ships the same functionality as a command line tool. SSH in and set a share up in two commands. The same daemon, the same configuration, the same shares the window would have made.

smbpal status says what is configured and what state it is in. smbpal browse finds SMB servers on the network, smbpal connection add mounts one, and --json on any command gives machine-readable output for a script.

Changing what the machine shares needs authorisation, over SSH as much as at the desk. SMBPal asks polkit and prompts in the terminal through pkttyagent; every allow and every refusal is written to the audit log.

ssh pi@nas.local

# an SMB password for an existing system account
smbpal credential set pi

# share a folder, served as that account
smbpal share add Backup /srv/backup --user pi

smbpal status
157 KB
Current release size. The point, not an afterthought.
LAN‑only
Never reaches past your own network, on purpose.
No telemetry
No accounts, no cloud, nothing phoning home.
GPL‑3.0
Source ships with every release, not just a promise.

Check what you downloaded

Both files are on the release page beside the package.

sha256sum -c SHA256SUMS
gh attestation verify smbpal_0.2.7_all.deb --repo smbpal/smbpal-desktop

The checksum proves the file arrived intact. It does not prove it is ours. Anyone able to replace the package could replace the checksum beside it. The attestation is the one that proves provenance: it ties this exact file to the workflow run that built it. Neither is a substitute for a signed apt repository, which is the difference between something you may remember to check and something apt checks for you.

What it does

Share. Allow a folder on your device to be accessed from any other device on your network, the way Explorer or Finder already expect.

Connect. Reach a folder shared by another machine, whether that’s an OS share or one served by another device running SMBPal.

From a window, a tray icon, or a command line over SSH. The same daemon and the same configuration behind all three.

Set it up once. It survives reboots, sleep and the Wi‑Fi dropping.

What it doesn’t

It isn’t a sync tool. Nothing is copied or kept in step the way Dropbox or Syncthing would.

It never reaches the public internet. Sharing stays on your own network by design, not by accident.

It doesn’t manage users beyond one credential per share. No domains, no permission trees.