<b></b>
<b>SWAT—Samba WEB</b><b>管理工具</b>
本文試驗環境是RHEL5.2+samba-swat-3.0.28。Server的IP是192.168.120.241。
<b>1. </b><b>swat</b><b>介紹</b>
SWAT:The Samba WEB Administration Tool
SWAT是Samba的圖形化管理工具。我們可以通過浏覽器利用swat工具來設定samba。在swat中每一個samba參數都有相應的幫助檔案或解釋檔案,很适合初學者。
SWAT工具嵌套在xinetd超級守護程序中,要通過啟用xinetd程序來啟用swat。是以要先安裝xinetd工具包,然後安裝swat工具包。
<b>2. </b><b>安裝xinetd</b>
如圖一,檢視系統是否安裝了xinetd工具包。
[root@RHEL5 /]#rpm –qa |grep xinetd

圖一:檢視系統是否安裝了xinetd
如果未安裝,挂載系統盤安裝即可。
[root@RHEL5 /]#mount /dev/cdrom /mnt/cdrom
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/xinetd-2.3.14- 10.el5.i386.rpm
<b>3. </b><b>安裝swat</b>
如圖二,檢視系統是否安裝了swat工具包。
[root@RHEL5 /]#rpm –qa |grep swat
圖二:檢視系統是否安裝了swat
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/samba-swat-3.0.28-0.el5.8.i386.rpm
<b>4. </b><b>編輯swat配置檔案</b>
因為swat是xinetd超級守護程序的一個子程序,是以swat工具配置檔案在xinetd目錄中。我們要設定swat配置檔案,開啟此子程序,以便在啟用xinetd程序是來啟用swat。swat配置檔案在/etc/xinetd.d目錄中。
如圖三,在xinetd.d目錄中檢視swat檔案。
圖三:swat配置檔案在xinetd.d目錄下
如圖四:編輯swat配置檔案。
① 将“only_from=127.0.0.1”改成“only_from=0.0.0.0”,這樣該伺服器就可以監聽所有的來訪IP。
② 将“disable=yes”改成“disable=no”,這樣swat子程序就可以随xinetd超級守護程序一起啟動了。可以吃用chkconfig指令檢視swat是否啟用了。
③ swat預設使用tcp的901端口。“port=901”,可以修改。
④ 通過web來配置samba,預設使用root賬号進入。“user=root”,可以修改成其他的系統使用者。
⑤ swat的執行程式預設在/usr/sbin目錄下。
圖四:編輯後的swat配置檔案
如圖五,檢視系統的services中是否将tcp的901添加了進去。
圖五:在/etc/services中檢視tcp901
如果/etc/services檔案中沒有tcp901,那麼就編輯該檔案,添加“swat 901/tcp”即可。
<b>5. </b><b>啟動swat</b>
因為swat是xinetd的子程序,是以隻要啟用了xinetd,那麼swat也就會伴随xinetd啟動。
圖六:重新開機xinetd
圖七:使用chkconfig檢視swat狀态
<b>6. </b><b>防火牆設定</b>
關閉防火牆或者開啟swat相關端口。
【關閉防火牆】
[root@RHEL5 /]#service iptables stop
【開啟swat901端口,直接寫入INPUT鍊,重新開機iptables會丢失】
[root@RHEL5 /]#iptables -I INPUT -p tcp --dport 901 -j ACCEPT
【開啟swat901端口,通過編輯“RH-Firewall-1-INPUT”自定義鍊來打開,配置不會丢失】
[root@RHEL5 /]#vi /etc/sysconfig/iptables
加入:-A RH-Firewall-1-INPUT -p tcp --dport 901 -j ACCEPT
【關閉SELinux】
[root@RHEL5 /]#vi /etc/sysconfig/selinux
設定“SELINUX=disabled”
<b>7. </b><b>使用web登入SWAT</b>
如果通路swat的端口沒有改變,那麼通過web登入的方式就是:[url]http://192.168.120.241:901[/url]。
圖八:登入swat,注意加預設端口901
然後輸入使用者名和密碼,如果進入swat的使用者沒有改變,那麼預設就是root賬号。
圖九:輸入有權通路swat的賬号,預設為root
正常進入swat的登陸頁面,可以看到有8個選項。
圖十:swat頁面格式
<b>8. </b><b>通過swat配置samba</b>
在swat頁面我們可以看到有8個選項,每個選項可以配置samba的不同功能。
HOME:Samba相關程式及檔案說明。
GLOBALS:設定Samba的全局參數。
SHARES:設定Samba的共享參數。
PRINTERS:設定Samba的列印參數。
WIZARD:Samba配置向導。
STATUS:檢視和設定Samba的服務狀況。
VIEW:檢視Samba的文本配置檔案,即smb.conf。
PASSWORD:設定Samba使用者,可以修改密碼,建立删除使用者。
① HOME:介紹Samba的相關程式和檔案及其使用方法
<b>Daemons</b>:<b>程序,service smb start啟動smbd和nmbd。</b>
smbd - the SMB daemon
nmbd - the NetBIOS nameserver
winbindd - the winbind daemon
<b>Configuration Files</b><b>:</b><b>配置檔案,預設在/etc/samba目錄下</b>
smb.conf - the main Samba configuration file
lmhosts - NetBIOS hosts file
smbpasswd - SMB password file
<b>Administrative Utilities</b><b>:Samba管理工具</b>
smbcontrol - send control messages to Samba daemons
smbpasswd - managing SMB passwords
SWAT - web configuration tool
net - tool for administration of Samba and remote CIFS servers
pdbedit - Samba user account management tool
tdbbackup - Tool for backing up TDB databases
<b>Client Tools</b><b>:Samba用戶端工具</b>
rpcclient - command line MS-RPC client
smbtar - SMB backup tool
smbclient - command line SMB client
smbmnt - helper utility for mounting SMB filesystems on Linux hosts
smbmount - user space tool for mounting SMB filesystems under Linux
smbumount - user space tool for umounting SMB filesystems under Linux
ntlm_auth - allow external programs to use NTLM authentication
smbcquotas - get or set quotas on NTFS 5 shares
smbspool - Send a print job to an SMB printer
smbtree - Text-based SMB network browsing
<b>Diagnostic Utilities</b><b>:Samba測試工具</b>
smbstatus - monitoring Samba
testparm - validating your config file
nmblookup - NetBIOS name query tool
wbinfo - Tool for getting winbind information
<b>Misc. Utilities</b>:<b>其他工具</b>
profiles - migrating profiles from one domain to another
log2pcap - generate pcap files from samba log files
② GLOBALS:設定Samba的全局參數,即smb.conf檔案的[global]。
在GLOBALS中,分為Basic(基本的)和Advanced(進階的,完全的)兩個選項。
圖十一:GLOBALS選項的Basic和Advanced子選項
在Basic選項中可以設定Samba的基本參數。
在每個參數項中有很多的參數可以設定。
Base Options:基礎選項
Secutity Options:安全選項
Logging Options:日志選項
Protocol Options:協定選項
Browse Options:浏覽選項
WIINS Options:wins選項
EventLog Options:系統日志選項
Winbind Options:winbind選項
在Advanced選項中可以設定Samba的進階參數。
Advanced在Basic的基礎上又有一些參數項可供設定,并且每個參數項又有很多參數可供選擇。
Tunning Options:系統運作選項
Printing Options:列印選項
Filename Handing:檔案名處理
Domain Options:domain選項,在security=domain時,該參數項中參數才生效
Locking Options:鎖定選項
Ldap Options:LDAP選項
Miscellaneous Options:雜項
VFS module options:VFS子產品選項
在設定完這些參數後,要記得“Commit Changes”儲存配置。“Reset Values”是恢複到預設值。
圖十二:設定完參數後記得儲存
每個參數項裡面的參數就不細說了,都有幫助。
③ SHARES:設定Samba的共享參數
在SHARES中,也分為Basic和Advanced兩個選項。
如下圖,可以選擇共享,可以删除共享,可以建立共享。
圖十三:SHARE選項的功能按鈕
④ PRINTERS:設定Samba的列印共享參數
它的設定和SHARES一樣。
圖十四:PRINTER選項的功能按鈕
⑤ WIZARD:Samba設定向導
如下圖,可以看到Samba的三種類型:獨立服務、域成員、域控制器
圖十五:WIZARD選項的功能按鈕
⑥ STATUS:檢視和設定Samba服務狀況
在這個選項中可以啟動和停止samba服務,可以檢視活動的連接配接、共享,打開的檔案等。
如下圖,有Active Connections、Active Shares、Open Files等選項。
圖十六:STATUS選項的面闆
⑦ VIEW:檢視Samba的配置檔案,即同“cat /etc/samba/smb.conf”
如下圖,是我的samba的簡單配置
圖十七:VIEW選項中檢視samba的配置
⑧ PASSWORD:密碼設定
在這個選項中,可以建立使用者,設定或更改密碼。
如下圖,“Change Password:更改密碼”、“Add New User:建立使用者”、“Delete User:删除使用者”、“Disable User:鎖定使用者”、“Enable User:解鎖被鎖定使用者”。
圖十八:PASSWORD選項的功能按鈕
<b>9. </b><b>通過SSL使用安全的SWAT</b>
預設情況下使用者在登陸SWAT時,傳輸的密碼是明文的,這樣有極大的安全隐患。現在可以通過SSL來加密驗證密碼。
基本步驟:
① 安裝OpenSSL工具。
[root@RHEL5 /]#rpm -qa |grep openssl
openssl-devel-0.9.8b-10.el5
openssl-0.9.8b-10.el5
[root@RHEL5 /]#rpm -qa |grep stunnel
stunnel-4.15-2
② 建立證書和密鑰。
[root@RHEL5 /]#openssl req –new –x509 –days 365 –nodes –out /etc/stunnel/stunnel.pem –keyout /etc/stunnel/stunnel.pem
可以照着下面的填寫或者直接一路回車。
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:guangdong
Locality Name (eg, city) [Newbury]:shenzhen
Organization Name (eg, company) [My Company Ltd]:olym
Organizational Unit Name (eg, section) []:tech
Common Name (eg, your name or your server's hostname) []:bob
Email Address []:[email protected]
③ 從xinetd中移除swat。
第一種方法:關閉swat子程序。
[root@RHEL5 /]#vi /etc/xinetd.d/swat
修改“disable=yes”
[root@RHEL5 /]#service xinetd restart
[root@RHEL5 /]#chkconfig –list |grep swat
圖十九:swat已關閉
OK,swat已經關閉了。
第二種方法:直接停掉xinetd超級程序。
[root@RHEL5 /]#service xinetd stop
[root@RHEL5 /]#chkconfig --level 35 xinetd off
④ 啟動stunnel服務。
[root@RHEL5 /]#stunnel3 –p /etc/stunnel/stunnel.pem –d 901 –l /usr/sbin/swat swat
在執行stunnel3時報錯:wrong permissions on /etc/stunnel/stunnel.pem,提示權限問題。
将stunnel.pem的權限修改成600即可,不過報這個錯不影響打開swat。為了不報這個讨厭的錯誤,我們還是把stunnel.pem的權限改成600吧。
[root@RHEL5 /]#chmod 600 /etc/stunnel/stunnel.pem
⑤ 将stunnel3寫入到rc.local中,以便随系統一起啟動。
vi /etc/rc.d/rc.local
添加:stunnel3 –p /etc/stunnel/stunnel.pem –d 901 –l /usr/sbin/swat swat
⑥ 使用https安全通路swat。
在web中輸入:[url]https://192.168.120.241:901[/url]即可安全進入,不過在打開頁面時會提示證書未經過驗證,這個不用理會,直接進入即可。
輸入登入swat的路徑,注意是https,并且要加端口901。
圖二十:使用https登入swat
在登入時,會提示此網站安全證書有問題,不用理會,直接點選“繼續浏覽此網站(不推薦)”即可。
圖二十一:提示證書未經CA驗證
彈出密碼框,輸入使用者名root和密碼确定後即可進入swat。此時這個密碼會被加密傳輸。
圖二十二:輸入登入swat的使用者名和密碼
OK,正常并且安全的進入swat了。那就繼續你的samba設定吧。
圖二十三:安全的進入swat
<b>10. </b><b>使用inetd超級程序啟用SWAT</b>
inetd是老版本Linux的超級守護程序,現在新版Linux使用的xinetd是inetd的更新版。
在此,假如你的Server裝的是inetd,那麼我們就配置inetd來啟用swat。主要是通過配置inetd.conf檔案來達到管理其他子程序的目的。
① 編輯inetd.conf檔案來啟用swat。
[[email protected] /]#vi /etc/inetd.conf
加入:swat stream tcp nowait.400 root /usr/sbin/swat swat
② 編輯services檔案加入tcp901。
[[email protected] /]#vi /etc/services
加入:swat 901/tcp
③ 重新啟用inetd。
檢視inetd程序ID。
[[email protected] /]#ps aux |grep inetd
結束inetd程序,讓inetd重新讀取inetd.conf檔案。
[[email protected] /]#kill -HUP inetd程序ID
④ 通路swat。
在web中輸入[url]http://192.168.120.241:901[/url]即可通路swat了。