SWAT—Samba WEB
本文試驗(yàn)環(huán)境是RHEL5+samba-swat-3.0.28。Server的IP是192.168.120.241。
1.
SWAT:The Samba WEB Administration Tool
SWAT是Samba的圖形化管理工具。我們可以通過(guò)瀏覽器利用swat工具來(lái)設(shè)置samba。在swat中每一個(gè)samba參數(shù)都有相應(yīng)的幫助文件或解釋文件,很適合初學(xué)者。
SWAT工具嵌套在xinetd超級(jí)守護(hù)進(jìn)程中,要通過(guò)啟用xinetd進(jìn)程來(lái)啟用swat。因此要先安裝xinetd工具包,然后安裝swat工具包。
2.
如圖一,查看系統(tǒng)是否安裝了xinetd工具包。
[root@RHEL5 /]#rpm –qa |grep xinetd
圖一:查看系統(tǒng)是否安裝了xinetd
如果未安裝,掛載系統(tǒng)盤(pán)安裝即可。
[root@RHEL5 /]#mount /dev/cdrom /mnt/cdrom
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/xinetd-2.3.14- 10.el5.i386.rpm
3.
如圖二,查看系統(tǒng)是否安裝了swat工具包。
[root@RHEL5 /]#rpm –qa |grep swat
圖二:查看系統(tǒng)是否安裝了swat
如果未安裝,掛載系統(tǒng)盤(pán)安裝即可。
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/samba-swat-3.0.28-0.el5.8.i386.rpm
4.
因?yàn)閟wat是xinetd超級(jí)守護(hù)進(jìn)程的一個(gè)子進(jìn)程,所以swat工具配置文件在xinetd目錄中。我們要設(shè)置swat配置文件,開(kāi)啟此子進(jìn)程,以便在啟用xinetd進(jìn)程是來(lái)啟用swat。swat配置文件在/etc/xinetd.d目錄中。
如圖三,在xinetd.d目錄中查看swat文件。
圖三:swat配置文件在xinetd.d目錄下
如圖四:編輯swat配置文件。
① 將“only_from=127.0.0.1”改成“only_from=0.0.0.0”,這樣該服務(wù)器就可以監(jiān)聽(tīng)所有的來(lái)訪IP。
② 將“disable=yes”改成“disable=no”,這樣swat子進(jìn)程就可以隨xinetd超級(jí)守護(hù)進(jìn)程一起啟動(dòng)了。可以吃用chkconfig命令查看swat是否啟用了。
③ swat默認(rèn)使用tcp的901端口。“port=901”,可以修改。
④ 通過(guò)web來(lái)配置samba,默認(rèn)使用root賬號(hào)進(jìn)入。“user=root”,可以修改成其他的系統(tǒng)用戶。
⑤ swat的執(zhí)行程序默認(rèn)在/usr/sbin目錄下。
圖四:編輯后的swat配置文件
如圖五,查看系統(tǒng)的services中是否將tcp的901添加了進(jìn)去。
圖五:在/etc/services中查看tcp901
如果/etc/services文件中沒(méi)有tcp901,那么就編輯該文件,添加“swat 901/tcp”即可。
5.
因?yàn)閟wat是xinetd的子進(jìn)程,所以只要啟用了xinetd,那么swat也就會(huì)伴隨xinetd啟動(dòng)。
圖六:重啟xinetd
圖七:使用chkconfig查看swat狀態(tài)
6.
關(guān)閉防火墻或者開(kāi)啟swat相關(guān)端口。
【開(kāi)啟swat901端口,直接寫(xiě)入INPUT鏈,重啟iptables會(huì)丟失】
[root@RHEL5 /]#iptables -I INPUT -p tcp --dport 901 -j ACCEPT
【開(kāi)啟swat901端口,通過(guò)編輯“RH-Firewall-1-INPUT”自定義鏈來(lái)打開(kāi),配置不會(huì)丟失】
[root@RHEL5 /]#vi /etc/sysconfig/iptables
加入:-A RH-Firewall-1-INPUT -p tcp --dport 901 -j ACCEPT
【關(guān)閉SELinux】
[root@RHEL5 /]#vi /etc/sysconfig/selinux
設(shè)置“SELINUX=disabled”
7.
如果訪問(wèn)swat的端口沒(méi)有改變,那么通過(guò)web登入的方式就是:http://192.168.120.241:901
圖八:登入swat,注意加默認(rèn)端口901
然后輸入用戶名和密碼,如果進(jìn)入swat的用戶沒(méi)有改變,那么默認(rèn)就是root賬號(hào)。
圖九:輸入有權(quán)訪問(wèn)swat的賬號(hào),默認(rèn)為root
正常進(jìn)入swat的登陸頁(yè)面,可以看到有8個(gè)選項(xiàng)。
圖十:swat頁(yè)面格式
8.
在swat頁(yè)面我們可以看到有8個(gè)選項(xiàng),每個(gè)選項(xiàng)可以配置samba的不同功能。
HOME:Samba相關(guān)程序及文件說(shuō)明。
GLOBALS:設(shè)置Samba的全局參數(shù)。
SHARES:設(shè)置Samba的共享參數(shù)。
PRINTERS:設(shè)置Samba的打印參數(shù)。
WIZARD:Samba配置向?qū)А?/p>
STATUS:查看和設(shè)置Samba的服務(wù)狀況。
VIEW:查看Samba的文本配置文件,即smb.conf。
PASSWORD:設(shè)置Samba用戶,可以修改密碼,新建刪除用戶。
① HOME:介紹Samba的相關(guān)程序和文件及其使用方法
Daemons
:
smbd- the SMB daemon
nmbd- the NetBIOS nameserver
winbindd- the winbind daemon
Configuration Files
smb.conf- the main Samba configuration file
lmhosts- NetBIOS hosts file
smbpasswd- SMB password file
Administrative Utilities
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
Client Tools
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
Diagnostic Utilities
smbstatus- monitoring Samba
testparm- validating your config file
nmblookup- NetBIOS name query tool
wbinfo- Tool for getting winbind information
Misc. Utilities
:
profiles- migrating profiles from one domain to another
log2pcap- generate pcap files from samba log files
② GLOBALS:設(shè)置Samba的全局參數(shù),即smb.conf文件的[global]。
在GLOBALS中,分為Basic(基本的)和Advanced(高級(jí)的,完全的)兩個(gè)選項(xiàng)。
圖十一:GLOBALS選項(xiàng)的Basic和Advanced子選項(xiàng)
在Basic選項(xiàng)中可以設(shè)置Samba的基本參數(shù)。
在每個(gè)參數(shù)項(xiàng)中有很多的參數(shù)可以設(shè)置。
Base Options:基礎(chǔ)選項(xiàng)
Secutity Options:安全選項(xiàng)
Logging Options:日志選項(xiàng)
Protocol Options:協(xié)議選項(xiàng)
Browse Options:瀏覽選項(xiàng)
WIINS Options:wins選項(xiàng)
EventLog Options:系統(tǒng)日志選項(xiàng)
Winbind Options:winbind選項(xiàng)
在Advanced選項(xiàng)中可以設(shè)置Samba的高級(jí)參數(shù)。
Advanced在Basic的基礎(chǔ)上又有一些參數(shù)項(xiàng)可供設(shè)置,并且每個(gè)參數(shù)項(xiàng)又有很多參數(shù)可供選擇。
Tunning Options:系統(tǒng)運(yùn)行選項(xiàng)
Printing Options:打印選項(xiàng)
Filename Handing:文件名處理
Domain Options:domain選項(xiàng),在security=domain時(shí),該參數(shù)項(xiàng)中參數(shù)才生效
Locking Options:鎖定選項(xiàng)
Ldap Options:LDAP選項(xiàng)
Miscellaneous Options:雜項(xiàng)
VFS module options:VFS模塊選項(xiàng)
在設(shè)置完這些參數(shù)后,要記得“Commit Changes”保存配置。“Reset Values”是恢復(fù)到缺省值。
圖十二:設(shè)置完參數(shù)后記得保存
每個(gè)參數(shù)項(xiàng)里面的參數(shù)就不細(xì)說(shuō)了,都有幫助。
③ SHARES:設(shè)置Samba的共享參數(shù)
在SHARES中,也分為Basic和Advanced兩個(gè)選項(xiàng)。
如下圖,可以選擇共享,可以刪除共享,可以創(chuàng)建共享。
圖十三:SHARE選項(xiàng)的功能按鈕
④ PRINTERS:設(shè)置Samba的打印共享參數(shù)
它的設(shè)置和SHARES一樣。
圖十四:PRINTER選項(xiàng)的功能按鈕
⑤ WIZARD:Samba設(shè)置向?qū)?/p>
如下圖,可以看到Samba的三種類(lèi)型:獨(dú)立服務(wù)、域成員、域控制器
圖十五:WIZARD選項(xiàng)的功能按鈕
⑥ STATUS:查看和設(shè)置Samba服務(wù)狀況
在這個(gè)選項(xiàng)中可以啟動(dòng)和停止samba服務(wù),可以查看活動(dòng)的連接、共享,打開(kāi)的文件等。
如下圖,有Active Connections、Active Shares、Open Files等選項(xiàng)。
圖十六:STATUS選項(xiàng)的面板
⑦ VIEW:查看Samba的配置文件,即同“cat /etc/samba/smb.conf”
如下圖,是我的samba的簡(jiǎn)單配置
圖十七:VIEW選項(xiàng)中查看samba的配置
⑧ PASSWORD:密碼設(shè)置
在這個(gè)選項(xiàng)中,可以新建用戶,設(shè)置或更改密碼。
如下圖,“Change Password:更改密碼”、“Add New User:新建用戶”、“Delete User:刪除用戶”、“Disable User:鎖定用戶”、“Enable User:解鎖被鎖定用戶”。
圖十八:PASSWORD選項(xiàng)的功能按鈕
9.
默認(rèn)情況下用戶在登陸SWAT時(shí),傳輸?shù)拿艽a是明文的,這樣有極大的安全隱患。現(xiàn)在可以通過(guò)SSL來(lái)加密驗(yàn)證密碼。
基本步驟:
① 安裝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
② 創(chuàng)建證書(shū)和密鑰。
[root@RHEL5 /]#openssl req –new –x509 –days 365 –nodes –out /etc/stunnel/stunnel.pem –keyout /etc/stunnel/stunnel.pem
可以照著下面的填寫(xiě)或者直接一路回車(chē)。
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 []:bob@126.com
③ 從xinetd中移除swat。
[root@RHEL5 /]#vi /etc/xinetd.d/swat
修改“disable=yes”
[root@RHEL5 /]#service xinetd restart
[root@RHEL5 /]#chkconfig –list |grep swat
第一種方法:關(guān)閉swat子進(jìn)程。
圖十九:swat已關(guān)閉
OK,swat已經(jīng)關(guān)閉了。
第二種方法:直接停掉xinetd超級(jí)進(jìn)程。
[root@RHEL5 /]#service xinetd stop
[root@RHEL5 /]#chkconfig --level 35 xinetd off
④ 啟動(dòng)stunnel服務(wù)。
[root@RHEL5 /]#stunnel3 –p /etc/stunnel/stunnel.pem –d 901 –l /usr/sbin/swat swat
在執(zhí)行stunnel3時(shí)報(bào)錯(cuò):wrong permissions on /etc/stunnel/stunnel.pem,提示權(quán)限問(wèn)題。
將stunnel.pem的權(quán)限修改成600即可,不過(guò)報(bào)這個(gè)錯(cuò)不影響打開(kāi)swat。為了不報(bào)這個(gè)討厭的錯(cuò)誤,我們還是把stunnel.pem的權(quán)限改成600吧。
[root@RHEL5 /]#chmod 600 /etc/stunnel/stunnel.pem
⑤ 將stunnel3寫(xiě)入到rc.local中,以便隨系統(tǒng)一起啟動(dòng)。
vi /etc/rc.d/rc.local
添加:stunnel3 –p /etc/stunnel/stunnel.pem –d 901 –l /usr/sbin/swat swat
⑥ 使用https安全訪問(wèn)swat。
在web中輸入:https://192.168.120.241:901即可安全進(jìn)入,不過(guò)在打開(kāi)頁(yè)面時(shí)會(huì)提示證書(shū)未經(jīng)過(guò)驗(yàn)證,這個(gè)不用理會(huì),直接進(jìn)入即可。
輸入登入swat的路徑,注意是https,并且要加端口901。
圖二十:使用https登入swat
在登入時(shí),會(huì)提示此網(wǎng)站安全證書(shū)有問(wèn)題,不用理會(huì),直接點(diǎn)擊“繼續(xù)瀏覽此網(wǎng)站(不推薦)”即可。
圖二十一:提示證書(shū)未經(jīng)CA驗(yàn)證
彈出密碼框,輸入用戶名root和密碼確定后即可進(jìn)入swat。此時(shí)這個(gè)密碼會(huì)被加密傳輸。
圖二十二:輸入登入swat的用戶名和密碼
OK,正常并且安全的進(jìn)入swat了。那就繼續(xù)你的samba設(shè)置吧。
圖二十三:安全的進(jìn)入swat
10.
inetd是老版本Linux的超級(jí)守護(hù)進(jìn)程,現(xiàn)在新版Linux使用的xinetd是inetd的升級(jí)版。
在此,假如你的Server裝的是inetd,那么我們就配置inetd來(lái)啟用swat。主要是通過(guò)配置inetd.conf文件來(lái)達(dá)到管理其他子進(jìn)程的目的。
基本步驟:
① 編輯inetd.conf文件來(lái)啟用swat。
[root@RHEL5.2 /]#vi /etc/inetd.conf
加入:swat stream tcp nowait.400 root /usr/sbin/swat swat
② 編輯services文件加入tcp901。
[root@RHEL5.2 /]#vi /etc/services
加入:swat 901/tcp
③ 重新啟用inetd。
查看inetd進(jìn)程ID。
[root@RHEL5.2 /]#ps aux |grep inetd
結(jié)束inetd進(jìn)程,讓inetd重新讀取inetd.conf文件。
[root@RHEL5.2 /]#kill -HUP inetd進(jìn)程ID