透過yum,將CentOS7安裝Samba
CentOS7安裝好之後呢,
接著來玩玩它的檔案分享機制 - Samba,
不過尋找Samba的rpm真的是找到頭大,
不是安裝完之後依然失敗,
就是根本找不到那個檔案,
我在某個論壇上看到,
Samba好像有版本依存性的樣子,
不過那個網站被我弄不見了~"~
好吧,既然rpm的路行不通,
還是只能用yum的方式吧,
不過yum的話就要注意網路的環境囉,
必須要開放上網權限才可以用。
參考以下兩個網站 :
https://cloud.tencent.com/developer/article/1371442
https://www.liberiangeek.net/2014/07/create-configure-samba-shares-centos-7/
接著就來統整一下作法囉。
1. 透過yum下載
指令如下
sudo yum install --downloadonly --downloaddir=/home/samba samba
其中最後面的samba是安裝包,
而/home/samba則是指定的下載路徑。
(↑此訊息是因為已經安裝完Samba了,所以就不給載了XD)
2. 安裝samba資料夾內的所有檔案
因為透過yum下載後,
/home/samba裡面的資料夾滿滿的rpm檔案,
一個一個安裝實在是有點麻煩,
還好可以透過以下指令安裝
sudo rpm -Uvh --force --nodeps *.rpm
這代表說把這個資料夾裡面的rpm檔全部安裝,
不過--force跟--nodeps這兩個指令我還不太懂用法,
如果知道的人還麻煩教一下~謝謝
(↑安裝完成)
3. smb.conf檔案修改
安裝完rpm檔之後,
接著到/etc/smba之中的smb.conf檔案修改參數~
修改指令如下
sudo vi smb.conf
相關參數設置可以參考一開始說的第二個網站~
以下是我設定的參數值
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Testsvr1
security = user
map to guest = bad user
dns proxy = no
#==============================
[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no
檔案的編輯一樣按i進行編輯,
按ESC確認後,
按「:」然後輸入「wq」之後按下Enter結束。
4. smb服務開啟
指令如下~
sudo systemctl enable smb
sudo systemctl enable nmb
sudo systemctl start smb
sudo systemctl start nmb
5. 到指定的路徑中創建資料夾並分享權限
雖然smb.conf之中有寫到分享的資料夾路徑,
但實際到該路徑發現,
根本沒有那個資料夾阿~
因此我們要自創資料夾,
並把資料夾的權限開成everyone。
因為我上面的path是寫在/samba/allaccess,
但在根目路底下連samba這個資料夾都沒有,
所以就必須透過指令,
來創建/samba以及底下的/allaccess,
sudo mkdir -p /samba/allaccess
(↑還沒用指令創資料夾以前)
(↑使用指令創資料夾之後)
其中/samba裡面也有了allaccess這個資料夾,
接著設定allaccess的資料夾權限,
指令如下
cd /samba
sudo chmod -R 0755 allaccess/
sudo chown -R nobody:nobody allaccess/
sudo chcon -t samba_share_t allaccess/
(但指令我還不會怎麼解釋...如果知道怎麼解釋的大神還請留言教一下~謝謝)
到這邊大概就差不多囉,
接著就是測試的時候~
在Windows透過捷徑新增CentOS的共享
(↑紅框的部分,名稱要輸入的跟smb.conf檔之中的netbios name一樣)
(↑在Testsvr1\allaccess中新增testsmb.txt,並在裡面輸入文字"testsmb")
(↑CentOS中,分享的資料夾/samba/allaccess之中,出現了一個testsmb.txt檔)
(↑透過sudo vi查看,裡面的確有剛剛我們輸入的文字"testsmb")