圖一:查看系統是否安裝了xinetd
如果未安裝,掛載系統盤安裝即可。
[root@RHEL5 /]#mount /dev/cdrom /mnt/cdrom
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/xinetd-2.3.14- 10.el5.i386.rpm
3. 安裝swat
如圖二,查看系統是否安裝了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
4. 編輯swat配置文件
因為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”即可。
5. 啟動swat
因為swat是xinetd的子進程,所以只要啟用了xinetd,那麼swat也就會伴隨xinetd啟動。
圖六:重啟xinetd
圖七:使用chkconfig查看swat狀態
6. 防火牆設置
關閉防火牆或者開啟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”
7. 使用web登入SWAT
如果訪問swat的端口沒有改變,那麼通過web登入的方式就是:[url]http://192.168.120.241:901[/url]。
圖八:登入swat,注意加默認端口901
然後輸入用戶名和密碼,如果進入swat的用戶沒有改變,那麼默認就是root賬號。
圖九:輸入有權訪問swat的賬號,默認為root
正常進入swat的登陸頁面,可以看到有8個選項。
圖十:swat頁面格式
8. 通過swat配置samba
在swat頁面我們可以看到有8個選項,每個選項可以配置samba的不同功能。
HOME:Samba相關程序及文件說明。
GLOBALS:設置Samba的全局參數。
SHARES:設置Samba的共享參數。
PRINTERS:設置Samba的打印參數。
WIZARD:Samba配置向導。
STATUS:查看和設置Samba的服務狀況。
VIEW:查看Samba的文本配置文件,即smb.conf。
PASSWORD:設置Samba用戶,可以修改密碼,新建刪除用戶。
① HOME:介紹Samba的相關程序和文件及其使用方法
Daemons:進程,service smb start啟動smbd和nmbd。
smbd - the SMB daemon
nmbd - the NetBIOS nameserver
winbindd - the winbind daemon
Configuration Files:配置文件,默認在/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:設置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選項的功能按鈕
9. 通過SSL使用安全的SWAT
默認情況下用戶在登陸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
10. 使用inetd超級進程啟用SWAT
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了。