Chapter 38. Samba and other CIFS clients

Jelmer R. Vernooij

The Samba Team

Jim McDonough

OS/2

5 Mar 2001

Table of Contents

Macintosh clients?
OS2 Client
Configuring OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba
Configuring OS/2 Warp 3 (not Connect), OS/2 1.2, 1.3 or 2.x for Samba
Printer driver download for for OS/2 clients?
Windows for Workgroups
Latest TCP/IP stack from Microsoft
Delete .pwl files after password change
Configuring WfW password handling
Case handling of passwords
Use TCP/IP as default protocol
Speed improvement
Windows '95/'98
Speed improvement
Windows 2000 Service Pack 2
Windows NT 3.1

This chapter contains client-specific information.

Macintosh clients?

Yes. Thursby now has a CIFS Client / Server called DAVE

They test it against Windows 95, Windows NT and samba for compatibility issues. At the time of writing, DAVE was at version 1.0.1. The 1.0.0 to 1.0.1 update is available as a free download from the Thursby web site (the speed of finder copies has been greatly enhanced, and there are bug-fixes included).

Alternatives - There are two free implementations of AppleTalk for several kinds of UNIX machines, and several more commercial ones. These products allow you to run file services and print services natively to Macintosh users, with no additional support required on the Macintosh. The two free implementations are Netatalk, and CAP. What Samba offers MS Windows users, these packages offer to Macs. For more info on these packages, Samba, and Linux (and other UNIX-based systems) see http://www.eats.com/linux_mac_win.html

Newer versions of the Macintosh (Mac OS X) include Samba.

OS2 Client

Configuring OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba

Basically, you need three components:

  • The File and Print Client ('IBM Peer')

  • TCP/IP ('Internet support')

  • The "NetBIOS over TCP/IP" driver ('TCPBEUI')

Installing the first two together with the base operating system on a blank system is explained in the Warp manual. If Warp has already been installed, but you now want to install the networking support, use the "Selective Install for Networking" object in the "System Setup" folder.

Adding the "NetBIOS over TCP/IP" driver is not described in the manual and just barely in the online documentation. Start MPTS.EXE, click on OK, click on "Configure LAPS" and click on "IBM OS/2 NETBIOS OVER TCP/IP" in 'Protocols'. This line is then moved to 'Current Configuration'. Select that line, click on "Change number" and increase it from 0 to 1. Save this configuration.

If the Samba server(s) is not on your local subnet, you can optionally add IP names and addresses of these servers to the "Names List", or specify a WINS server ('NetBIOS Nameserver' in IBM and RFC terminology). For Warp Connect you may need to download an update for 'IBM Peer' to bring it on the same level as Warp 4. See the webpage mentioned above.

Configuring OS/2 Warp 3 (not Connect), OS/2 1.2, 1.3 or 2.x for Samba

You can use the free Microsoft LAN Manager 2.2c Client for OS/2 from ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/. In a nutshell, edit the file \OS2VER in the root directory of the OS/2 boot partition and add the lines:

		20=setup.exe
		20=netwksta.sys
		20=netvdd.sys
		

before you install the client. Also, don't use the included NE2000 driver because it is buggy. Try the NE2000 or NS2000 driver from ftp://ftp.cdrom.com/pub/os2/network/ndis/ instead.

Printer driver download for for OS/2 clients?

First, create a share called [PRINTDRV] that is world-readable. Copy your OS/2 driver files there. Note that the .EA_ files must still be separate, so you will need to use the original install files, and not copy an installed driver from an OS/2 system.

Install the NT driver first for that printer. Then, add to your smb.conf a parameter, os2 driver map = filename. Then, in the file specified by filename, map the name of the NT driver name to the OS/2 driver name as follows:

nt driver name = os2 driver name.device name, e.g.:

HP LaserJet 5L = LASERJET.HP LaserJet 5L

You can have multiple drivers mapped in this file.

If you only specify the OS/2 driver name, and not the device name, the first attempt to download the driver will actually download the files, but the OS/2 client will tell you the driver is not available. On the second attempt, it will work. This is fixed simply by adding the device name to the mapping, after which it will work on the first attempt.

Windows for Workgroups

Latest TCP/IP stack from Microsoft

Use the latest TCP/IP stack from Microsoft if you use Windows for Workgroups.

The early TCP/IP stacks had lots of bugs.

Microsoft has released an incremental upgrade to their TCP/IP 32-Bit VxD drivers. The latest release can be found on their ftp site at ftp.microsoft.com, located in /peropsys/windows/public/tcpip/wfwt32.exe. There is an update.txt file there that describes the problems that were fixed. New files include WINSOCK.DLL, TELNET.EXE, WSOCK.386, VNBT.386, WSTCP.386, TRACERT.EXE, NETSTAT.EXE, and NBTSTAT.EXE.

Delete .pwl files after password change

WfWg does a lousy job with passwords. I find that if I change my password on either the unix box or the PC the safest thing to do is to delete the .pwl files in the windows directory. The PC will complain about not finding the files, but will soon get over it, allowing you to enter the new password.

If you don't do this you may find that WfWg remembers and uses the old password, even if you told it a new one.

Often WfWg will totally ignore a password you give it in a dialog box.

Configuring WfW password handling

There is a program call admincfg.exe on the last disk (disk 8) of the WFW 3.11 disk set. To install it type EXPAND A:\ADMINCFG.EX_ C:\WINDOWS\ADMINCFG.EXE. Then add an icon for it via the Program Manager New Menu. This program allows you to control how WFW handles passwords. ie disable Password Caching etc for use with security = user

Case handling of passwords

Windows for Workgroups uppercases the password before sending it to the server. Unix passwords can be case-sensitive though. Check the smb.conf information on password level to specify what characters samba should try to uppercase when checking.

Use TCP/IP as default protocol

To support print queue reporting you may find that you have to use TCP/IP as the default protocol under WfWg. For some reason if you leave NetBEUI as the default it may break the print queue reporting on some systems. It is presumably a WfWg bug.

Speed improvement

Note that some people have found that setting DefaultRcvWindow in the [MSTCP] section of the SYSTEM.INI file under WfWg to 3072 gives a big improvement. I don't know why.

My own experience with DefaultRcvWindow is that I get much better performance with a large value (16384 or larger). Other people have reported that anything over 3072 slows things down enormously. One person even reported a speed drop of a factor of 30 when he went from 3072 to 8192. I don't know why.

Windows '95/'98

When using Windows 95 OEM SR2 the following updates are recommended where Samba is being used. Please NOTE that the above change will affect you once these updates have been installed.

There are more updates than the ones mentioned here. You are referred to the Microsoft Web site for all currently available updates to your specific version of Windows 95.

Kernel Update: KRNLUPD.EXE
Ping Fix: PINGUPD.EXE
RPC Update: RPCRTUPD.EXE
TCP/IP Update: VIPUPD.EXE
Redirector Update: VRDRUPD.EXE

Also, if using MS Outlook it is desirable to install the OLEUPD.EXE fix. This fix may stop your machine from hanging for an extended period when exiting Outlook and you may also notice a significant speedup when accessing network neighborhood services.

Speed improvement

Configure the win95 TCPIP registry settings to give better performance. I use a program called MTUSPEED.exe which I got off the net. There are various other utilities of this type freely available.

Windows 2000 Service Pack 2

There are several annoyances with Windows 2000 SP2. One of which only appears when using a Samba server to host user profiles to Windows 2000 SP2 clients in a Windows domain. This assumes that Samba is a member of the domain, but the problem will likely occur if it is not.

In order to serve profiles successfully to Windows 2000 SP2 clients (when not operating as a PDC), Samba must have nt acl support = no added to the file share which houses the roaming profiles. If this is not done, then the Windows 2000 SP2 client will complain about not being able to access the profile (Access Denied) and create multiple copies of it on disk (DOMAIN.user.001, DOMAIN.user.002, etc...). See the smb.conf man page for more details on this option. Also note that the nt acl support parameter was formally a global parameter in releases prior to Samba 2.2.2.

The following is a minimal profile share:

Example 38.1. Minimal profile share

[profile]
path = /export/profile
create mask = 0600
directory mask = 0700
nt acl support = no
read only = no

The reason for this bug is that the Win2k SP2 client copies the security descriptor for the profile which contains the Samba server's SID, and not the domain SID. The client compares the SID for SAMBA\user and realizes it is different that the one assigned to DOMAIN\user. Hence the reason for the access denied message.

By disabling the nt acl support parameter, Samba will send the Win2k client a response to the QuerySecurityDescriptor trans2 call which causes the client to set a default ACL for the profile. This default ACL includes

DOMAIN\user "Full Control">

Note

This bug does not occur when using winbind to create accounts on the Samba host for Domain users.

Windows NT 3.1

If you have problems communicating across routers with Windows NT 3.1 workstations, read this Microsoft Knowledge Base article.