sudo nano /etc/samba/smb.conf 增加分享的資料夾 在檔案的最後面加上 [samba-share] path = /media/share security = share browseable = yes read only = no create mask = 0777 directory mask = 0777 guest ok = yes guest account = guest_user map to guest = bad password 重新啟動 samba 服務 sudo service smbd restart sudo ufw allow samba ===================================================================== [samba-share] ;分享資料夾的名稱 path = /media/share ;分享路徑 security = share ;不須權限 browseable = yes ;是否可瀏覽 read only = no ;唯讀 create mask = 0777 ;檔案遮罩 directory mask = 0777 ;資料夾遮罩 ===================================================================== #===================== Global Settings ========================= [global] # workgroup 就是設定電腦的工作群組。 workgroup = Workgroup # 要使用哪一種安全模式。如果設定為 share,就是任何人都可以存取,無需使用帳號密碼; # 而設為 user 則是要輸入使用者名稱及密碼。如果我們設為 user,必須要再設定使用者 # 使用者及密碼。我們會在下一小節中做更詳細的說明。 security = user # Windows 98 及 WinNT SP3 以上會將密碼加密,我們必須將它設為 yes。 encrypt passwords = yes # 設定可以使用 Samba 的網路介面,可以是 IP/netmask 或是網路卡名稱。 interfaces = fxp1 # 設定新建檔案時的權限為何。Samba 的權限除了看資料夾的權限設定外,還會看 UNIX 的 # 權限。我們將新建檔案的權限設為 0666,新建目錄設為 0777,以讓不同使用者所建立的 # 可以讓有權存取該共享資料夾的使用者存取。 create mask = 0666 directory mask = 0777 # 在下載檔案時,我們使用 FreeBSD 的系統呼叫 sendfile() 以提高下載速度。使用 # sendfile() 可以提高效能近一倍喔! use sendfile = yes #========================== Share Definitions ============== # 這個區段是用來設定我們要分享的資料來。在這個區斷中,有幾個設定的範例可以讓我們參考 # 。以下的範例為設定分享的目錄是 /home/mp3,設定該目錄的分享名稱為 "music",只有 # wheel 群組的使用者才可以寫入。 # [music] path = /home/mp3 write list = @wheel # 另一個範例,假設我們要設定一個上傳區,分享路徑為 /home/upload,具有寫入權限的帳 # 號是 alex 及 wheel 群組,而 samba 群組的使用者只有唯讀的權限。當 security # 設為 user 時,我們必需先在系統中建立該真實使用者,再使用 smbpasswd 來建立 # Samba 的密碼。必須要注意的是,當您設定某一個使用者對某個目錄具有寫入權限時,該使 # 用者在系統中對於該目錄的 UNIX 權限也必須要有寫入權限才可以喔。 [upload] path = /home/upload write list = alex,@wheel valid users = @samba ===================================================================== 教學網址 http://120.105.184.250/peiyuli/network-3/SAMBA%E4%BC%BA%E6%9C%8D%E5%99%A8.htm 主機整體參數   參數名稱 說 明 ----------------------------- workgroup 工作群組名稱。 server string 主機的註解說明。 netbios name 主機的 NetBIOS 名稱,在同一工作群組中必須是唯一。 display charset SAMBA 伺服器上面的顯示編碼,通常與 unix charset 設定值相同。 unix charset Linux 系統主機所使用的編碼,一般就是 /etc/sysconfig/i18n 內的預設編碼 UTF-8。 dos charset Windows 用戶端所使用的編碼,一般是 Big5,但在 SAMBA 伺服器內被稱為 cp950。 log file 登錄檔的存放位置 max log size 登錄檔的最大容量 (單位:KBytes),若大於此容量,登錄檔會被 rotate 掉。 security 使用者存取 SAMBA 伺服器的安全等級,由低至高分別為 share、user、server、domain 與 ads: share:使用者不需輸入帳號與密碼,即可登入 SAMBA 伺服器。 user:預設安全等級,使用者必須先輸入帳號與密碼,經 SAMBA 伺服器驗證通過後,才可登入使用分享的資源。 server:使用者需經登入驗證程序,但驗證工作會由另一台指定的 SAMBA 伺服器或 Windows 伺服器執行。 domain:若 SAMBA 伺服器要加入網域而非工作群組,則可使用此等級。使用者登入驗證工作則由網域中的 Windows 伺服器來執行。 ads:若 SAMBA 伺服器要加入網域,並使用 AD 目錄服務,則可使用此等級 (SAMBA 3.0 以上版本)。 encrypt passwords 等於 Yes 表示密碼要加密。 smb passwd file 密碼存放檔案,預設是 /etc/samba/smbpasswd。 分享目錄參數 參數名稱 說 明 ----------------------------- comment 共用目錄說明。 path 共用目錄在 Linux 主機的實際路徑。 public 是否讓登入者看到此分享目錄。 readonly 是否唯讀。 writable 是否可以寫入。若與 readonly 設定值相抵觸,以最後出現的設定為主。 create mode 設定新建檔案的預設權限。 directory mode 設定新建目錄的預設權限。 valid users 指定可以使用此分享目錄的使用者 在參數的設定中,也有一些變數可以使用:   變數名稱 說 明 --------------------------------- %S 取代目前區段名稱中的共用目錄名稱。 %m 代表 Client 端主機的 NetBIOS Name。 %M 代表 Client 端主機的電腦名稱 (HOSTNAME)。 %L 代表 SAMBA主機的 NetBIOS Name。 %h 代表 SAMBA主機的 HOSTNAME。 %H 代表目前使用者的家目錄 %U 代表目前使用者的帳號名稱 %g 代表目前使用者的群組名稱 %I 代表 CLient 端主機的 IP %T 代表目前日期與時間 啟動 SAMBA 服務   欲在開機時便自動啟動 SMB服務,可執行指令「setup」或「ntsysv」, 在選單中選取「系統服務」工具進入服務設定, 然後再於服務選單中按空白鍵選取 nmb 與 smb 項目並確定 (參考「遠端連線伺服器」部份)。 若想以手動方式操控 SMB 服務,可執行下列指令:   # /etc/init.d/smb start 啟動 SMB 服務 # /etc/init.d/nmb start 啟動 NetBIOS 名稱解析服務 # /etc/init.d/smb stop 停止 SMB 服務 # /etc/init.d/smb restart 重新啟動 SMB 服務 # service smb restart 重新啟動 SMB 服務 SAMBA 伺服器的資源被分享出來後,可利用指令「smbstatus」檢視目前資源被使用的情形。 接著利用指令「smbpasswd」,一一設定 SAMBA 伺服器中每個帳號的密碼: 語法:smbpasswd [-adem] 使用者帳號 -a 新增使用者帳號於密碼檔 /etc/samba/smbpasswd -d 暫時禁止使用者登入伺服器 -e 恢復允許使用者登入伺服器 e.g., # smbpasswd -a guest 新增 SAMBA 使用者 guest # smbpasswd -d user1 暫時拒絕使用者 user1 的登入 ===================================================================== ===================================================================== 以下是 192.168.9.8 的 smb.conf ============================= /etc # cat smb.conf [global] workgroup = WORKGROUP netbios name = R3G-2 server string = R3G-2 local master = yes os level = 128 name resolve order = lmhosts hosts bcast log file = /var/log/samba.log log level = 0 max log size = 5 socket options = TCP_NODELAY SO_KEEPALIVE unix charset = UTF8 display charset = UTF8 bind interfaces only = yes interfaces = br0 unix extensions = no encrypt passwords = yes pam password change = no obey pam restrictions = no host msdfs = no disable spoolss = yes security = SHARE guest ok = yes guest only = yes guest account = admin writeable = yes directory mode = 0777 create mask = 0777 force directory mode = 0777 max connections = 10 use spnego = no client use spnego = no null passwords = yes strict allocate = no use sendfile = yes dos filemode = yes dos filetimes = yes dos filetime resolution = yes [AiDisk_a1] comment = TOSHIBA MC04ACA400E's AiDisk_a1 path = /media/AiDisk_a1 guest ok = yes writeable = yes directory mode = 0777 create mask = 0777 map archive = no map hidden = no map read only = no map system = no store dos attributes = yes [AiDisk_a2] comment = TOSHIBA MC04ACA400E's AiDisk_a2 path = /media/AiDisk_a2 guest ok = yes writeable = yes directory mode = 0777 create mask = 0777 map archive = no map hidden = no map read only = no map system = no store dos attributes = yes [AiDisk_b2] comment = ADATA SC680's AiDisk_b2 path = /media/AiDisk_b2 guest ok = yes writeable = yes directory mode = 0777 create mask = 0777 map archive = no map hidden = no map read only = no map system = no store dos attributes = yes ===================================================================== ubuntu 18.04 安裝 Samba server 首先安裝 Samba 套件: $ sudo apt install samba 新增一個 smbuser 使用者: sudo adduser smbuser --shell /bin/false 接著就是用 smbpasswd 指令的 -a 選項來將這個 smbuser 帳號設定為 Samba 的使用者帳號: $ sudo smbpasswd -a smbuser 如果要與使用者同名則: $ sudo smbpasswd -a jkchang 安裝好 Samba Server 和使用者的設定後,接下來就是要來設定 Samba 的設定檔了, 打開 /etc/samba/smb.conf 檔案,然後在檔案的最後加入下面這幾行後存檔離開。 [public] path = /home/jkchang # 這個是要分享的資料夾路徑 available = yes valid users = jkchang #可以使用這個資料夾的使用者,要有 path 所指定的路徑的權限 read only = no browseable = yes public = yes writable =yes