本文试验环境是RHEL5.2+samba-swat-3.0.28。Server的IP是192.168.120.241。

1. swat介绍

SWAT:The Samba WEB Administration Tool
SWAT是Samba的图形化管理工具。我们可以通过浏览器利用swat工具来设置samba。在swat中每一个samba参数都有相应的帮助文件或解释文件,很适合初学者。
SWAT工具嵌套在xinetd超级守护进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包。

2. 安装xinetd

如图一,查看系统是否安装了xinetd工具包。

WEB管理工具,Samba

图一:查看系统是否安装了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

WEB管理工具,Samba

图二:查看系统是否安装了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文件。

WEB管理工具,Samba

图三: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目录下。

WEB管理工具,Samba

图四:编辑后的swat配置文件

如图五,查看系统的services中是否将tcp的901添加了进去。

WEB管理工具,Samba

图五:在/etc/services中查看tcp901

如果/etc/services文件中没有tcp901,那么就编辑该文件,添加“swat 901/tcp”即可。

5. 启动swat

因为swat是xinetd的子进程,所以只要启用了xinetd,那么swat也就会伴随xinetd启动。

WEB管理工具,Samba

图六:重启xinetd

WEB管理工具,Samba

图七:使用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]。

WEB管理工具,Samba

图八:登入swat,注意加默认端口901

然后输入用户名和密码,如果进入swat的用户没有改变,那么默认就是root账号。

WEB管理工具,Samba

图九:输入有权访问swat的账号,默认为root

正常进入swat的登陆页面,可以看到有8个选项。

WEB管理工具,Samba

图十: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(高级的,完全的)两个选项。

WEB管理工具,Samba

图十一: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”是恢复到缺省值。

WEB管理工具,Samba

图十二:设置完参数后记得保存

每个参数项里面的参数就不细说了,都有帮助。

③ SHARES:设置Samba的共享参数

在SHARES中,也分为Basic和Advanced两个选项。

如下图,可以选择共享,可以删除共享,可以创建共享。

WEB管理工具,Samba

图十三:SHARE选项的功能按钮

④ PRINTERS:设置Samba的打印共享参数

它的设置和SHARES一样。

WEB管理工具,Samba

图十四:PRINTER选项的功能按钮

⑤ WIZARD:Samba设置向导

如下图,可以看到Samba的三种类型:独立服务、域成员、域控制器

WEB管理工具,Samba

图十五:WIZARD选项的功能按钮

⑥ STATUS:查看和设置Samba服务状况

在这个选项中可以启动和停止samba服务,可以查看活动的连接、共享,打开的文件等。

如下图,有Active Connections、Active Shares、Open Files等选项。

WEB管理工具,Samba

图十六:STATUS选项的面板

⑦ VIEW:查看Samba的配置文件,即同“cat /etc/samba/smb.conf”

如下图,是我的samba的简单配置

WEB管理工具,Samba

图十七:VIEW选项中查看samba的配置

⑧ PASSWORD:密码设置

在这个选项中,可以新建用户,设置或更改密码。

如下图,“Change Password:更改密码”、“Add New User:新建用户”、“Delete User:删除用户”、“Disable User:锁定用户”、“Enable User:解锁被锁定用户”。

WEB管理工具,Samba

图十八: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。

第一种方法:关闭swat子进程。

[root@RHEL5 /]#vi /etc/xinetd.d/swat

修改“disable=yes”

[root@RHEL5 /]#service xinetd restart

[root@RHEL5 /]#chkconfig –list |grep swat

WEB管理工具,Samba

图十九: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。

WEB管理工具,Samba

图二十:使用https登入swat

在登入时,会提示此网站安全证书有问题,不用理会,直接点击“继续浏览此网站(不推荐)”即可。

WEB管理工具,Samba

图二十一:提示证书未经CA验证

弹出密码框,输入用户名root和密码确定后即可进入swat。此时这个密码会被加密传输。

WEB管理工具,Samba

图二十二:输入登入swat的用户名和密码

OK,正常并且安全的进入swat了。那就继续你的samba设置吧。

WEB管理工具,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

② 编辑services文件加入tcp901。

[root@RHEL5.2 /]#vi /etc/services

加入:swat    901/tcp

③ 重新启用inetd。

查看inetd进程ID。

[root@RHEL5.2 /]#ps aux |grep inetd

结束inetd进程,让inetd重新读取inetd.conf文件。

[root@RHEL5.2 /]#kill -HUP inetd进程ID

④ 访问swat。

在web中输入[url]http://192.168.120.241:901[/url]即可访问swat了。