Date: Mon, 23 Oct 2000 12:18:57 +0400 (MSD)
From: Jeremy C. Reed
Subject: [NetBSD] Монтирование удаленных разделов через Sharity-Light (eng)
Mounting Samba shares on your BSD system
Accessing remote SMB/CIFS services with Sharity-Light (previously
known as rumba). By Jeremy C. Reed
I noticed that the NetBSD samba package installed a smbmount manual
page, but no smbmount program. Under Linux-based systems, smbmount can
be used to mount SMB shares. Basically, SMB -- or the Server Message
Block protocol and now commonly known as the Common Internet File
System (CIFS) -- allows you to access files and printers on remote
computers. It is commonly used on Windows 98 and NT systems, but it is
also available on Unix-type systems using the Samba tools.
With Samba, you can use the smbclient program, which uses ftp-like
commands (such as "LS", "GET" and "PUT"), to access SMB-shared
resources. Nevertheless, being able to mount a remote SMB share may
give you more flexibility and allows you to easily and quickly use the
remote files.
A program called Sharity-Light can be used to mount Samba shares.
Previously known as rumba, the software is available for BSDs, Irix,
Solaris, Next and other operating systems.
According to the Sharity-Light README, the word "rumba" is trademarked
and the program has been renamed. NetBSD still uses "rumba" as the
package name. It is also available as a FreeBSD port using the correct
"Sharity-Light" name.
The open-source Sharity-Light utilities are maintained by the author
of a commercial package called Sharity. The Sharity-Light README says
that it will still be maintained "because it's the only free
alternative." But if you want enhancements or further features, the
README author suggests you consider using the full commercial version.
On my NetBSD 1.42 system, I installed the NetBSD package rumba-0.6 by
doing a "make" and a "make install" in the /usr/pkgsrc/net/rumba
directory.
A README was placed under /usr/pkg/share/doc/rumba. Further
documentation is available in the rumba manual page. And rumba (and
shlight) use similar syntax as the smbmount command.
To allow non-root users to use rumba (and unrumba), they must be set
uid root. (If rumba is not set uid, when ran as a regular user, you'll
receive a "rumba must be installed suid root" error; and unrumba will
report: "Operation not permitted.") The documentation states: "Bugs in
rumba or unrumba might allow non root users to gain root access to
your computer." To set the programs as uid root, I did "chmod u+s
/usr/pkg/sbin/rumba" and "chmod u+s /usr/pkg/sbin/unrumba".
To mount a share, I first added the server name to my /etc/hosts, then
I did "rumba '//server/share_name' /mnt -U username -P password".
It reported: "Using port 65400 for NFS." And when I did a "ls /mnt" I
saw that it worked!
I added the server name to /etc/hosts, because rumba uses
gethostbyname() to find the IP. The man page says: "It is thus not
really compatible with Lan Manager conventions, where the netbios name
of the server is not necessarily the same as the hostname." If you
need to use real netbios server and client names, you can use the "-s"
and "-c" command line arguments to set them.
I also was able to mount a share with "rumba '//win98/shared' /mnt"
and it prompted for a password. (Rumba sends the passwords across the
network as not-encrypted, clear text. Encrypted password support is
available in the commercial version.)
To umount the Samba share, you can use "unrumba"; this unloads the
program from memory and unmounts the share. (If using Sharity-Light,
the command is called "unshlight".)
According to the README, rumba is based on some of the smbfs modules
but runs in user-space instead of with the kernel. It uses NFS to
interface with the kernel. Because it uses NFS, it is slower than
smbfs; plus it closes the accessed files after five seconds because,
the README says, NFS "has no way of telling about open files and file
locking."
And it did appear a little slow; for example, I created a file in vi,
exited and then did a "ls -l" and the file was created but was zero
bytes. But a moment later, I did "ls -l" again and it showed the
correct file size.
The version I used also showed two "." files and ".." files, one owned
by root and the other owned by the user.
Nevertheless, the program is usable and is a timesaver -- conveniently
making my remote SMB shares very accessable.
The Sharity-Light webpage is at
http://www.obdev.at/Products/shlight.html. The source code is
available via http://www.obdev.at/ftp/pub/Products/Sharity-Light/
or ftp://ftp.obdev.at/pub/Products/Sharity-Light.