shareuser)並設定密碼shareuser 給予「讀取/寫入」# 安裝 cifs-utils
yum install -y cifs-utils # CentOS/RHEL
apt-get install -y cifs-utils # Debian/Ubuntu
# 建立掛載點
mkdir -p /mnt/win_share
# 掛載(密碼含特殊字元建議用認證檔)
mount -t cifs //192.168.1.100/ShareName /mnt/win_share \
-o username=shareuser,password=PassWord,vers=3.0,uid=1000,gid=1000,iocharset=utf8
關鍵參數:
vers=3.0:指定 SMB 協定版本(避免舊版安全性問題)uid/gid:掛載後檔案擁有者映射,方便非 root 讀寫credentials=/path/to/.smbcred:避免密碼出現在歷史/進程列表/etc/fstab//192.168.1.100/ShareName /mnt/win_share cifs credentials=/root/.smbcred,vers=3.0,uid=1000,gid=1000,iocharset=utf8,_netdev 0 0
_netdev 確保網路就緒後再掛載。
yum install -y samba samba-client
useradd -M -s /sbin/nologin smbuser
smbpasswd -a smbuser # 設定 Samba 密碼
mkdir -p /data/share
chown smbuser:smbuser /data/share
chmod 2775 /data/share # SGID 保持群組擁有權
# /etc/samba/smb.conf 片段
[myshare]
comment = Linux Share for Windows
path = /data/share
browseable = yes
read only = no
valid users = smbuser
write list = smbuser
create mask = 0664
directory mask = 2775
force group = smbuser
systemctl enable --now smb nmb
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
檔案總管輸入 \\Linux_IP\myshare,輸入 smbuser 及密碼即可讀寫。
| 現象 | 可能原因 | 解決 |
|---|---|---|
掛載失敗 Permission denied | Windows 共享權限/防火牆/密碼錯誤 | 檢查共享/NTFS 權限、關閉防火牆測試、用 smbclient -L //IP -U user 驗證 |
| Linux 寫入檔案權限不足 | uid/gid 映射錯誤或目錄權限 | 調整 mount -o uid=...、chown 目錄 |
| Windows 看不到共享 | SMB 1.0 已停用/網路探索關閉 | 啟用 SMB 2/3、開啟網路探索、檢查 nmb 服務 |