Debian 使用 systemd 自动挂载 Samba
本文介绍了如何使用 systemd 实现开机自动挂载 samba 共享
写成了一键脚本,直接执行即可。
需要注意的是,挂载的路径和 systemd service 的名字要对应上,比如挂载的路径为 /mnt/nas
那 service 的文件名应为 mnt-nas.service
。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
## !/usr/bin/env bash
SERVER="nas.local"
USERNAME="foo"
PASSWORD="bar"
apt install cifs-utils -y
groupadd -g 17510 nas
cat <<EOF > /etc/systemd/system/dns-ready.service
[Unit]
Description=Wait for DNS to come up using 'host'
After=nss-lookup.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c "until host ${SERVER}; do sleep 1; done"
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF > /etc/systemd/system/mnt-nas.mount
[Unit]
Description=Mount NAS
Requires=network-online.target
After=network-online.target dns-ready.service
[Mount]
What=//${SERVER}/Data
Where=/mnt/nas
Type=cifs
Options=username=${USERNAME},password=${PASSWORD},dir_mode=0775,gid=nas,rw,file_mode=0664
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start dns-ready.service
systemctl enable dns-ready.service
systemctl start mnt-nas.mount
systemctl enable mnt-nas.mount
This post is licensed under CC BY 4.0 by the author.