4 Samba两个服务器相关启动程序、客户端及服务器配置文件
4.1 Samba 有两个服务器,一个是smb,另一个是nmb
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;
\\\\192.168.1.5\\共享目录
我们在Windows的IE 6 的地址栏中输入 \\\\192.168.1.5\\lok (192.168.1.5 是Linux 的IP地址;lok 是Linux 上的samba 共享目录 ),如下图4.1所示
图4.1 在Windows中通过IP地址查询Linux 上的共享文件
而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;
一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器,如下图:
通信系计算机网络与技术专业 - 11 -
广州民航职业技术学院高职毕业(设计)论文:SAMBA服务器的架设
图4.2 通过指定smb 路径,启动相应的服务
[root@localhost ~]# /etc/init.d/smb start // 以管理员身份打开 如果停止呢?就在smb后面加stop ;重启就是restart :
[root@localhost ~]# /etc/init.d/smb stop // 以管理员身份打开 [root@localhost ~]# /etc/init.d/smb restart // 以管理员身份打开
对于所有系统来说,通用的办法就是直接运行smb 和nmb;当然您要知道smb和nmb所在的目录才行;如果是自己编译的Samba 软件,则需要输入安装所在的目录路径才行:
[root@localhost ~]# /usr/sbin/smbd [root@localhost ~]# /usr/sbin/nmbd 查看服务器是否运行起来了,则用下面的命令; [root@localhost ~]# pgrep smbd [root@localhost ~]# pgrep nmbd
关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行; [root@localhost ~]# pkill smbd [root@localhost ~]# pkill nmbd
4.2 查看Samba 服务器的端口及防火墙
查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445 ;
[root@localhost ~]# netstat -tlnp |grep smb
- 12 - 通信系计算机网络与技术专业
图4.3 查看samba 服务器占用端口
如果有防火墙,一定要把这两个端口打开。方法是“应用程序”->“系统设置”->“安全级别”
图4.4 在Linux 防火墙中开启samba服务器所必须的端口
如果不知道怎么打开。可以把防火墙规则清掉; [root@localhost ~]# iptables -F 或 [root@localhost ~]# /sbin/iptables -F
通信系计算机网络与技术专业 - 13 -
广州民航职业技术学院高职毕业(设计)论文:SAMBA服务器的架设
4.3、查看Samba 服务器的配置文件
如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件 smbpasswd、smbusers和lmhosts等(最好您查看一下这些文件的内容);还有一个文件是secrets.tdb,这个文件是Samba 服务器启动时自动生成的。
图4.5 在Linux 中安装samba服务器后生产的相应文件
4.4、Samba 在Linux 中的一些工具(服务器端和客户端)
Smbcacls smbcontrol smbencrypt smbmount smbprint smbstatus smbtree smbclient smbcquotas smbmnt smbpasswd smbspool smbtar smbumount smbd nmbd mount
其中服务器端的是smbd、nmbd、smbpasswd ;其它的大多是客户端;这些并不是都需要一定要精通的,但至少得会用几个;比如smbmount(也就是mount 加参数的用法),还有smbclient等;
4.5 在Linux 中的常用工具mount(smbmount)和smbclient及在Windows查看Linux共享的方法
- 14 - 通信系计算机网络与技术专业
4.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件
一般的情况下,我们要用到smbclient;常用的用法如下示: [root@localhost ~]# smbclient -L //ip地址或计算机名
图4.6 通过smbclient 客户端查看Windows共享的相关内容
smbclient 是Samba 的Linux 客户端,在Linux机器上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件,遗憾的是对中文支持并不友好;
查看服务器上的资源;
smbclient -L //IP [-U 用户名]
如果您的Samba服务器配置为user模式,就要加 “-U 用户名“,如果是share模式,省略也可;
比如:
[root@localhost ~]# smbclient -L //192.168.1.5 -U sir01 Password: 请输入用户sir01的密码
如果您是用share模式,就可以不必理会用户和密码,直接用;
通信系计算机网络与技术专业 - 15 -