让 Windows 计算机可以通过网络邻居来存取 Linux 主机上面的档案!这就是 SAMBA 这个服务器的主要目的了
SAMBA 就使用两个 daemons 来管理这两个不同的服务:
smbd :这个 daemon 的主要功能就是用来管理 SAMBA 主机分享什么目录、档案与打印机等等的内容。
nmbd :这个 daemon 则是用来管理群组啦、NetBIOS name 啦等等的解析。
所以, SAMBA 每次激活至少都需要有这两个 daemons!而当我们激活了 SAMBA 之后,主机系统就会激活 137, 138, 139 三个 port ,且同时会有 UDP/TCP 的监听服务!
查看系统安装软件:
#rpm –qa | grep samba
SAMBA 的设定文档:
在 /etc/samba 底下的几个重要的设定文档有:
/etc/samba/smb.conf:这个就是 SAMBA 最主要的设定档了!在较为简单的设定当中,这也是唯一的一个设定档!此外,这个档案本身就含有相当丰富的说明,所以,在设定之前,请使用 vi 好好的详细的观看一下这个档案吧!这个设定档主要的设定分为两部份,分别是 [global] 这个设定主机功能的项目,以及接下来的每个分享出去的目录的属性设定。我们会在后续的部分进行更多的说明。
/etc/samba/lmhosts:这个档案的主要目的在对应 NetBIOS name 与该主机名称的 IP ,事实上,他有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名称是 NetBIOS name 喔!不要跟 /etc/hosts 搞混了!由于目前 SAMBA 的功能越来越强大,所以通常只要您一激活 SAMBA 时,他就能自己捉到 LAN 里面的相关计算机的 NetBIOS name 对应 IP 的信息,因此,这个档案通常可以不用设定了!
/etc/samba/smbpasswd:这个档案预设并不存在啦!他是 SAMBA 预设的使用者密码对应表。当我们设定的 SAMBA 服务器是较为严密的,需要使用者输入帐号与密码后才能登入的状态时,使用者的密码预设就是放置在这里咯 ( 当然啰,您可以自行在 smb.conf 里面设定密码放置的地方及密码文件名,不过,我们这里都以预设的状态来说明 ) 。比较需要注意的是,这个档案因为包含了使用者的密码,所以,当然权限方面要较为注意啦!这个档案的拥有者需要是 root ,且权限设定为 600 才行喔!
SAMBA 的执行档:
SAMBA 的执行档可就多了!一般来说,做为 SAMBA Server 的执行档有 testparm, smbd, nmbd, smbpasswd,至于做为 SAMBA Client 的执行档主要则是:smbmount, smbclient。
smbd 与 nmbd:这两个执行档就是那两个主要的 daemons !每次激活 SAMBA 都会使用到的两个执行档啦!
testparm:当我们设定完成了 smb.conf 这个主要设定档之后,而想要查看一下 SAMBA 的所有设定参数与 smb.conf 的设定项目是否正确时,就需要使用这个 testparm 来查看啰 ( 其实就是 test parameters 的简写!)!所以说,每次在修改完 smb.conf 之后,请务必要使用 testparm 查看看是否有设定错误喔!
smbpasswd:如果您的 SAMBA 设定的较为严格,需要规定使用者的帐号与密码,那么那个密码档案的建立就需要使用 smbpasswd 来建置才可以的喔!所以这个指令与建立 SAMBA 的密码有关咯!
smbclient:当你的 Linux 主机想要藉由网络邻居的功能来查看别台计算机所分享出来的目录与装置时,就可以使用 smbclient 来查看啦!这个指令也可以使用在自己的 SAMBA 主机上面,用来查看是否设定成功哩!
smbmount:在 Windows 上面我们可以设定『网络磁盘驱动器』来连接到自己的主机上面,同样的,在 Linux 上面,我们可以透过 smbmount 来将远程主机分享的档案与目录挂载到自己的 Linux 主机上面哪!不过,其实我们也可以直接使用 mount 这个指令来进行同样的功能就是了。
配置smb.conf
显示配置后的文件:
# grep -v '^#' smb.conf | grep -v '^;' | grep -v '^$'
客户端:设置用户和密码:
#smbpasswd -a user
注意:在 SAMBA 主机所提供能夠登入的帐号,必須要在 /etc/passwd里面存在
最后就可以通过windows的网上邻居看了linux机器上的文档和目录了。