2026-03-19 16:24:56 +00:00
2026-03-19 16:24:56 +00:00
2026-03-19 15:00:10 +00:00
2
2026-03-19 15:39:31 +00:00
2
2026-03-19 15:39:31 +00:00
2
2026-03-19 15:39:31 +00:00
2026-03-19 15:00:10 +00:00
2026-03-19 16:24:56 +00:00
2026-03-19 16:24:56 +00:00

samba-configer

samba-configer is a small interactive terminal program for reading an existing Samba configuration, listing shares, and guiding add/edit/delete operations.

It is implemented in Go with only the standard library so it builds into a single executable easily.

Build

go build -o samba-configer .

Run

./samba-configer -config /etc/samba/smb.conf

The program:

  • Reads the Samba config and parses non-[global] sections as shares.
  • Detects a missing Samba installation when the config file does not exist yet.
  • Offers to install the Samba server package with a detected package manager such as apt, dnf, yum, pacman, zypper, or apk.
  • Prompts to add, edit, or delete a share.
  • Checks valid users entries against local accounts.
  • Offers to create missing local accounts with useradd -M -s /usr/sbin/nologin <user>.
  • If user creation fails because admin rights are needed, explains the issue and offers to retry with sudo.
  • After creating a user, offers to launch smbpasswd -a <user> immediately so the Samba password can be set right away.
  • Before saving, checks whether each share folder exists and offers to create missing directories.
  • Before saving, offers to adjust share-folder ownership and permissions so connected users can actually read and write files.
  • If saving the Samba config or its backup needs admin rights, explains the issue and offers to retry with sudo.
  • Writes a timestamped backup before saving changes.

If you create a local account for a Samba-authenticated share, you may still need to add the Samba password separately:

smbpasswd -a <username>
Description
No description provided
Readme 30 MiB
Languages
Go 100%