Files
Linux-Docs/Connecting to samba shares (tardis).md
2025-12-14 20:53:23 -06:00

98 lines
2.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags:
- Arch
- Bazzite
---
Make sure you can connect to the share using hostname.local. see [[Local Host Names.md]]
**if changing location of the scripts** you need to update the script name to match the path exactly
Create a file called `.tardis-creds` in your home dir and set it so it's only readable by you like before.
Put
```
username=tess
password=tess`
```
in the file
create the file `/etc/systemd/system/mnt-tardis.mount`
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=//tardis.local/files
# "Where" is where it will be mounted in the filesystem
Where=/var/mnt/tardis
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=<uid>,gid=<gid>,nofail,credentials=/home/**username**/.tardis-creds
# Lets quit trying after 30 seconds
TimeoutSec=30
[Install]
WantedBy=multi-user.target
```
Also replace `uid=<uid>,gid=<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.
Now create the automount file `/etc/systemd/system/mnt-tardis.automount`
In that file put:
```
[Unit]
Description=Automount SMB share Tardis
[Automount]
# Adjust mount location to match yours.
Where=/mnt/tardis
[Install]
WantedBy=multi-user.target`
```
Now we want to make the directory it will be mounting to
`sudo mkdir /mnt/tardis`
Then we reload systemd
`sudo systemctl daemon-reload`
First we start the .mount, and check for errors
```
sudo systemctl start mnt-tardis.mount
systemctl status var-mnt-tardis.mount
```
Then if there's no issues we can stop the normal mount and enable automount
```
sudo systemctl stop mnt-tardis.mount
sudo systemctl enable --now var-mnt-tardis.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/tardis`
And if we reboot it should show up still.
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
if running [[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.