当前位置:操作系统 > Unix/Linux >>

samba服务器的设置

一. linux服务器向windows客户端提供文件/目录及打印机共享

  linux服务器上的samba运行起来以后,linux就相当于一台文件及打印服务器,向

  windows和linux samba客户提供文件及打印服务。工作在共享模式或者用户模式下的两种

  方法较为常见(Security=share或Security=user),其中有以下常见问题。环境:

  Redhat linux 6.x

  1.

  共享模式时从windows 98客户端不能从网上邻居中看到服务器,或者看到后不能点击

  进入共享资源,说密码不对等等。

  a.

  没有去掉guest account = pcguest一行前面的注释符号

  b.

  没有创建guest帐号pcguest (#useradd pcguest即可)

  c.

  windows 98默认发送加密的口令,而/etc/smb.conf中没有enable samba加密口令。

  或者也可以编辑windows 98注册表,让它发送文本口令(不被建议的)

  2.

  在/etc/smb.conf中定义了完全可写共享目录,但实际操作时不能写入。

  a.

  特别要注意的是:linux本身的文件及目录权限永远大于samba定义的权限,要让某共

  享资源目录可以被写,首先要保证在linux下面该目录可以被相应的用户可写,这是前提。

  3.

  在共享模式下如何对某共享目录加用户名及密码保护

  a.

  看下面的共享资源定义例子:

  security = SHARE

  username map = /etc/smbusers

  log file = /var/log/samba/log.%m

  max log size = 50

  socket options = TCP_NODELAY

  client code page = 936

  os level = 40

  local master = yes

  preferred master = yes

  domain master = yes

  guest account = pcguest

  encrypt passwords = yes

  smb passwd file = /etc/smbpasswd

  [sales]

  comment = test folder

  path = /sales/training

  guest ok = no

  writable = yes

  valid users = @sales

  write list = @sales

  在上面的例子中,我们定义了security=share和samba encrypt password,共享目录

  名sales不是guest用户可访问的,需要属于sales组里的用户可访问,同时也可写,当然在

  linux下面要保证/sales/training目录可被组sales可写,这样以后定义你的windows logon

  (不是NT域登录)的用户名为组sales里的用户名,然后在网上邻居中双击sales时会提示你

  密码,该密码是你在samba服务器上定义的samba加密的口令,在上面的例子中用户名和密

  码对存放在文件/etc/smbpasswd中,当然你事先要有系统用户名在/etc/passwd中。

  4.

  windows用户经常不能在网上邻居中浏览到samba服务器的名字。

  a.

  windows的网上邻居服务是非常不可靠的服务,它所建立的浏览列表不可靠,由众多

  因素引起。

  b.

  一种可靠的解决办法是直接用"查找"-"计算机"-打入samba服务器的主机名进行查找。

  注意要确保你在windows启动时没有取消登录。

  c.

  你也可以在DOS窗口用net use命令:如

  c:>net use m: sambaservernameshareresourcename

  5.

  服务器端的测试配置工具

  a.

  在配置完/etc/smb.conf后运行testparm检测配置文件中是否有相应语法错误

  b.

  在samba服务起来后,用smbstatus报告用户使用和登录情况。

  c.

  在更改过配置文件后,运行/etc/rc.d/init.d/smb restart重读配置文件

  二. 在linux客户机上使用linux samba服务器

  1.

  在linux客户机上使用smbclient

  a.

  列出计算机192.168.100.1上所有可用的共享资源:

  smbclient -L 192.168.100.1

  如果询问口令,则直接回车。

  也可用名字如:

  smbclient -L sh3

  若不知道sh3的IP地址,也可用

  smbclient -L sh3 -I 192.168.100.1

  b.

  以某用户身份连接到samba服务器192.168.100.1上的共享资源sales

  smbclient //192.168.100.1/sales -U jephe

  提示口令后输入口令,也可把口令打在命令行上用%号分隔,为:

  smbclient //192.168.100.1/sales -U jephe%password

  提示符为smb:,就象是FTP一样

  也可用名字如:

  smbclient //sh3/sales -I 192.168.100.1 -U jephe

  你也可以用符号,你的SHELL可能会过滤到特殊符号,则要这样写

  #smbclient \sh3sales

  2.

  通过IP地址查找netbios名字

  a.

  在windows下用

  c:>nbtstat -A 192.168.100.1

  如果知道netbios名字,可用下面的命令得知某机器哪些服务

  c:>nbtstat -a hydra

  b.

  在linux下用

  #nmblookup -A 192.168.100.1

  在一个网段内可用下面的命令检测哪些主机在提供samba共享服务:

  #nmblookup -d 2 * 或

  #nmblookup -B 192.168.100.255 *

  检测其它网段内的某台机器是否提供samba服务

  #nmblookup -A 192.168.15.48

  但不能用 #nmblookup -B 192.168.15.255 *,因为一般的路由器和linux双宿主机不

  转发子网直接广播。

  3.

  netbios over TCP/IP使用的协议及端口号

  a.

  共有三种netbios服务

  netbios-ns 137/udp(大多数) and 137/tcp

  netbios-dgm 138/udp(大多数)and 138/udp(<font color=red>明显有误,到底哪个是udp/tcp</font>)

  netbios-ssn 139/tcp

  b.

  windows机器上的PC应用程序通过不同机器间的netbios名字来彼此通讯。

  c.

  每次当windows机器启动时,它向整个网段内发出137/udp广播,一来登记向某工作组

  内的主浏览器登记netbios名字,二来确信整个子网内没有与之相同的名字

  d.

  网上邻居中所建立起来的浏览列表仅仅是列表,看不到也没有关系,同样也可以通过

  计算机查找,net use命令等来与别的计算机通讯,共享文件和打印机

  e.

  不在同一网段内的机器或者是拨号到LAN上的PPP服务器后不可能进行网上邻居的浏览。

  这是因为子网内的广播不被串行线路和路由器转发。

  f.

  如何在拨号到LAN上的PPP服务器后使用LAN上的samba服务器<font color=red>到底如何操作,不能理解</font>

  <1> 在windows目录下编辑c:windowslmhosts

  如:192.168.11.3 sh3 #PRE #DOM:sales

  执行nbtstat -R 去enable它,不需要重启windows

  <2> 你必须登录windows,若是用户模式的samba,你应该选择windows NT登录

  <3> 其它设置跟LAN上的机器一样

  <4> 拨号建立连接后,在查找"计算机"功能定位资源

  <5> 现在你能使用远端服务器上的目录和打印机。

  在不同网段内的机器也可参照此做法,也可用plug-gw代理tcp/139号端口访问另一网段

  上的samba服务器。

  4.

  用Microsoft FTP服务器的简便方法。 ftp.microsoft.com<font color=red>到底是什么意思,不能理解</font>

  a.

  加ftp到lmhosts文件

  198.105.232.1 ftp #PRE

  运行nbtstat -R

  b.

  net view ftp

  c.

  net use g: ftpdata

  d.

  dir g:

  5.

  smbmount的使用

  a.

  #smbmount //192.168.100.1/pub /mnt/sh3 -o username=jephe%password本文来自:http://www.xiaoyaxiao.com/1537.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,