本文试验环境是RHEL5.2+samba-swat-3.0.28。Server的IP是192.168.120.241。
1.swat介绍SWAT:TheSambaWEBAdministrationTool
SWAT是Samba的图形化
管理工具。我们可以通过浏览器利用swat工具来设置samba。在swat中每一个samba
参数都有相应的帮助文件或解释文件,很适合初学者。
SWAT工具嵌套在xinetd超级守护
进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包。
2.安装xinetd如图一,查看系统是否安装了xinetd工具包。
图一:查看系统是否安装了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|grepswat
图二:查看系统是否安装了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,那么就编辑该文件,添加swat901/tcp即可。
5.启动swat
因为swat是xinetd的子进程,所以只要启用了xinetd,那么swat也就会伴随xinetd启动。
图六:重启xinetd
图七:使用chkconfig查看swat状态
6.防火墙设置
关闭防火墙或者开启swat相关端口。
【关闭防火墙】
[root@RHEL5/]#serviceiptablesstop
【开启swat901端口,直接写入INPUT链,重启iptables会丢失】
[root@RHEL5/]#iptables-IINPUT-ptcp--dport901-jACCEPT
【开启swat901端口,通过编辑RH-Firewall-1-INPUT自定义链来打开,配置不会丢失】
[root@RHEL5/]#vi/etc/sysconfig/iptables
加入:-ARH-Firewall-1-INPUT-ptcp--dport901-jACCEPT
【关闭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:进程,servicesmbstart启动smbd和nmbd。
smbd-theSMBdaemon
nmbd-theNetBIOSnameserver
winbindd-thewinbinddaemon
ConfigurationFiles:配置文件,默认在/etc/samba目录下
smb.conf-themainSambaconfigurationfile
lmhosts-NetBIOShostsfile
smbpasswd-SMBpasswordfile
AdministrativeUtilities:Samba管理工具
smbcontrol-sendcontrolmessagestoSambadaemons
smbpasswd-managingSMBpasswords
SWAT-webconfigurationtool
net-toolforadministrationofSambaandremoteCIFSservers
pdbedit-Sambauseraccountmanagementtool
tdbbackup-ToolforbackingupTDBdatabases
ClientTools:Samba客户端工具
rpcclient-commandlineMS-RPCclient
smbtar-SMBbackuptool
smbclient-commandlineSMBclient
smbmnt-helperutilityformountingSMBfilesystemsonLinuxhosts
smbmount-userspacetoolformountingSMBfilesystemsunderLinux
smbumount-userspacetoolforumountingSMBfilesystemsunderLinux
ntlm_auth-allowexternalprogramstouseNTLMauthentication
smbcquotas-getorsetquotasonNTFS5shares
smbspool-SendaprintjobtoanSMBprinter
smbtree-Text-basedSMBnetworkbrowsing
DiagnosticUtilities:Samba测试工具
smbstatus-monitoringSamba
testparm-validatingyourconfigfile
nmblookup-NetBIOSnamequerytool
wbinfo-Toolforgettingwinbindinformation
Misc.Utilities:其他工具
profiles-migratingprofilesfromonedomaintoanother
log2pcap-generatepcapfilesfromsambalogfiles
②GLOBALS:设置Samba的全局参数,即smb.conf文件的[global]。
在GLOBALS中,分为Basic(基本的)和Advanced(高级的,完全的)两个选项。
图十一:GLOBALS选项的Basic和Advanced子选项
在Basic选项中可以设置Samba的基本参数。
在每个参数项中有很多的参数可以设置。
BaseOptions:基础选项
SecutityOptions:安全选项
LoggingOptions:日志选项
ProtocolOptions:协议选项
BrowseOptions:浏览选项
WIINSOptions:wins选项
EventLogOptions:系统日志选项
WinbindOptions:winbind选项
在Advanced选项中可以设置Samba的高级参数。
Advanced在Basic的基础上又有一些参数项可供设置,并且每个参数项又有很多参数可供选择。
TunningOptions:系统运行选项
PrintingOptions:打印选项
FilenameHanding:文件名处理
DomainOptions:domain选项,在security=domain时,该参数项中参数才生效
LockingOptions:锁定选项
LdapOptions:LDAP选项
MiscellaneousOptions:杂项
VFSmoduleoptions:VFS模块选项
在设置完这些参数后,要记得CommitChanges保存配置。ResetValues是恢复到缺省值。
图十二:设置完参数后记得保存
每个参数项里面的参数就不细说了,都有帮助。
③SHARES:设置Samba的共享参数
在SHARES中,也分为Basic和Advanced两个选项。
如下图,可以选择共享,可以删除共享,可以创建共享。
图十三:SHARE选项的功能按钮
④PRINTERS:设置Samba的打印共享参数
它的设置和SHARES一样。
图十四:PRINTER选项的功能按钮
⑤WIZARD:Samba设置向导
如下图,可以看到Samba的三种类型:独立服务、域成员、域控制器
图十五:WIZARD选项的功能按钮
⑥STATUS:查看和设置Samba服务状况
在这个选项中可以启动和停止samba服务,可以查看活动的连接、共享,打开的文件等。
如下图,有ActiveConnections、ActiveShares、OpenFiles等选项。
图十六:STATUS选项的面板
⑦VIEW:查看Samba的配置文件,即同cat/etc/samba/smb.conf
如下图,是我的samba的简单配置
图十七:VIEW选项中查看samba的配置
⑧PASSWORD:密码设置
在这个选项中,可以新建用户,设置或更改密码。
如下图,ChangePassword:更改密码、AddNewUser:新建用户、DeleteUser:删除用户、DisableUser:锁定用户、EnableUser:解锁被锁定用户。
图十八:PASSWORD选项的功能按钮
9.通过SSL使用安全的SWAT
默认情况下用户在登陆SWAT时,传输的密码是明文的,这样有极大的安全隐患。现在可以通过SSL来加密验证密码。
基本步骤:
①安装OpenSSL工具。
[root@RHEL5/]#rpm-qa|grepopenssl
openssl-devel-0.9.8b-10.el5
openssl-0.9.8b-10.el5
[root@RHEL5/]#rpm-qa|grepstunnel
stunnel-4.15-2
②创建证书和密钥。
[root@RHEL5/]#opensslreq–new–x509–days365–nodes–out/etc/stunnel/stunnel.pem–keyout/etc/stunnel/stunnel.pem
可以照着下面的填写或者直接一路回车。
CountryName(2lettercode)[GB]:CN
StateorProvinceName(fullname)[Berkshire]:guangdong
LocalityName(eg,city)[Newbury]:shenzhen
OrganizationName(eg,company)[MyCompanyLtd]:olym
OrganizationalUnitName(eg,section)[]:tech
CommonName(eg,yournameoryourserver'shostname)[]:bob
EmailAddress[]:bob@126.com
③从xinetd中移除swat。
第一种方法:关闭swat子进程。
[root@RHEL5/]#vi/etc/xinetd.d/swat
修改disable=yes
[root@RHEL5/]#servicexinetdrestart
[root@RHEL5/]#chkconfig–list|grepswat
图十九:swat已关闭
OK,swat已经关闭了。
第二种方法:直接停掉xinetd超级进程。
[root@RHEL5/]#servicexinetdstop
[root@RHEL5/]#chkconfig--level35xinetdoff
④启动stunnel服务。
[root@RHEL5/]#stunnel3–p/etc/stunnel/stunnel.pem–d901–l/usr/sbin/swatswat
在执行stunnel3时报错:wrongpermissionson/etc/stunnel/stunnel.pem,提示权限问题。
将stunnel.pem的权限修改成600即可,不过报这个错不影响打开swat。为了不报这个讨厌的错误,我们还是把stunnel.pem的权限改成600吧。
[root@RHEL5/]#chmod600/etc/stunnel/stunnel.pem
⑤将stunnel3写入到rc.local中,以便随系统一起启动。
vi/etc/rc.d/rc.local
添加:stunnel3–p/etc/stunnel/stunnel.pem–d901–l/usr/sbin/swatswat
⑥使用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。
[root@RHEL5.2/]#vi/etc/inetd.conf
加入:swatstreamtcpnowait.400root/usr/sbin/swatswat
②编辑services文件加入tcp901。
[root@RHEL5.2/]#vi/etc/services
加入:swat901/tcp
③重新启用inetd。
查看inetd进程ID。
[root@RHEL5.2/]#psaux|grepinetd
结束inetd进程,让inetd重新读取inetd.conf文件。
[root@RHEL5.2/]#kill-HUPinetd进程ID
④访问swat。
在web中输入[url]http://192.168.120.241:901[/url]即可访问swat了。