From 1ba800207bb1b6e642531a4b981276d822be84a7 Mon Sep 17 00:00:00 2001 From: Aiden Gerbrandt Date: Sun, 14 Dec 2025 20:47:25 -0600 Subject: [PATCH] purged history and reuploaded file without password ;) Signed-off-by: Aiden Gerbrandt --- ConnectingSMBShares.md | 102 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 ConnectingSMBShares.md diff --git a/ConnectingSMBShares.md b/ConnectingSMBShares.md new file mode 100644 index 0000000..fd3878d --- /dev/null +++ b/ConnectingSMBShares.md @@ -0,0 +1,102 @@ +--- +tags: + - Arch + - Bazzite +--- + +## Important Notes +1. Make sure you can connect to the share using hostname.local. see [Local Host Names](LocalHostNames.md) +2. **If changing location of the scripts** you need to update the script name to match the path exactly +3. Replace `` everywhere below with the name of your server +4. If running [Bazzite](Bazzite.md),  becuase of how fedora immutable distros are setup you need to use `/var/mnt`. the actual path is `/var/mnt` and `/mnt` is just linked to it. + +## Create systemd mount file +Create a file called `.-creds` in your home dir and set it so it's only readable by you like before. +Put + +``` +username= +password= +``` + +in the file + +create the file `/etc/systemd/system/mnt-.mount` +(this will be mounted to `/mnt/`) + +In the file put the below: + +``` +[Unit] +Description=Mount SMB share Tardis +# We require network connection before proceeding. +Requires=network-online.target +After=network-online.target systemd-resolved.service +Wants=network-online.target systemd-resolved.service + +Mount] # +"What" is what will be mounted. ie our NAS SMB share +What=//.local/ +# "Where" is where it will be mounted in the filesystem +Where=/var/mnt/ +Type=cifs +# Let the mounted filesystem be read/write-able +# Let the mounted filesystem be owned by the 'tess' user/group +# Use the specified credential file for the connection +Options=rw,uid=,gid=,nofail,credentials=/home/**username**/.-creds +# Lets quit trying after 30 seconds +TimeoutSec=30 + +[Install] +WantedBy=multi-user.target +``` + + +Also replace `uid=,gid=` with your user and group id respectively. +They will probably both be 1000 (so `uid=1000,gid=1000`), but you can check with `id` or `id **username**` + +This is telling systemd how to mount your drive. + +## Create systemd automount file +Now create the automount file `/etc/systemd/system/mnt-.automount` +In that file put: + +``` +[Unit] +Description=Automount SMB share + +[Automount] +# Adjust mount location to match yours. +Where=/mnt/ + +[Install] +WantedBy=multi-user.target` +``` + +## Test and Apply configuration +Now we want to make the directory it will be mounting to +`sudo mkdir /mnt/` + +Then we reload systemd +`sudo systemctl daemon-reload` + +First we start the .mount, and check for errors +``` +sudo systemctl start mnt-.mount +systemctl status var-mnt-.mount +``` +Then if there's no issues we can stop the normal mount and enable automount + +``` +sudo systemctl stop mnt-.mount +sudo systemctl enable --now var-mnt-.automount +``` +(`enable` means we are telling it to run on boot, and `--now` it telling it to also start it now) + +We could just enable the normal mount and have it mount on boot, but automount will mean it will only connect to the samba drive when we try to access it. + +Now we should see it show up under `/mnt/` +And if we reboot it should show up still. + +## Additional Notes +For reference Aiden based it off of  [This](https://www.reddit.com/r/SteamDeck/comments/ymjnjy/mounting_smb_shares_with_systemd/) this post, just modified to this situation and me