Linux 與 Windows 之間的溝通管道對於不了解 Linux 的通常是一種障礙,SAMBA 的初衷就是要解決這一方面的瓶頸,但 SAMBA 的功能不僅在於此
在公司內部的資料傳遞是非常重要的,必須要有一個安全且能夠讓大家方便使用的平台,Windows 中都會使用網路上的芳鄰來進行傳檔
而在 Linux 能提供一個較穩定的平台,且能整合多方功能
本篇記錄 SAMBA 常用的功能之一 – 提供網芳檔案傳輸
執行目標
1. 提供內部使用者透過網芳交換資料
2. 需要驗證,只有 passwd 內的使用者才有 Login 權限
SETP.1 安裝 SAMBA
shell# yum install samba
SETP.2 設定 smb.conf
shell# vim /etc/samba/smb.conf
# 參數項目 [global] workgroup = WORKGROUP \\ 工作群組名稱 netbios name = shazi.twbbs.org \\ SAMBA Server netBIOS name server string = shazi WORDGROUP site \\ SAMBA 說明 hosts allow = 192.168.121.0/255.255.255.0 \\ 允許存許的 hosts 網段 hosts deny = ALL \\ 除了 host allow 以外都不允許存取 log file = /var/log/samba/log.%m \\ log檔案,可應用參數 max log size = 50 \\ log size max 50 Kbytes security = user \\ share , user , domain 安全等級 , 註1 passdb backend = tdbsam \\ 資料庫的格式 , 預設 /var/lib/samba/private/passwd.tdb # share Definitions , Example share /home/WORDGROUP directory for smbuser group [WORDGROUP] \\ 網芳分享的名稱 comment = Example WordGroup share \\ 註解 path = /home/WORDGROUP \\ 要分享的路徑 browseable = yes \\ 是否所有使用者都可以看到這個分享 writable = yes \\ 是否允許寫入 create mode = 0660 \\ 建立檔案的權限 directory mode = 2770 \\ 建立目錄的權限 write list = eric, @smbuser \\ 可登入到此分享目錄的使用者 or @群組
SETP.3 測試 smb.conf
shell# testparm
沒有錯誤就可以繼續下一步
SETP.4 建立 share 目錄權限
shell# mkdir /home/WORDGROUP shell# chown root.smbuser /home/WORDGROUP shell# chmod 2770 /home/WORDGROUP \\ 因為有用到共享群組,所以需要使用 2770 來給 SGID 權限
SETP.5 建立 user Login info
範例使用 pdbedit 加入 eric 這個使用者 , 前提是 eric 必須是 smbuser 群組內的成員
shell# pdbedit -a eric \\ 建立 eric shell# pdbedit -L \\ 查看是否建立完成 , 可搭配 -vw 查看更詳細的資訊
SETP.6 啟動 SAMBA service
shell# service smb start shell# service nmb start
SETP.7 檢測
Windows 網芳輸入 \\SAMBA IP
可以看到建立的wordgroup,並新增一筆 test.txt 確認可寫入
查看 建立的 test.txt 是不是 660
Note
*註1. security 分為 share , user , domain 三種安全等級
share: 大家都可以看到 share 的目錄
user: 僅有通過 SAMBA 本身資料庫的密碼驗證成功後才可看到
domain: 使用 SAMBA 以外的密碼 , 如 NIS , LDAP …
*註2. smb.conf 可用變數
%m:代表 Client 端的 NetBIOS 主機名稱喔!
%M:代表 Client 端的 Internet 主機名稱喔!就是 HOSTNAME。
%L:代表 SAMBA 主機的 NetBIOS 主機名稱。
%H:代表使用者的家目錄。
%U:代表目前登入的使用者的使用者名稱
%g:代表登入的使用者的群組名稱。
%h:代表目前這部 SAMBA 主機的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!
%I:代表 Client 的 IP 咯。 %T:代表目前的日期與時間
參考資料