# 區網內 Windows 掛載 Linux 的 Samba 設定
###### tags: `Linux`
`Date`
此文為在 Linux 安裝及設定 Samba,並在區域網路內 Windows 上掛載資料夾的教學。
以 Ubuntu 20.04 為例,Windows 10 為 21H1。
---
:::info
:bulb: **提示**: 此篇並未考慮周全網路安全因素,相關設定請參照他篇教學
:::
## 安裝Samba
在終端機中執行,以安裝 samba
```
sudo apt install samba
```
可利用以下指令檢查是否安裝成功
```
sudo netstat -tulnp | grep -e '[sn]mbd'
```
samba會使用到的port如下
- TCP: 137, 138
- UDP: 139, 445
如果看到以上各協定都有在監聽相對的port,就代表安裝成功了

## 設定samba
### 初始設定
編輯
```
/etc/samba/smb.conf
```
首先找到 workgroup
把 workgroup 設成和 Windows 一樣的 (可以在設定/系統/關於/進階系統設定/電腦名稱找到)
預設是 WORKGROUP
```
workgroup = WORKGROUP
```
因為安全性的緣故,win10目前是預設禁用SMB 1.0的
因此在 **[GLOBAL]** 中新增以下兩行
```linux=
[GLOBAL]
server min protocol = SMB2
server max protocol = SMB3
```
代表限定想要連線到此機器的版本必須採用最低SMB2,最高SMB3
### 加入要分享的資料夾
直接將以下這段放在smb.conf最下面即可:
```linux=
[erichuServer downloads]
comment = Downloads folder in erichuServer
path = /home/erichu/下載
browsable = yes
read only = no
create mask = 777
directory mask = 777
```
- [erichuServer downloads]:要分享的資料夾的名稱,到時候也會從windows設定看到此名稱
- comment:描述
- path:linux資料夾的路徑
- browsable:可否瀏覽
- read only:是否唯讀,設成no的話意同 writable = yes
- create mask:
- directory mask:
儲存後離開 smb.conf
### 加入使用者
如果平時我們在 linux 裡使用的是 erichu 這個使用者名稱
那在終端機中 key in 以下指令
```
sudo pdbedit -a -u erichu
```
若要新增的帳號不存在linux系統中則使用以下指令
```
sudo smbpasswd -a <UserName> <password>
# <UserName>: 自訂帳戶名稱
# <password>: 自訂帳戶密碼(可空白)
```
### 查看目前已註冊的samba使用者帳戶
```
pdbedit -L -v
```
## Windows 掛載 Linux資料夾
利用指令查詢 linux 的IP address
```
ifconfig
```
我找到我的是 192.168.1.2
接著要將 linux 資料夾掛載到 windows 的磁碟機
就可以像平常我們使用C槽、D槽那樣使用了 :+1:
在Windows檔案總管->網路->(右鍵)連線網路磁碟機

輸入 **\\\IP\剛剛設定的資料夾名稱**

最後輸入認證的帳號密碼即可。
之後你在這個磁碟機做的任何變更就會同步直接儲存/變更在linux server上了 :100:
到這邊就完成了區網內 Windows 掛載 Linux 的 Samba 設定了!
有任何問題歡迎留言討論 :clap: :clap: