歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 在CentOS 7上構建RAID5、LVM和SAMBA服務器(5)——架設SAMBA服務器

在CentOS 7上構建RAID5、LVM和SAMBA服務器(5)——架設SAMBA服務器

日期:2017/3/1 12:12:14   编辑:關於Linux

在CentOS 7上構建RAID5、LVM和SAMBA服務器(5)——架設SAMBA服務器

6. 架設SAMBA服務器
6.1. 預備
本節的任務是配置SAMBA服務,共享/home/shared目錄,使指定的Windows用戶可以遠程訪問該共享。
首先要在CentOS上運行yum命令安裝SAMBA服務:

yum install samba
安裝之後,執行systemctl命令來啟動smb和nmb兩個samba的守護進程。

\

圖37 啟動SAMBA

6.2. 修改smb.conf文件
修改/etc/smb.conf文件,包括:

修改hosts allow屬性,設置可訪問的遠程計算機的IP地址段。本例是允許本機、192.168.0網段(物理網絡IP網段)、192.168.40網段(虛擬機網段):
hosts allow = 127. 192.168.0. 192.168.40.
修改SAMBA服務器的NETBIOS名,設置為MYSMBSVR:
netbios name = MYSMBSVR
修改共享工作組名,設置為WORKGROUP:
workgroup = WORKGROUP
由於本例的SAMBA服務器是作為獨立服務器運行,因此設置security屬性為user,使用用戶身份認證:
security = user
passdb backend = tdbsam
添加允許訪問SAMBA服務的用戶
pdbedit –a kingfox

\

圖38 添加SAMBA用戶

注意:pdbedit添加的用戶必須是系統中已經存在的用戶,否則系統會拒絕添加該用戶:

\

圖39 添加SAMBA用戶失敗

在/home目錄下創建可被共享的目錄,命名為shared,然後修改/etc/samba/smb.conf中的[public]節,取消這一節的所有注釋,設置path屬性的值為/home/shared。smb.conf的配置如下所示:

\

圖40 smb.conf主要設定

保存smb.conf。接下來可以用testparm命令檢查剛才的設置是否有誤:

\

圖41 用testparm檢驗cmb.conf

6.3. 調整防火牆
開放防火牆中的samba、samba-client相關服務和端口:

\

圖42 設定防火牆

亦可用命令:

firewall-cmd --permanent --zone=public --add-service=samba

firewall-cmd --reload
完成對防火牆的調整。第一個命令將samba服務加入到防火牆public區的永久生效策略中,第二個命令是重新加載防火牆策略,以使第一條命令生效。
至此,samba服務已完成設定,用systemctl restart smb命令重啟smb和nmb服務即可。

6.4. 配置SAMBA服務為自動啟動

systemctl enable smb nmb

\

圖43 配置SAMBA服務為自動啟動

至此,SAMBA服務配置完畢。

6.5. 調整SELinux策略
如果不關閉SELinux,則客戶端能浏覽到共享文件夾,但無法對其進行寫操作。使用命令setenforce permissive關閉SELinux。這個命令執行之後,在遇到可以行為時,SELinux會發出一系列警告,但不會真正按照策略去阻止。
但是setenforce命令只能臨時有效,系統重啟之後,SELinux會被自動開啟。為了永久關閉SELinnux,需要編輯/etc/selinux/config文件,內容修改如下:

\

圖44 關閉SELinux

但是關閉SELinux會導致安全性降低,並不是可取的辦法,應該通過調整各種策略來實現使SELinux放行訪問SAMBA的行為。

現在恢復SELinux的原始設置,然後執行命令:

chcon -t samba_share_t shared/ -R

chcon命令用於改變文件或目錄的SELinux安全標簽,在執行這個命令之前,/home/shared目錄的安全標簽是root_t(這是root用戶創建的),執行這個命令之後,用ls –Zd shared命令可以看到,/home/shared目錄的SELinux安全標簽變成了samba_share_t,這樣就既確保了系統的安全,亦開放了SAMBA的訪問通道。

如果執行setsebool -Psamba_enable_home_dirs on命令,還將打開用戶的home目錄的訪問權限。

6.6. 測試samba服務

首先向/home/shared目錄下復制一些文件。

1)在linux環境下測試:
在終端中執行命令:

smbclient //localhost/public –U kingfox
輸入kingfox用戶的密碼之後,過幾秒鐘,正常情況下,會出現smb:\>提示符,說明SAMBA服務已經可以被連接上。
在smb:\>提示符下執行ls命令,可以看到列出了/home/shared目錄下的文件清單:

\

圖45 連接SAMBA

這個測試既可以在SAMBA服務器本機執行,亦可以在另一台Linux終端上執行,效果是一樣的。
2)在Windows環境下測試:
在資源管理器中打開“網上鄰居”,耐心等幾秒鐘,會發現網上鄰居或“網絡”文件夾裡出現前面設定的SAMBA服務器名稱MYSMBSVR:

\

圖46 Windows 7的“網絡”文件夾

雙擊MYSMBSVR後可看到裡面的共享文件夾:

\

圖47 浏覽共享文件夾

雙擊public目錄可看到其中的文件,並對文件進行讀寫操作。由於剛才是用kingfox用戶登錄的,所以還能訪問kingfox在CentOS虛擬機上的home目錄的內容。

Copyright © Linux教程網 All Rights Reserved