mirror of
https://github.com/samba-team/samba.git
synced 2025-01-28 17:47:29 +03:00
582 lines
15 KiB
HTML
582 lines
15 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Compiling and installing Samba on a Unix host</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Samba FAQ"
|
|
HREF="samba-faq.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="General Information"
|
|
HREF="faq-general.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Configuration problems"
|
|
HREF="faq-config.html"></HEAD
|
|
><BODY
|
|
CLASS="CHAPTER"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Samba FAQ</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="faq-general.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="faq-config.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="CHAPTER"
|
|
><H1
|
|
><A
|
|
NAME="FAQ-INSTALL"
|
|
></A
|
|
>Chapter 2. Compiling and installing Samba on a Unix host</H1
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
>2.1. <A
|
|
HREF="faq-install.html#AEN84"
|
|
>I can't see the Samba server in any browse lists!</A
|
|
></DT
|
|
><DT
|
|
>2.2. <A
|
|
HREF="faq-install.html#AEN89"
|
|
>Some files that I KNOW are on the server don't show up when I view the files from my client!</A
|
|
></DT
|
|
><DT
|
|
>2.3. <A
|
|
HREF="faq-install.html#AEN92"
|
|
>Some files on the server show up with really wierd filenames when I view the files from my client!</A
|
|
></DT
|
|
><DT
|
|
>2.4. <A
|
|
HREF="faq-install.html#AEN96"
|
|
>My client reports "cannot locate specified computer" or similar</A
|
|
></DT
|
|
><DT
|
|
>2.5. <A
|
|
HREF="faq-install.html#AEN103"
|
|
>My client reports "cannot locate specified share name" or similar</A
|
|
></DT
|
|
><DT
|
|
>2.6. <A
|
|
HREF="faq-install.html#AEN112"
|
|
>Printing doesn't work</A
|
|
></DT
|
|
><DT
|
|
>2.7. <A
|
|
HREF="faq-install.html#AEN120"
|
|
>My client reports "This server is not configured to list shared resources"</A
|
|
></DT
|
|
><DT
|
|
>2.8. <A
|
|
HREF="faq-install.html#AEN124"
|
|
>Log message "you appear to have a trapdoor uid system"</A
|
|
></DT
|
|
><DT
|
|
>2.9. <A
|
|
HREF="faq-install.html#AEN132"
|
|
>Why are my file's timestamps off by an hour, or by a few hours?</A
|
|
></DT
|
|
><DT
|
|
>2.10. <A
|
|
HREF="faq-install.html#AEN155"
|
|
>How do I set the printer driver name correctly?</A
|
|
></DT
|
|
></DL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN84"
|
|
>2.1. I can't see the Samba server in any browse lists!</A
|
|
></H1
|
|
><P
|
|
>See Browsing.html in the docs directory of the samba source
|
|
for more information on browsing.</P
|
|
><P
|
|
>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:
|
|
<PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> net use M: \\mary\fred</PRE
|
|
>
|
|
The details of how to do this and the specific syntax varies from
|
|
client to client - check your client's documentation.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN89"
|
|
>2.2. Some files that I KNOW are on the server don't show up when I view the files from my client!</A
|
|
></H1
|
|
><P
|
|
>See the next question.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN92"
|
|
>2.3. Some files on the server show up with really wierd filenames when I view the files from my client!</A
|
|
></H1
|
|
><P
|
|
>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).</P
|
|
><P
|
|
>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".</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN96"
|
|
>2.4. My client reports "cannot locate specified computer" or similar</A
|
|
></H1
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>By the way, remember to REMOVE the hardcoded mapping before further
|
|
tests :-)</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN103"
|
|
>2.5. My client reports "cannot locate specified share name" or similar</A
|
|
></H1
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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:</P
|
|
><P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>Many clients cannot accept or use service names longer than eight characters.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>Many clients cannot accept or use service names containing spaces.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>Some servers (not Samba though) are case sensitive with service names.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>Some clients force service names into upper case.</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN112"
|
|
>2.6. Printing doesn't work</A
|
|
></H1
|
|
><P
|
|
>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").</P
|
|
><P
|
|
>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".</P
|
|
><P
|
|
>Make sure that the user specified in the service is permitted to use
|
|
the printer.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>If using WfWg then you need to set the default protocol to TCP/IP, not
|
|
Netbeui. This is a WfWg bug.</P
|
|
><P
|
|
>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.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN120"
|
|
>2.7. My client reports "This server is not configured to list shared resources"</A
|
|
></H1
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>See also 'guest account' in smb.conf man page.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN124"
|
|
>2.8. Log message "you appear to have a trapdoor uid system"</A
|
|
></H1
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>It might also mean that your OS has a trapdoor uid/gid system :-)</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>Complain to your OS vendor and ask them to fix their system.</P
|
|
><P
|
|
>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!</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN132"
|
|
>2.9. Why are my file's timestamps off by an hour, or by a few hours?</A
|
|
></H1
|
|
><P
|
|
>This is from Paul Eggert eggert@twinsun.com.</P
|
|
><P
|
|
>Most likely it's a problem with your time zone settings.</P
|
|
><P
|
|
>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.</P
|
|
><P
|
|
>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.
|
|
<P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>The Unix system clock must have the correct Universal time. Use the shell command "sh -c 'TZ=UTC0 date'" to check this.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>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'.</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></P
|
|
><P
|
|
>TZ must have the correct value.</P
|
|
><P
|
|
>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 <A
|
|
HREF="ftp://elsie.nci.nih.gov/pub/"
|
|
TARGET="_top"
|
|
>ftp://elsie.nci.nih.gov/pub/</A
|
|
>.</P
|
|
><P
|
|
>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):
|
|
<PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> StdOffset[Dst[Offset],Date/Time,Date/Time]</PRE
|
|
>
|
|
where:</P
|
|
><P
|
|
><P
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
>`Std' is the standard time designation (e.g. `PST').</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>`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.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>`Dst' is the daylight-saving time designation
|
|
(e.g. `PDT').</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>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.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
>`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.</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
><P
|
|
></P
|
|
></P
|
|
><P
|
|
>Other Posix string formats are allowed but you don't want
|
|
to know about them.</P
|
|
><P
|
|
>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. </P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN155"
|
|
>2.10. How do I set the printer driver name correctly?</A
|
|
></H1
|
|
><P
|
|
>Question:
|
|
<SPAN
|
|
CLASS="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
|
|
"</SPAN
|
|
></P
|
|
><P
|
|
> <PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> You do not have sufficient access to your machine
|
|
to connect to the selected printer, since a driver
|
|
needs to be installed locally.
|
|
</PRE
|
|
>
|
|
</P
|
|
><P
|
|
>Answer:</P
|
|
><P
|
|
>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:</P
|
|
><P
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> printer driver = HP LaserJet 4L</PRE
|
|
></P
|
|
><P
|
|
>With this, NT knows to use the right driver. You have to get this string
|
|
exactly right.</P
|
|
><P
|
|
>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.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="faq-general.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="samba-faq.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="faq-config.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>General Information</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Configuration problems</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |