作者:wind521 一. 由Linux向windows提供文件/目录及打印机共享。 在Linux服务器上的Samba运行起来以后,Linux就相当于一台文件及打印服务器,向win dows 和Linux Samba客户提供文件及打印服务。工作在共享模式或者用户模式下的两种方法较为常见( Secu rity=share or 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 and samba encrypt password,共享目录 名sa les 不是guest用户可访问的,需要属于sales组里的用户可访问同时也可写,当然在Linux下 面要 保证 /sales/training目录可被组sales可写,这样以后 定义你的windows logon(不是NT域登录)的用户名为组sales里的用户名,然后在网上 邻居 中双击 sales时会提示你密码,该密码是你在Samba服务器上定义的samba加密的口令,在上面的 例子 中 用户名和密码对存放在文件/etc/smbpasswd中,当然你事先要有系统用户名在/etc/pas swd中 。 4. windows用户经常不能在网上邻居中浏览到Samba服务器的名字。 a. windows的网上邻居服务是非常不可靠的服务,它所建立的浏览列表不可靠,由众多 因素 引起。 b. 一种可靠的解决办法是直接用‘查找’-‘计算机’-打入samba服务器的主机名进行 查找 。 注意要确保你在windows启动时没有取消登录。 c.你也可以在DOS窗口用net use 命令:如c: net use m: \sambaservernamesharereso urce name 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 \\sh3\sales 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 * or #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 netbios-ssn 139/tcp b.windows机器上的PC应用程序通过不同机器间的netbios名字来彼此通讯。 c. 每次当windows机器启动时,它向整个网段内发出137/udp广播,一来登记向某 工作组内的主浏览器登记netbios名字,二来确信整个子网内没有与之相同的名字 d. 网上邻居中所建立起来的浏览列表仅仅是列表,看不到也没有关系,同样也可以通过 计算机查找,net use命令等来与别的计算机通讯,共享文件和打印机 e. 不在同一网段内的机器或者是拨号到LAN上的PPP服务器后不可能进行网上邻居的浏览 。 这是因为子网内的广播不被串行线路和路由器转发。 f. 如何在拨号到LAN上的PPP服务器后使用LAN上的Samba服务器? 在windows目录下编辑c:windowslmhosts 如: 192.168.11.3 sh3 #PRE #DOM:sales 执行nbtstat -R 去enable它,不需要重启windows 你必须登录windows,若是用户模式的samba,你应该选择windows NT登录 其它设置跟LAN上的机器一样 拨号建立连接后,在查找‘计算机’功能定位资源 现在你能使用远端服务器上的目录和打印机。 在不同网段内的机器也可参照此做法,也可用plug-gw代理tcp/139号端口访问另一网段 上的 samba 服务器。 4. 用Microsoft FTP 服务器的简便方法。 ftp.microsoft.com 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 -U jephe%password
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]