[root@RHEL5 /]#rpm –qa |grep xinetd
[root@RHEL5 /]#mount /dev/cdrom /mnt/cdrom [root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/xinetd-2.3.14- 10.el5.i386.rpm3. 安裝swat 如圖二,查看系統是否安裝了swat工具包。
[root@RHEL5 /]#rpm –qa |grep swat
[root@RHEL5 /]#rpm –ivh /mnt/cdrom/Servers/samba-swat-3.0.28-0.el5.8.i386.rpm4. 編輯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添加了進去。
圖六:重啟xinetd
【開啟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登入的方式就是:http://192.168.120.241:901
圖九:輸入有權訪問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 []: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
[root@RHEL5 /]#service xinetd stop [root@RHEL5 /]#chkconfig --level 35 xinetd off
[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中輸入:https://192.168.120.241:901即可安全進入,不過在打開頁面時會提示證書未經過驗證,這個不用理會,直接進入即可。 輸入登入swat的路徑,注意是https,並且要加端口901。
圖二十一:提示證書未經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。
[root@RHEL5.2 /]#vi /etc/inetd.conf 加入:swat stream tcp nowait.400 root /usr/sbin/swat swat
[root@RHEL5.2 /]#vi /etc/services 加入:swat 901/tcp
查看inetd進程ID。 [root@RHEL5.2 /]#ps aux |grep inetd 結束inetd進程,讓inetd重新讀取inetd.conf文件。 [root@RHEL5.2 /]#kill -HUP inetd進程ID