Recipe 23.18. Connecting Linux Clients to Samba Workgroups with Command-Line Tools

 < Day Day Up > 

23.18.1 Problem

Graphical LAN browsers, like the ones discussed in Recipe 23.17, are nice, but you really want a command-line tool for browsing Samba shares and transferring files. You don't always run an X session, or maybe you just prefer the console.

23.18.2 Solution

Use smbclient to list available shares and to transfer the files you want. With smbclient, you don't need to mount shares to get or upload the files; it's just like using File Transfer Protocol (FTP).

Another option is to use smbtree and smbmount/smbumount. smbtree is an ASCII-text LAN browser, so you don't need to run X to use it. Use smbtree to display the hosts and shares in your workgroup, then use smbmount/smbumount to mount and unmount the shares you want to use.

23.18.3 Discussion

To use smbclient, first give it the hostname of your Samba server to show a list of shares:

$ smbclient -N -L windbag ...         Sharename       Type      Comment         ---------       ----      -------         share1          Disk      testfiles         share2          Disk      more testfiles         share3          Disk      testfiles galore ...

Then connect to the share you want:

$ smbclient -N //windbag/share1 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.5-Debian] smb: \>

To list the files, use ls:

smb: \> ls .                           D        0  Sat Aug 14 16:47:24 2003   ..                        D        0  Sat Aug 14 16:46:14 2003   chatscripts               D        0  Sat Aug 14 16:47:24 2003   calendar                  D        0  Sat Aug 14 16:47:05 2003                     47838 blocks of size 65536. 17571 blocks available

Files are transferred by using the familiar old FTP commands:

smb: \> cd chatscripts smb: \chatscripts\> ls .                            D        0  Sat Aug 14 16:47:24 2004   ..                         D        0  Sat Aug 14 16:47:24 2004   provider                   A      656  Tue Aug 19 15:14:46 2003                     47838 blocks of size 65536. 17571 blocks available smb: \chatscripts\> get provider provider-copy

This command downloads the file provider to your local working directory and renames it provider-copy. To upload the provider-copy file when you're finished, without changing the name, use:

smb: \chatscripts\> put provider-copy

You can call up a list of commands with the question mark:

smb: \> ?

To terminate your session, use:

smb: \> quit

smbtree looks like this:

$ smbtree -N WORKGROUP    \\WINDBAG               anonymous lan file server            \\WINDBAG\ADMIN$        IPC Service (anonymous lan file server)            \\WINDBAG\IPC$          IPC Service (anonymous lan file server)            \\WINDBAG\share2        shared filenthinngs            \\WINDBAG\share1        testfiles    \\STINKPAD              lil black box            \\STINKPAD\ADMIN$       IPC Service (lil black box)            \\STINKPAD\IPC$         IPC Service (lil black box)    \\POWERPC               celeron            \\POWERPC\IPC$          Remote Inter Process Communication            \\POWERPC\PRINTER$

When you see the share you want, mount the share on your system with smbmount, using a directory created for this purpose, and mind your slashes:

$ mkdir samba $ smbmount //powerpc/c-win98 samba -o guest

To unmount the share when you're finished, use:

$ smbumount  samba

-o guest prevents Samba from asking for a password. Use this on anonymous shares that don't need authentication. If a login is required, enter your username:

$ smbmount //windbag/andrew  samba -o andrew added interface ip=192.168.1.5 bcast=192.168.1.255 nmask=255.255.255.0 Password:

smbmount must be SUID for ordinary users to be able to use it. If your installation did not do this already, set the SUID bit this way:

# chmod +s smbmount

23.18.4 See Also

  • smbmount(8), smbumount(8), smbtree(1)

     < Day Day Up > 


    Linux Cookbook
    Linux Cookbook
    ISBN: 0596006403
    EAN: 2147483647
    Year: 2004
    Pages: 434

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net