為了避免丟資料進樹莓派都要上傳到網路空間,再進樹莓派下載,所以在樹莓派上起了Samba的服務,其可以讓Unix與Windows或MacOS間實現網路芳鄰的機制,搭配日後安裝VNC,就可以把樹莓派放在角落獨立運行了!
我使用的Samba的docker image是來自: https://hub.docker.com/r/dperson/samba,我啟動的comman與網路可以查到差不多:
1
2
3
4
5docker run -it --name samba-svr -p 139:139 -p 445:445 \
-v /home/pi/Public:/share \
-d dperson/samba:armhf \
-u "登入的帳號;登入的密碼" \
-s "Public;/share;yes;no;no;登入的帳號;登入的帳號;說明"
過程中有幾個讓我卡住的地方,在此記錄下來 (待捕完):
- 出現exec user process caused “exec format error”的錯誤訊息
- 這是因為預設pull下來的dperson/samba image是x86的,因樹莓派是ARM的CPU,所以必須指定aarch64或armf來使用。 (https://github.com/dperson/samba/issues/194)
- 雖然帶了參數-u來指定帳號與密碼,但是實際從另一台登入時,即便選了Guest一樣能進入。
待確認中…我找到怎麼真正管控權限只有特定帳號可以登入,且選了Guest會被禁止;關鍵在-s內的參數即代表對應到container內smb.conf的設定,其中各參數名稱如下"對外開放資料夾名稱;內部開放資料夾名稱;browsable;read only;guest ok;合法登入帳號;admin users;此設定說明"
經過上面卡關後,終於讓我把它跑起來