centos 7 samba服務器的配置

samba服務器的搭建

1.samba服務器的基礎內容概述
samba使用cifs協議監聽在137/udp,138/udp,139/tcp,445/tcp
其中137,138是用來實現NetBIOS:windows基於主機實現互相通信的機制;

2.samba支持三種服務應用:

nmbd:提供netbios服務,實現了在Linux上提供netbois協議
smbd:實現cifs協議
winbindd:可以讓提供samba服務的Linux的主機加入到windows的AD域中 

3.samba用戶:
賬號:都是系統用戶
密碼:samba服務自有密碼文件,賬號可能是passwd中的賬號,但是密碼是samba自己的密碼將系統用戶添加爲samba的命令:smbpasswd
使用格式爲smbpasswd:
        -a Sys_User:添加系統用戶爲samba用戶
smbpasswd -a smbuser1
        -d : 禁用
        -e : 啓用
        -x:刪除

4.配置文件爲/etc/samba/smb.conf
其中全局參數爲:
[global]
 confi file = /etc/samba/smb.conf.xxx                                                        #表示可以讓讓你使用另一個配置文件來覆蓋缺省的配置文件。如果文件 不存在,則該項無效。
workgroup = WORKGROUP                                       #工作組名稱
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24                              #設置samba服務器監聽網卡,可以寫網卡名稱或IP地址,默認註釋
hosts allow = 127. 0.0.1 ,192.168.1.1                                                         #設置允許連接到samba服務器的客戶端,默認註釋
hosts deny =192.168.1.0/255.255.255.0                                                     #設置不允許連接到samba服務器的客戶端,默認註釋
log level =1                                                                                                  #日誌文件安全級別,0~10級別,默認0
另外還可以設置自定義共享:

[shared_name]

path=/path/to/share_directory                                                                                              #表示要掛載的文件路徑
browseable = yes/no                                                                                                              #設置共享是否可瀏覽,如果no就表示隱藏,需要通過IP+共享名稱進行訪問
writable = yes/no                                                                           #設置共享是否具有可寫權限
read only = yes/no                                                                           #設置共享是否具有隻讀權限
write list = username                                                                                #設置在共享具有寫入權限的用戶,例如例如write list = user1,user2,@group1,@group2(多用戶或組使用逗號隔開,@group表示group用戶組)

public = yes/no                                    #設置共享是否允許guest賬戶訪問


實驗環境兩臺centos 7.0操作系統的主機,一臺windows的主機
實驗一:首先我們配置Linux爲samab服務器,windows爲客戶端

samba服務器配置
首先安裝程序包
yum install -y samba
啓動服務並設置開機自啓
systemctl start smb
systemctl enable smb
systemctl start nmb
systemctl enable nmb


備註:之所以啓動nmb服務是爲了讓系統支持netbois協議,這樣windows客戶端在登錄共享目錄的時候可以使用主機名進行登錄,如果這項服務沒有啓動的話,默認只支持IP地址的方式登錄samba服務器。
我們這裏來查看一下服務啓動以後進程所監聽的端口
netstat -nual | grep 137

將samba服務添加到防火牆規則中

創建一個系統賬戶作爲samba的登錄賬戶
useradd tom
將系統賬號添加爲samba賬戶
smbpasswd -a tom
因爲windows系統默認的工作組爲workgroup,所以更改samba服務器的默認工作組
編輯配置文件
vim /etc/samba/smb.conf
找到workgroup將後面的值更改爲workgroup

配置好之後重啓服務
systemctl restart smb
systemctl restart nmb
登錄windows主機進行配置
打開我的電腦並在地址欄輸入samba服務的IP地址,輸入賬戶密碼並登錄

我們在tom文件夾中創建一個名爲a.txt的文本文檔
在samba服務器中登錄tomz賬戶來驗證
su - tom

備註:因爲這裏我們是使用的TOM用戶登錄所以創建的a.txt文檔只能在tom用戶的家目錄下,接下來我們配置一個共享目錄
編輯samab服務的配置文件,在配置文件的末尾加入以下信息


重啓服務
systemctl restart smb
systemctl restart nmb
我們在windows中查看會生成一個share的共享目錄

在共享目錄中創建兩個文本文檔a.txt跟b.txt
然後我們登錄另一臺centos 7服務器作爲客戶端進行驗證
安裝samba客戶端軟件
yum install -y samba-client
smbclient //192.168.32.133/share -U tom
備註:這裏爲我們要注意IP地址後面跟的路徑是在samba配置文件中定義的[share]這個區域名稱,而不是path後面跟的目錄的名稱。

登陸後發現共享目錄中有剛剛創建的兩個文本文檔

實驗二:下面我們來配置一下,在一臺samba服務器上配置一個共享目錄/test,可以被另一臺centos 7的samba客戶端訪問,共享目錄可以被瀏覽,用戶jerry必須以讀寫的方式訪問此共享目錄,任何用戶可以通過用戶tom 來臨時獲取寫的權限,此共享永久掛載在客戶端的/mnt/data目錄下
首先我們編輯samba服務器的配置文件在裏面添加選項

然後創建jreey用戶
useradd jerry
smbpasswd -a jerry
創建共享目錄
mkdir test
更改目錄的權限,讓jerry用戶可以讀寫
setfacl -m -u:jerry:rw- /test
切換到samba客戶端主機
創建掛載目錄
mkdir /mnt/data
編輯/etc/fstab文件
在裏面定義 //192.168.32.133/test /mnt/data cifs defaults,multiuser,username=tom,password=tom,sec=ntlmssp 0 0

對共享目錄進行掛載
mount -a
查看掛載結果

最後進行驗證
隨便創建一個用戶
useradd test
su -test
我們切換到/mnt/data目錄下用test用戶創建一個文件,發現無法創建

然後我們使用tou用戶來臨時獲取權限
cifsscreds add 192.168.32.133 -u tom

這樣一個簡單的samba的服務器就配置完成


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章