首页 > 网管 > 服务器 > 正文

samba服务的搭建

2020-05-27 13:16:30
字体:
来源:转载
供稿:网友

   Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。

  Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

  samba服务的搭建

  客户的使用系统的不同也导致测试结果的不同.

  linux系统客户端:

  security = user or share

  smbclient -L //192.168.7.113/westos 都是可以看到共享目录的,

  二者不同之处在于, security = user 时

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter roots password:

  Anonymous login successful //系统提示登录samba服务成功,但是访问westos共享目录失败,匿名用户也是用户。

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  tree connect failed: NT_STATUS_ACCESS_DENIED

  security = share

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter roots password:

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  Server not using user level security and no password supplied. //不是服务的有效用户,虽然security = share,但是要支持密码登陆。相当于samba服务访问都没成功

  tree connect failed: NT_STATUS_WRONG_PASSWORD

  win的测试:

  security = share 时

  我们访问samba服务时,直接登陆成功,但是访问目录时,提示要密码。

samba服务的搭建 武林网

  security = user 时,当访问samba服务时就开始要密码,没密码不访问。

  有没有这种感觉,linux和win的测试,貌似二者是相反的,刚好颠倒过。

  Linux系统

  当Public =yes 时:

  security = user or share

  匿名用户登陆都将成功。

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter roots password:

  Anonymous login successful

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  smb: > ^C

  [root@redhat samba]# vim /etc/samba/smb.conf

  [root@redhat samba]# /etc/init.d/smb restart

  Shutting down SMB services: [ OK ]

  Starting SMB services: [ OK ]

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter roots password:

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  Server not using user level security and no password supplied.

  smb: > ^C

  win客户端:

  当Public =yes 时:

  security = share

  匿名用户不需要密码用户名,直接登陆成功,访问共享目录也不需要密码用户名。

  当Public =yes 时:

  security = user

  当你访问samba时,直接就会要用户名,密码,登陆都不成功,何况看到共享目录。

  比较:

  也就是说当当Public =yes 时:linux客户端就可以访问共享目录,不管security = user ro share.跟它都没关系。Win客户端只有security =share时,匿名用户才有权利去访问共享目录。

  Samba的几个主要配置文件(/etc/samba)

  smb.conf:最主要的配置文件,分为[global]和[Share Definitions]两个部分。

  lmhosts:对应NetBIOS Name与该主机的IP,一般Samba在启动时就能捕捉到LAN中相关计算机NetBIOS Name对应的IP,因此,这个配置文件一般不用设置。

  smbpasswd:这个文件默认不存在,它是Samba预设的使用者密码对应表。

  Samba的几个主要命令

  smbpasswd:用来设置Samba用户的帐号和密码。

  smbclient:用来查看别的Linux主机的共享。也可以在自己的Samba主机上使用,用来查看设置是否成功。

  smbmount:用来将Samba服务器共享的文档和目录挂载到自己的Linux主机上。

  testparm:用来检查smb.conf是否有错误。

  smb.conf的几个常用变量

  ①客户端变量

  -----------------------------------------------------------------------------

  %a | 客户端的体系结构(例如Samba,NT,Win98,或者Unknown)

  %I | 客户端的IP地址(例如:192.168.220.100)

  %m | 客户端的NetBios名

  %M | 客户端的DNS名

  ------------------------------------------------------------------------------

  ②用户变量

  ------------------------------------------------------------------------------

  %g | %u的基本组

  %G | %U的基本组

  %H | %u的Home目录

  %u | 当前的unix用户名

  %U | 被请求的客户端用户名(不总是被samba使用)

  ------------------------------------------------------------------------------

  ③共享变量

  ------------------------------------------------------------------------------

  %p | 如果和%p不同,automounter的路径对应共享的根目录

  %P | 当前共享的根目录

  %S | 但前共享的名称

  -------------------------------------------------------------------------------

  ④服务器变量

  -------------------------------------------------------------------------------

  %d | 当前服务器进程的ID

  %h | Samba服务器的DNS主机名

  %L | Samba服务器的netbios名

  %N | Home目录服务器,来自automount的映射

  %v | samba版本

  -------------------------------------------------------------------------------

  ⑤其他变量

  -------------------------------------------------------------------------------

  %R | 经过协商的SMB协议

  %T | 当前的日期和时间

  四种安全等级

  ①security=share:用户访问Samba服务器不需要提供用户名和口令, 安全性能较低。

  ②security=user:Samba服务器默认的安全等级, 每一个共享目录只能被一定的用户访问, 并由Samba服务器负责检查账号和密码的正确性。

  ③security=server:服务器安全级别,依靠其他Windows NT/2000或Samba服务器来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。

  ④security=domain:域安全级别,使用主域控制器(PDC)来完成认证。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表