在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 = 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區的永久生效策略中,第二個命令是重新加載防火牆策略,以使第一條命令生效。
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服務已經可以被連接上。
圖45 連接SAMBA
這個測試既可以在SAMBA服務器本機執行,亦可以在另一台Linux終端上執行,效果是一樣的。
2)在Windows環境下測試:
在資源管理器中打開“網上鄰居”,耐心等幾秒鐘,會發現網上鄰居或“網絡”文件夾裡出現前面設定的SAMBA服務器名稱MYSMBSVR:
圖46 Windows 7的“網絡”文件夾
雙擊MYSMBSVR後可看到裡面的共享文件夾:
圖47 浏覽共享文件夾
雙擊public目錄可看到其中的文件,並對文件進行讀寫操作。由於剛才是用kingfox用戶登錄的,所以還能訪問kingfox在CentOS虛擬機上的home目錄的內容。