如何在Ubuntu 16.04上安裝和配置Samba伺服器以進行檔案共享
Samba是用于Unix和Linux的免費開源SMB/CIFS協定實作,允許在區域網路中的Unix/Linux和Windows機器之間進行檔案和列印共享。
Samba是一套程式,其中最重要的兩個是:
smbd:提供SMB / CIFS服務(檔案共享和列印),也可以作為Windows域控制器。
nmbd:提供NetBIOS名稱服務
如何在Ubuntu 16.04上安裝Samba伺服器
大多數Linux發行版都包含Samba。 要在Ubuntu上安裝Samba,隻需運作:
sudo apt install samba
最新的穩定版本是4.5.3,釋出于2016年12月19日。要檢查您的Samba版本,請運作
sudo smbstatus
或者
sudo smbd --version
輸出格式如下:
Samba version 4.3.11-Ubuntu
要檢查Samba服務是否正在運作,請運作以下指令。
systemctl status smbd
systemctl status nmbd
要啟動這兩個服務,請運作以下指令:
sudo systemctl start smbd
sudo systemctl start nmbd
開始運作後,smbd将在139和445端口上偵聽。
編輯配置檔案
隻有一個配置檔案需要處理:/etc/samba/smb.conf。
sudo nano /etc/samba/smb.conf
在[全局] [global]部分,確定工作組的值與Windows計算機的工作組設定相同。
workgroup = WORKGROUP
向下滾動到檔案的底部。 (在nano文本編輯器中,按CTRL + W然後按CTRL + V。)添加新的部分,如下所示。 用您所需的使用者名替換紅色使用者名。
comment = Home Public Folder
path = /home/linuxidc/
writable = yes
valid users = linuxidc
home共享是将在Windows網絡上顯示的檔案夾名稱。 該注釋是共享檔案夾的描述。 接下來的3行表示隻有有效使用者指定的使用者可以通路/ home/linuxidc/目錄,這也是可寫的。 上述配置将禁用匿名通路。
儲存并關閉該檔案,然後運作以下指令檢查是否存在文法錯誤。
testparm
建立使用者帳戶
預設情況下,Samba将使用者設定為安全模式,這意味着用戶端必須輸入共享檔案夾的使用者名和密碼。 要在Ubuntu上添加使用者,請運作以下指令。 用您所需的使用者名替換使用者名。
sudo adduser linuxidc
You will be prompted to set an Unix password. You also need to set a separate Samba password for the new user with the following command:
sudo smbpasswd -a linuxidc
現在全部要做的是重新啟動smbd守護程序。
sudo systemctl restart smbd
從Windows通路Samba共享檔案夾
在同一網絡的Windows計算機上,打開檔案浏覽器,然後單擊左窗格中的網絡。 你會看到samba伺服器。 輕按兩下共享檔案夾并輸入linuxidc和密碼。
從Ubuntu計算機通路Samba共享檔案夾
在檔案管理器中,單擊左側窗格中的“網絡”(Network)頁籤,然後單擊“Windows網絡”(Windows Network.)。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIu9Wa0FGZuVWbt92YlJXPlNmc192cf1Gd1ZyclR3bu91blNXPtVXakVWbf1Gd1ZSZ09mb9QnblRnbvN2XtRXdmUmbpt2clxWYt1jbnlWYw1WYj9Vb0V3PjhTM4I2N0kDNjJmYvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
如何在Ubuntu 16.04上安裝和配置Samba伺服器以進行檔案共享
選擇工作組,Samba伺服器和共享檔案夾,然後輸入Samba linuxidc和密碼。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIu9Wa0FGZuVWbt92YlJXPlNmc192cf1Gd1ZyclR3bu91blNXPtVXakVWbf1Gd1ZSZ09mb9QnblRnbvN2XtRXdmUmbpt2clxWYt1jbnlWYw1WYj9Vb0V3PjhTM4I2N0kDNjJmYvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
如何在Ubuntu 16.04上安裝和配置Samba伺服器以進行檔案共享
添加多個使用者或組
如果多個帳戶更适合通路共享檔案夾,請在/etc/samba/smb.conf檔案中更改如下所示的有效使用者。
valid users = user1, user2, user3
還可以使用smbpasswd為每個使用者設定Samba密碼。
sudo smbpasswd -a user1
sudo smbpasswd -a user2
sudo smbpasswd -a user3
要允許一組使用者通路共享檔案夾,請在/etc/samba/smb.conf中使用以下配置。
valid users = @sambashare
建立組。
sudo groupadd sambashare
然後将使用者添加到此組
sudo gpasswd -a user1 sambashare
sudo gpasswd -a user2 sambashare
sudo gpasswd -a user3 sambashare
該組需要對共享檔案夾具有寫入權限,可以通過以下兩個指令實作。
将sambashare設定為共享檔案夾的組所有者:
sudo chgrp sambashare /path/to/shared/folder -R
授予組的寫入權限。
sudo chmod g+w /path/to/shared/folder/ -R
OK!希望本教程幫助您在Ubuntu 16.04上設定Samba伺服器。
Linux怎樣通路Windows共享檔案和檔案夾
常常使用Windows的人可能會發現,Windows計算機之前共享資料非常友善,但是有時候想玩玩Linux的時候,如Fedora、Ubuntu、CentOS等,該怎樣才能通路Windows計算機上的檔案呢?其實Windows共享的協定Linux是完全支援,接下來我們就看看怎樣才能從Linux計算機通路Windows計算機上的共享資料吧。
[](javascript:;)工具/原料
安裝了Linux作業系統計算機
安裝了Windows作業系統計算機
[](javascript:;)方法/步驟
在通路Windows共享資料之前,請確定Windows共享是可用的,這裡就不再贅述該怎樣設定Windows共享了,那可是另外一個課題。
Linux通路Windows共享或者Linux共享資料給Windows時,其實都是在使用一個叫做Samba的軟體,這個軟體已經使用多年,穩定性和可靠性得到了很好的驗證,也是很多網絡NAS常用的軟體。
我們這裡要講的Linux需要用到的工具就是Samba軟體中的一種,samba-client。
在嘗試通路Windows共享之前,需要首先确認samba-client已經安裝了。最簡單的方式是指令行查詢“rpm -qa | grep samba-client”,當然也可以使用“yum”工具查詢, 如“yum info samba-client”或“yum list samba-client”之類的指令。
如果samba-client沒有安裝,就需要使用指令“yum install samba-client”安裝一下,yum會自動安裝samba-client所需的相關依賴庫,安裝時選擇Y就行了。
針對常見的Debian Linux發行版,如Ubuntu或CentOS,也可以使用“sudo apt-get install smbclient”和“sudo apt-get install smbfs”安裝相應的共享通路工具。
準備停當,就可以嘗試通路Windows共享檔案夾了。我們可以首先使用“smbclient -L //IP位址 -U 使用者名”檢視一下該使用者共享權限下的共享情況。其中不帶“$”的那個,就是我們可以通路的共享檔案夾了,其中“-U”是用來指定查詢共享權限的使用者名的。
Linux将共享檔案夾也是當作磁盤資源對待的,是以需要使用mount工具将其挂載到本地檔案空間才可以通路,這一點就像Windows常用的網絡磁盤映射是一樣的。
是以,首先我們需要建立一個挂載點,也就是在本地目錄空間中建立一個挂載目錄,如“mkdir -p /mnt/MYSHARE”。
挂載點建立之後,就可以使用mount指令挂載共享檔案夾了,“mount -t cifs -o user=使用者名稱,password=共享密碼,iocharset=utf8,codepage=cp936 //共享IP位址或NetBIOS名稱/共享目錄”,其中cifs使用Linux常用的網絡檔案類型,也可以使用smbfs,以系統可以識别為準,如Ubuntu常見指令就是“sudo mount -t smbfs -o user=使用者名稱,password=共享密碼,iocharset=utf8,codepage=cp936 //共享IP位址或NetBIOS名稱/共享目錄”。“-o”表示挂載參數,常見的是需要提供共享的使用者名和密碼,另外需要注意的是iocharset和codepage,這兩個參數是用來解決系統之間的字元編碼轉換的,如果出現亂碼的情況,是需要調整這兩個參數的,針對簡體中文,使用utf8和cp936一般都可以解決問題,關于字元編碼已經超出了本經驗的範圍。
挂載完成之後,就可以像使用本地檔案目錄一樣通路Windows共享檔案夾和檔案了。
當然,Linux也有圖形化的資料總管,挂載之後,資料總管也可以正常通路的。進入Linux桌面,打開“我的電腦”。
然後就可以像浏覽本地檔案一樣,浏覽共享的Windows檔案夾和檔案了,與指令行并沒有太多的差異。
Windows共享資料使用完畢之後,也可以将其使用umount指令解除安裝,解除安裝就很簡單了,直接使用“umount /mnt/MYSHARE”就可以了,其中MYSHARE是就是我們前面建立的挂載點了。
如果以後不需要,也可以将挂載點删除的。
挂載的Windows共享檔案夾在Linux重新開機之後就會消失的,如果還要使用,是需要重新挂載的。
如果希望Linux開機自動挂載Windows共享檔案夾,則需要将挂載指令添加到Linux的“/etc/fstab”,也就是将前述的指令參數按照fstab的要求添加到fstab裡面,這裡就不再展開了,詳情參考fstab相關幫助即可。
END
優化與分享
1
本經驗是在Fedora操作環境下根據實際操作完成,常見的Ubuntu、CentOS發行版與Fedora基本相同,是以本經驗對他們同樣适用。如果您有任何意見或建議,可以留言提出,我會盡力改正和完善經驗,以幫助更多有需要的人。
2
如果本經驗對您有些許幫助,移動手指,點贊支援一下啦,您的支援是書寫經驗的最大動力哦^^。