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