16.3 列出机器上的Samba共享

smbclient

使用前一节介绍的命令,现在就能知道了哪台计算机上有Samba共享,但还想知道它共享了哪些内容,该怎么办呢?smbclient命令是个多用途的工具,可以用于连接和使用共享资源。不过,从更底层的应用来看,它也可以列出计算机上可用的共享。只要使用-L(或--list)选项,后面跟上NetBIOS名称,或IP地址。在提示输入密码时,直接按Enter键,如下所示:

  1. $ smbclient -L ELIOT
  2. Password:
  3. Anonymous login successful
  4. Domain=[TURING] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]
  5. Sharename Type Comment
  6. print$ Disk Printer Drivers
  7. documents Disk Shared presentations and other files
  8. IPC$ IPC IPC Service (eliot server (Samba, Ubuntu))
  9. ADMIN$ IPC IPC Service (eliot server (Samba, Ubuntu))
  10. Anonymous login successful
  11. Domain=[TURING] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]

在这个例子中,既可以看到所有匿名登录可以使用的共享,也可以看到在服务器的smb.conf文件中标明可以浏览的所有文件。如果要查看登录用户可以使用的共享,需要添加-U(或--user)选项,后面跟上在Samba服务器上的Samba用户名。

说明 Samba用户名与Samba服务器上Linux(或Windows和Mac OS X)的用户名可能相同,也可能不相同。需要查看Samba服务器才可以确认这些信息。

  1. $ smbclient -L ELIOT -U scott
  2. Password:
  3. Domain=[ELIOT] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]
  4. Sharename Type Comment
  5. print$ Disk Printer Drivers
  6. documents Disk Shared presentations and other files
  7. IPC$ IPC IPC Service (eliot server (Samba, Ubuntu))
  8. ADMIN$ IPC IPC Service (eliot server (Samba, Ubuntu))
  9. scott Disk Home Directories
  10. Domain=[ELIOT] OS=[Unix] Server=[Samba 3.0.14a-Ubuntu]

在登录以后,看到一个新的共享,即这个用户的主目录scott。也就是说,登录之后就可以在实际使用的共享目录中找到东西,这将是下一节要学习的内容。

提示 如果想测试刚才在Samba服务器上创建的共享,一个不错的方法就是在那台机器上打开shell,并输入以下命令:

  1. $ smbclient -L localhost

在提示输入密码时,直接按Enter键。用这种方法,你就可以快速查看新增加的共享是否可用。当然,如果事先没有将这个共享的浏览权限对所有人开放,就需要用-U选项,让能够查看该共享的用户登录。