summaryrefslogtreecommitdiff
path: root/docs/docbook/faq/install.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/faq/install.sgml')
-rw-r--r--docs/docbook/faq/install.sgml330
1 files changed, 330 insertions, 0 deletions
diff --git a/docs/docbook/faq/install.sgml b/docs/docbook/faq/install.sgml
new file mode 100644
index 0000000000..288e3a5f32
--- /dev/null
+++ b/docs/docbook/faq/install.sgml
@@ -0,0 +1,330 @@
+<chapter id="Install">
+<title>Compiling and installing Samba on a Unix host</title>
+
+<sect1>
+<title>I can't see the Samba server in any browse lists!</title>
+<para>
+See Browsing.html in the docs directory of the samba source
+for more information on browsing.
+</para>
+
+<para>
+If your GUI client does not permit you to select non-browsable
+servers, you may need to do so on the command line. For example, under
+Lan Manager you might connect to the above service as disk drive M:
+thusly:
+<programlisting>
+ net use M: \\mary\fred
+</programlisting>
+The details of how to do this and the specific syntax varies from
+client to client - check your client's documentation.
+</para>
+
+<sect1>
+<title>Some files that I KNOW are on the server doesn't show up when I view the files from my client!
+<para>See the next question.</para>
+</sect1>
+
+<sect1>
+<title>Some files on the server show up with really wierd filenames when I view the files from my client!</title>
+<para>
+If you check what files are not showing up, you will note that they
+are files which contain upper case letters or which are otherwise not
+DOS-compatible (ie, they are not legal DOS filenames for some reason).
+</para>
+
+<para>
+The Samba server can be configured either to ignore such files
+completely, or to present them to the client in "mangled" form. If you
+are not seeing the files at all, the Samba server has most likely been
+configured to ignore them. Consult the man page smb.conf(5) for
+details of how to change this - the parameter you need to set is
+"mangled names = yes".
+</para>
+</sect1>
+
+<sect1>
+<title>My client reports "cannot locate specified computer" or similar</title>
+<para>
+This indicates one of three things: You supplied an incorrect server
+name, the underlying TCP/IP layer is not working correctly, or the
+name you specified cannot be resolved.
+</para>
+
+<para>
+After carefully checking that the name you typed is the name you
+should have typed, try doing things like pinging a host or telnetting
+to somewhere on your network to see if TCP/IP is functioning OK. If it
+is, the problem is most likely name resolution.
+</para>
+
+<para>
+If your client has a facility to do so, hardcode a mapping between the
+hosts IP and the name you want to use. For example, with Lan Manager
+or Windows for Workgroups you would put a suitable entry in the file
+LMHOSTS. If this works, the problem is in the communication between
+your client and the netbios name server. If it does not work, then
+there is something fundamental wrong with your naming and the solution
+is beyond the scope of this document.
+</para>
+
+<para>
+If you do not have any server on your subnet supplying netbios name
+resolution, hardcoded mappings are your only option. If you DO have a
+netbios name server running (such as the Samba suite's nmbd program),
+the problem probably lies in the way it is set up. Refer to Section
+Two of this FAQ for more ideas.
+</para>
+
+<para>
+By the way, remember to REMOVE the hardcoded mapping before further
+tests :-)
+</para>
+
+</sect1>
+
+<sect1>
+<title>My client reports "cannot locate specified share name" or similar</title>
+<para>
+This message indicates that your client CAN locate the specified
+server, which is a good start, but that it cannot find a service of
+the name you gave.
+</para>
+
+<para>
+The first step is to check the exact name of the service you are
+trying to connect to (consult your system administrator). Assuming it
+exists and you specified it correctly (read your client's docs on how
+to specify a service name correctly), read on:
+</para>
+
+<simplelist>
+<member>Many clients cannot accept or use service names longer than eight characters.</member>
+<member>Many clients cannot accept or use service names containing spaces.</member>
+<member>Some servers (not Samba though) are case sensitive with service names.</member>
+<member>Some clients force service names into upper case.</member>
+</simplelist>
+</sect1>
+
+<sect1>
+<title>Printing doesn't work</title>
+<para>
+Make sure that the specified print command for the service you are
+connecting to is correct and that it has a fully-qualified path (eg.,
+use "/usr/bin/lpr" rather than just "lpr").
+</para>
+
+<para>
+Make sure that the spool directory specified for the service is
+writable by the user connected to the service. In particular the user
+"nobody" often has problems with printing, even if it worked with an
+earlier version of Samba. Try creating another guest user other than
+"nobody".
+</para>
+
+<para>
+Make sure that the user specified in the service is permitted to use
+the printer.
+</para>
+
+<para>
+Check the debug log produced by smbd. Search for the printer name and
+see if the log turns up any clues. Note that error messages to do with
+a service ipc$ are meaningless - they relate to the way the client
+attempts to retrieve status information when using the LANMAN1
+protocol.
+</para>
+
+<para>
+If using WfWg then you need to set the default protocol to TCP/IP, not
+Netbeui. This is a WfWg bug.
+</para>
+
+<para>
+If using the Lanman1 protocol (the default) then try switching to
+coreplus. Also not that print status error messages don't mean
+printing won't work. The print status is received by a different
+mechanism.
+</para>
+
+<sect1>
+<title>My client reports "This server is not configured to list shared resources"</title>
+<para>
+Your guest account is probably invalid for some reason. Samba uses the
+guest account for browsing in smbd. Check that your guest account is
+valid.
+</para>
+
+<para>See also 'guest account' in smb.conf man page.</para>
+
+</sect1>
+
+<sect1>
+<title>Log message "you appear to have a trapdoor uid system" </title>
+<para>
+This can have several causes. It might be because you are using a uid
+or gid of 65535 or -1. This is a VERY bad idea, and is a big security
+hole. Check carefully in your /etc/passwd file and make sure that no
+user has uid 65535 or -1. Especially check the "nobody" user, as many
+broken systems are shipped with nobody setup with a uid of 65535.
+</para>
+
+<para>It might also mean that your OS has a trapdoor uid/gid system :-)</para>
+
+<para>
+This means that once a process changes effective uid from root to
+another user it can't go back to root. Unfortunately Samba relies on
+being able to change effective uid from root to non-root and back
+again to implement its security policy. If your OS has a trapdoor uid
+system this won't work, and several things in Samba may break. Less
+things will break if you use user or server level security instead of
+the default share level security, but you may still strike
+problems.
+</para>
+
+<para>
+The problems don't give rise to any security holes, so don't panic,
+but it does mean some of Samba's capabilities will be unavailable.
+In particular you will not be able to connect to the Samba server as
+two different uids at once. This may happen if you try to print as a
+"guest" while accessing a share as a normal user. It may also affect
+your ability to list the available shares as this is normally done as
+the guest user.
+</para>
+
+<para>
+Complain to your OS vendor and ask them to fix their system.
+</para>
+
+<para>
+Note: the reason why 65535 is a VERY bad choice of uid and gid is that
+it casts to -1 as a uid, and the setreuid() system call ignores (with
+no error) uid changes to -1. This means any daemon attempting to run
+as uid 65535 will actually run as root. This is not good!
+</para>
+
+</sect1>
+
+<sect1>
+<title>Why are my file's timestamps off by an hour, or by a few hours?</title>
+<para>
+This is from Paul Eggert eggert@twinsun.com.
+</para>
+
+<para>
+Most likely it's a problem with your time zone settings.
+</para>
+
+<para>
+Internally, Samba maintains time in traditional Unix format,
+namely, the number of seconds since 1970-01-01 00:00:00 Universal Time
+(or ``GMT''), not counting leap seconds.
+</para>
+
+<para>
+On the server side, Samba uses the Unix TZ variable to convert
+internal timestamps to and from local time. So on the server side, there are
+two things to get right.
+<simplelist>
+<member>The Unix system clock must have the correct Universal time. Use the shell command "sh -c 'TZ=UTC0 date'" to check this.</member>
+<member>The TZ environment variable must be set on the server before Samba is invoked. The details of this depend on the server OS, but typically you must edit a file whose name is /etc/TIMEZONE or /etc/default/init, or run the command `zic -l'.</member>
+</simplelist>
+</para>
+
+<para>TZ must have the correct value.</para>
+
+<para>
+If possible, use geographical time zone settings
+(e.g. TZ='America/Los_Angeles' or perhaps
+ TZ=':US/Pacific'). These are supported by most
+popular Unix OSes, are easier to get right, and are
+more accurate for historical timestamps. If your
+operating system has out-of-date tables, you should be
+able to update them from the public domain time zone
+tables at <ulink url="ftp://elsie.nci.nih.gov/pub/">ftp://elsie.nci.nih.gov/pub/</ulink>.
+</para>
+
+<para>If your system does not support geographical timezone
+settings, you must use a Posix-style TZ strings, e.g.
+TZ='PST8PDT,M4.1.0/2,M10.5.0/2' for US Pacific time.
+Posix TZ strings can take the following form (with optional
+ items in brackets):
+<programlisting>
+ StdOffset[Dst[Offset],Date/Time,Date/Time]
+</programlisting>
+ where:
+</para>
+
+<para><simplelist>
+<member>`Std' is the standard time designation (e.g. `PST').</member>
+<member>`Offset' is the number of hours behind UTC (e.g. `8').
+Prepend a `-' if you are ahead of UTC, and
+append `:30' if you are at a half-hour offset.
+Omit all the remaining items if you do not use
+daylight-saving time.</member>
+
+<member>`Dst' is the daylight-saving time designation
+(e.g. `PDT').</member>
+
+<member>The optional second `Offset' is the number of
+hours that daylight-saving time is behind UTC.
+The default is 1 hour ahead of standard time.
+</member>
+
+<member>`Date/Time,Date/Time' specify when daylight-saving
+time starts and ends. The format for a date is
+`Mm.n.d', which specifies the dth day (0 is Sunday)
+of the nth week of the mth month, where week 5 means
+the last such day in the month. The format for a
+time is [h]h[:mm[:ss]], using a 24-hour clock.
+</member>
+
+</simplelist>
+</para>
+
+<para>
+Other Posix string formats are allowed but you don't want
+to know about them.</para>
+
+<para>
+On the client side, you must make sure that your client's clock and
+time zone is also set appropriately. [[I don't know how to do this.]]
+Samba traditionally has had many problems dealing with time zones, due
+to the bizarre ways that Microsoft network protocols handle time
+zones.
+</para>
+
+<sect1>
+<title>How do I set the printer driver name correctly?</title>
+<para>Question:<para>
+<quote> On NT, I opened "Printer Manager" and "Connect to Printer".
+ Enter ["\\ptdi270\ps1"] in the box of printer. I got the
+ following error message
+ </quote>
+ <para>
+ <programlisting>
+ You do not have sufficient access to your machine
+ to connect to the selected printer, since a driver
+ needs to be installed locally.
+ </programlisting>
+ </para>
+
+ <para>Answer:</para>
+
+ <para>In the more recent versions of Samba you can now set the "printer
+driver" in smb.conf. This tells the client what driver to use. For
+example:</para>
+<para><programlisting>
+ printer driver = HP LaserJet 4L
+</programlisting></para>
+<para>With this, NT knows to use the right driver. You have to get this string
+exactly right.</para>
+
+<para>To find the exact string to use, you need to get to the dialog box in
+your client where you select which printer driver to install. The
+correct strings for all the different printers are shown in a listbox
+in that dialog box.</para>
+
+</sect1>
+
+</chapter>