標籤:
在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
- 由於本例的SAMBA伺服器是作為獨立伺服器運行,因此設定security屬性為user,使用使用者身份認證:
security = userpassdb backend = tdbsam
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目錄的內容。
在CentOS 7上構建RAID5、LVM和SAMBA伺服器(5)——架設SAMBA伺服器