SWAT—Samba WEB管理工具介绍
1. swat介绍
swat:the samba web administration tool
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 |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 []: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
图十九: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。
[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了。