c.page at ic.ac.uk
Sat Jul 26 15:42:18 GMT 1997
I would be grateful if anybody could supply some more information on the
'nis homedir' option (Samba 1.9.17a4). We have home directories spread
over several Samba hosts. Although they can be accessed via 'amd' from
any other server it would be a great benefit to be able to guarantee
that all connections were made directly to the correct server. The man
page looks promising but I have not succeeded in getting it to work as
the documentation sugggests.
According to 'man smb.conf'
nis homedir (G)
Get the home share server from a NIS (or YP) map. For unix
systems that use an automounter, the user's home directory
will often be mounted on a workstation on demand from a
remote server. When the Samba logon server is not the actual
home directory server, two network hops are required to
access the home directory and this can be very slow espe-
cially with writing via Samba to an NFS mounted directory.
This option allows samba to return the home share as being
on a different server to the logon server and as long as a
samba daemon is running on the home directory server, it
will be mounted on the Samba client directly from the direc-
The 'nis homedir' option works fine insofar as the debug log files shows
that the HOMESHR is extracted correctly from the auto.home nis map.
e.g. (some details changed)
password server abcde3 accepted the password
lp_servicenumber: couldn't find xyz31
adding home directory xyz31 at /home/dkb/sm/dk/xyz31
xyz31 is in 14 groups
6501 25 23 22 6926 6841 6505 6832 6923 6833 6515 10 6928 6929
uid 1234 registered to name xyz31
Setting default HOMESHR to: \\logon server\HOMES
NIS Domain: sm.ic.ac.uk
NIS lookup succeeded
Home server length: 3
Allocated 15 bytes for HOMESHR
User = xyz31
UID = 1234
NIS result = dkb:/export/disk1/homes/sm/dk/xyz31
HOMESHR = \\dkb\homes
However, how is this information to be used and a connection request be
passed to the correct server?
'NET USE H: /home' (from Win95) will connect on the logon server
'NET USE H: \\server1\homes' will connect on the stated server
'NET USE H: \\server1\%username%' will connect on the stated server
The man page says 'as long as a samba daemon is running on the home
directory server'. We normally start smb daemons via inetd.conf .
However, the transfer to the server defined in auto.home still does not
appear to work (according to smbstatus) even if an smbd already exists
for the user on the target server.
There are many things which could be done if it were possible to use a
nis map to specify the best server to connect to. e.g. it would be
useful if one could a specify a nis map at the level of a particular
resource (not just home directory). It would also be good if there were
a means of getting the HOMESHR information into an environment variable
that could be used (say) in subsequent NET USE statements.
The nis homedir technique could also ensure that all mounts to a given
resource use the same lock directories rather than having duplicate lock
files across several servers if that resource is opened via different
Thank you to anybody who can provide a few pointers to how 'nis homedir'
should be used.
More information about the samba