mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
2e2a5d50eb
- make
- update status of docs document
- move security_level to 'type of installation' part
(This used to be commit 11ad39398e
)
314 lines
6.0 KiB
HTML
314 lines
6.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Portability</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
|
|
REL="HOME"
|
|
TITLE="SAMBA Project Documentation"
|
|
HREF="samba-howto-collection.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Group mapping HOWTO"
|
|
HREF="groupmapping.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Samba and other CIFS clients"
|
|
HREF="other-clients.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 Project Documentation</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="groupmapping.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="other-clients.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="CHAPTER"
|
|
><H1
|
|
><A
|
|
NAME="PORTABILITY"
|
|
></A
|
|
>Chapter 21. Portability</H1
|
|
><P
|
|
>Samba works on a wide range of platforms but the interface all the
|
|
platforms provide is not always compatible. This chapter contains
|
|
platform-specific information about compiling and using samba.</P
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN3011"
|
|
></A
|
|
>21.1. HPUX</H1
|
|
><P
|
|
>HP's implementation of supplementary groups is, er, non-standard (for
|
|
hysterical reasons). There are two group files, /etc/group and
|
|
/etc/logingroup; the system maps UIDs to numbers using the former, but
|
|
initgroups() reads the latter. Most system admins who know the ropes
|
|
symlink /etc/group to /etc/logingroup (hard link doesn't work for reasons
|
|
too stupid to go into here). initgroups() will complain if one of the
|
|
groups you're in in /etc/logingroup has what it considers to be an invalid
|
|
ID, which means outside the range [0..UID_MAX], where UID_MAX is (I think)
|
|
60000 currently on HP-UX. This precludes -2 and 65534, the usual 'nobody'
|
|
GIDs.</P
|
|
><P
|
|
>If you encounter this problem, make sure that the programs that are failing
|
|
to initgroups() be run as users not in any groups with GIDs outside the
|
|
allowed range.</P
|
|
><P
|
|
>This is documented in the HP manual pages under setgroups(2) and passwd(4).</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN3016"
|
|
></A
|
|
>21.2. SCO Unix</H1
|
|
><P
|
|
>
|
|
If you run an old version of SCO Unix then you may need to get important
|
|
TCP/IP patches for Samba to work correctly. Without the patch, you may
|
|
encounter corrupt data transfers using samba.</P
|
|
><P
|
|
>The patch you need is UOD385 Connection Drivers SLS. It is available from
|
|
SCO (ftp.sco.com, directory SLS, files uod385a.Z and uod385a.ltr.Z).</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN3020"
|
|
></A
|
|
>21.3. DNIX</H1
|
|
><P
|
|
>DNIX has a problem with seteuid() and setegid(). These routines are
|
|
needed for Samba to work correctly, but they were left out of the DNIX
|
|
C library for some reason.</P
|
|
><P
|
|
>For this reason Samba by default defines the macro NO_EID in the DNIX
|
|
section of includes.h. This works around the problem in a limited way,
|
|
but it is far from ideal, some things still won't work right.</P
|
|
><P
|
|
>
|
|
To fix the problem properly you need to assemble the following two
|
|
functions and then either add them to your C library or link them into
|
|
Samba.</P
|
|
><P
|
|
>
|
|
put this in the file <TT
|
|
CLASS="FILENAME"
|
|
>setegid.s</TT
|
|
>:</P
|
|
><P
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> .globl _setegid
|
|
_setegid:
|
|
moveq #47,d0
|
|
movl #100,a0
|
|
moveq #1,d1
|
|
movl 4(sp),a1
|
|
trap #9
|
|
bccs 1$
|
|
jmp cerror
|
|
1$:
|
|
clrl d0
|
|
rts</PRE
|
|
></P
|
|
><P
|
|
>put this in the file <TT
|
|
CLASS="FILENAME"
|
|
>seteuid.s</TT
|
|
>:</P
|
|
><P
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> .globl _seteuid
|
|
_seteuid:
|
|
moveq #47,d0
|
|
movl #100,a0
|
|
moveq #0,d1
|
|
movl 4(sp),a1
|
|
trap #9
|
|
bccs 1$
|
|
jmp cerror
|
|
1$:
|
|
clrl d0
|
|
rts</PRE
|
|
></P
|
|
><P
|
|
>after creating the above files you then assemble them using</P
|
|
><P
|
|
><B
|
|
CLASS="COMMAND"
|
|
>as seteuid.s</B
|
|
></P
|
|
><P
|
|
><B
|
|
CLASS="COMMAND"
|
|
>as setegid.s</B
|
|
></P
|
|
><P
|
|
>that should produce the files <TT
|
|
CLASS="FILENAME"
|
|
>seteuid.o</TT
|
|
> and
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>setegid.o</TT
|
|
></P
|
|
><P
|
|
>then you need to add these to the LIBSM line in the DNIX section of
|
|
the Samba Makefile. Your LIBSM line will then look something like this:</P
|
|
><P
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>LIBSM = setegid.o seteuid.o -ln</PRE
|
|
></P
|
|
><P
|
|
>
|
|
You should then remove the line:</P
|
|
><P
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>#define NO_EID</PRE
|
|
></P
|
|
><P
|
|
>from the DNIX section of <TT
|
|
CLASS="FILENAME"
|
|
>includes.h</TT
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN3049"
|
|
></A
|
|
>21.4. RedHat Linux Rembrandt-II</H1
|
|
><P
|
|
>By default RedHat Rembrandt-II during installation adds an
|
|
entry to /etc/hosts as follows:
|
|
<PRE
|
|
CLASS="PROGRAMLISTING"
|
|
> 127.0.0.1 loopback "hostname"."domainname"</PRE
|
|
></P
|
|
><P
|
|
>This causes Samba to loop back onto the loopback interface.
|
|
The result is that Samba fails to communicate correctly with
|
|
the world and therefor may fail to correctly negotiate who
|
|
is the master browse list holder and who is the master browser.</P
|
|
><P
|
|
>Corrective Action: Delete the entry after the word loopback
|
|
in the line starting 127.0.0.1</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="groupmapping.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="samba-howto-collection.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="other-clients.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Group mapping HOWTO</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Samba and other CIFS clients</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |