---------- 2018-03-15 Samba檔案分享.txt ---------- 2018-03-15 Windows 10: net config workstation 檢查網域, 例如為WORKGROUP 修改hosts(C:\Windows\System32\drivers\hosts)如下測試例: 192.168.0.136 centos70 Cent OS 7.0: 安裝 samba yum install samba samba-client samba-common -y samba 設定檔 vim /etc/samba/smb.conf 修改範例如下: [global] workgroup = WORKGROUP # 步驟 1. 取得的工作群組名稱 server string = Samba Server Version %v netbios name = centos70 # 步驟 2. 設定這台伺服器的Netbios名稱 map to guest = bad user # 因為 Windows 無法匿名登入,需對應至 guest dns proxy = no dos charset = cp950 # 因為是要分享給 Windows 的中文環境 load printers = no [Share] # Winodws會看到資料夾名稱 path = /srv/www/sitename # 你的網站根目錄 valid users = @smbgrp guest ok = no # 不須認證 browsable = yes # 瀏覽權限 writable = yes # 寫入權限 read only = no # 關閉唯獨 以上samba設定, 待測試: display charset = UTF8 dos charset = CP950 unix charset = UTF8 ---------- ref: http://pejslin.blogspot.tw/2017/03/centos-73-samba.html CentOS 7.3 安裝 SAMBA (SCHOOL) # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) SELinux 已關閉 安裝 samba #yum install samba samba-4.4.4-12.el7_3.x86_64 複製備份設定檔 # cp /etc/samba/smb.conf /etc/samba/smb.conf.backup 編輯設定檔 # vi /etc/samba/smb.conf [global] workgroup = OFFICE (改工作群組名稱) 加以下設定 netbios name = centos70(伺服器名稱) browseable = yes unix charset = cp950 (中文BIG5) dos charset = cp950 (中文BIG5) unix extensions = no (關閉 unix extensions 允許 soft link) [public] comment = Public Stuff path = /cnes public = yes writable = yes printable = no write list = +staff wide links = yes (允許 soft link) [student] comment = Public student path = /cnes/temp browseable = No force create mode = 0777 guest ok = Yes read only = No write list = @teacher @users 啟動 NMB、SMB # systemctl start nmb # systemctl start smb 設定 NMB、SMB 開機自動啟動 # systemctl enable nmb # systemctl enable smb 開啟防火牆通道 # firewall-cmd --permanent --zone=public --add-service samba 其他: 以下視狀況調整 create mode = 664 (預設值) directory mode = 775 (預設值) 參數 encrypt passwords = no 似乎沒有作用 密碼無法和系統同步 先用 pdbedit 新增帳號 pdbedit -a USER 同時給一個預設密碼 再用 smbpasswd 個別找來修改密碼 smbpasswd USER tdbsam 密碼資料庫在 /var/lib/samba/private/ ---------- ref: http://rextsou-blog.logdown.com/posts/1701489-using-samba-to-share-files-between-centos-and-windows CentOS 設定 Samba server,與 Windows 共享檔案 以 CentOS 當作測試環境 server 時,如果習慣的開發環境是 Windows,會需要在 CentOS 內安裝 Samba,才能順利與 Windows 分享檔案。 先簡述一下我目前的開發環境: 正式環境(remote):CentOS 7 測試環境(local):CentOS 7(在 VirtualBox 裡面) 開發環境(local):Windows 10 由於我的 CentOS 都沒有安裝圖形介面,所以在裡面只能使用 VIM,我對於 VIM 的掌握程度沒有很高,所以直接在測試環境用 VIM 開發的效率會比較慢,我選擇在 Windows 的圖形介面裡,使用 VSCode 開發(當然 VIM 還是要練啦 XD)。 在 cmd 查詢工作群組(工作站網域) 通常會是 WORKGROUP 或是 HOMEGROUP net config workstation 編輯 hosts(C:\Windows\System32\drivers\hosts) IP 設定為 server 的 IP,host 名稱就是 Windows 用來識別的共享名稱 左邊設定 IP、右邊是對應的名稱: 192.168.43.220 cent-os 設定後可以ping看看 cent-os,測試目標 ip 是否為 192.168.43.220 安裝samba及相關套件 yum install samba samba-client samba-common -y 修改samba設定檔 vim /etc/samba/smb.conf 原來的設定可以都註解掉,改為以下: [global] workgroup = WORKGROUP # 步驟 1. 取得的工作群組名稱 server string = Samba Server Version %v netbios name = cent-os # 步驟 2. 設定的名稱 map to guest = bad user # 因為 Windows 無法匿名登入,需對應至 guest dns proxy = no dos charset = cp950 # 因為是要分享給 Windows 的中文環境 load printers = no [Share] # Winodws會看到資料夾名稱 path = /srv/www/sitename # 你的網站根目錄 valid users = @smbgrp guest ok = no # 不須認證 browsable = yes # 瀏覽權限 writable = yes # 寫入權限 read only = no # 關閉唯獨 設定可存取samba server 的使用者帳號與密碼 smbpasswd -a akccakcctw 啟動samba server,並設定開機後自動啟動 systemctl enable smb systemctl enable nmb systemctl restart smb systemctl restart nmb 從檔案總管開啟 打開檔案總管,在「網路」內,應該就可以看到CENT-OS了(Windows 似乎會自動轉為大寫),也可以按 Ctrl + R,輸入\\cent-os,快速開啟分享資料夾。 如果出現權限問題,可嘗試關閉SElinux 在本機開發基本上不會有安全性問題,因此可以直接把SElinux關閉 getenforce # 取得SElinux狀態 setenforce disabled #(enforcing, permissive, disabled) reboot # 重新開機 參考資料 http://www.netadmin.com.tw/article_content.aspx?sn=0807240005 http://wendell3927.pixnet.net/blog/post/202113199-%5Blinux%5D-centos-7.0-samba-4-%E5%BB%BA%E7%BD%AE http://linux.onlinedoc.tw/2016/03/centos7rhel7-samba-server.html