1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

Adding Buchan Milne's updates.

This commit is contained in:
John Terpstra 0001-01-01 00:00:00 +00:00
parent d134d66f98
commit d816c35c1d
18 changed files with 2327 additions and 295 deletions

View File

@ -1,7 +1,7 @@
Preparation Date: Sat Apr 14 2001
Preparer: John H Terpstra <jht@samba.org>
Preparer: Gerald Carter <jerry@samba.org>
Instructions: Preparing Samba Packages for Mandrake Linux 7.2
Instructions: Preparing Samba Packages for Mandrake Linux 8.x
===============================================================
We provide support only for current versions of Mandrake Linux.

View File

@ -0,0 +1,117 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The Mandrake samba spec file used for packaging for Mandrake and cooker
is now also used by the makerpms.sh script, and you can pass any options
that you would normally pass to rpm via the makerpms.sh script.
Note that only release after 8.1 support passing options using
"--with <option>" syntax. The following options are available when
building with the script:
- --with|--without ldap
- --with|--without acl
- --with|--without winbind
- --with|--without wins
- --with vscan
Using "--with vscan" requires that you place a copy of the samba-vscan
tarball (coverted to bz2 using bzme) from:
http://prdownloads.sourceforge.net/openantivirus/samba-vscan-0.2.5a.tar.gz?download in your rpm source directory:
cp samba-vscan-0.2.5a.tar.gz `rpm --eval "%_sourcedir"`
bzme `rpm --eval "%_sourcedir"`/samba-vscan-0.2.5a.tar.gz
When using "--with vscan" you will probably want to enable a virus scanner
also:
- --with fprot
- --with kaspersky
- --with mks
- --with openantivirus
- --with sophos
- --with symantec
- --with trend
You may need to do additional setup for your virus scanner to get this to
work, please see ../../examples/VFS/<scanner>/INSTALL (after having started
a build with "sh makerpms.sh --with vscan")
Note that only sophos has been tested with the spec, but the rest should work
(after the preparation). Reports of working scanners are welcome, and please
report any that do not work (preferably with a fix :-)).
So, to build ldap-enable RPMs for with antivirus support with sophos, but
no acl support, use:
sh makerpms.sh --with ldap --with vscan --with sophos --without acl
The same features can be enabled on Mandrake 7.2/8.0 by editing samba2.spec,
and changing the 0 to 1 to enable the option:
%if %build_mdk80
%define build_acl 0
%define build_winbind 0
%define build_wins 0
%define build_ldap 0
%endif
Similar sections exist for the virus scanning options.
(If you haven't rebuilt RPMs before, it is suggested that you take a
brief look through http://www.linux-mandrake.com/howtos/mdk-rpm/,
specifically sections 3.1 and 3.2)
The defaults for Mandrake 8.1 and 8.2 are shown below:
%if %build_mdk82
%define build_acl 1
%define build_winbind 1
%define build_wins 1
%define build_ldap 0
%endif
%if %build_mdk81
%define build_acl 1
%define build_winbind 0
%define build_wins 0
%define build_ldap 0
%endif
Note that building with LDAP support will only allow you to use smbpasswd's
stored in ldap, not in the local smbpasswd file. From 2.2.5 onwards in the
2.2 tree, ldap-enable RPMs now carry an ldap modifier to indicate this (for
example, samba-server becomes samba-server-ldap).
Building with acl requires that you have the acl development libraries.
The libraries are standard on 8.1 and 8.2.
ACLs can be used on Mandrake 8.0 with the updated kernel (to support XFS)
if you install the RPMs available at
http://ranger.dnsalias.com/mandrake/samba/RPMS/8.0/samba-2.2.1a_xfs/
Note that precompiled binaries of samba are also available on my site:
http://ranger.dnsalias.com/mandrake/samba
and that of Sylvestre Taburet:
http://people.mandrakesoft.com/~staburet/samba/
If you have any problems with these RPMs, please send email to both
bgmilne@cae.co.za and staburet@mandrakesoft.com
These RPMs are provided as-is, are not official, and can not be
supported by Mandrakesoft. However, we will do our best to provide
reliable and well-packaged RPMS, since we use them on our own servers
and those of clients.
This file is signed with my gpg key, a copy of my public key is available
at http://ranger.dnsalias.com/bgmilne.asc. The finger-print for this key
follows:
1024D/60D204A7 2919 E232 5610 A038 87B1 72D6 AC92 BA50 60D2 04A7
Recent posts by me on samba@samba.org have been signed with this key,
in case you really want to verify who I am to some extent.
Buchan Milne
18 June 2002
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
iD8DBQE9D2h3rJK6UGDSBKcRAhtJAKC0fVkIMETgRxccrwLBcKZKHllCIACeNcZ9
bxGZSTOHs57ir3wFR+3s0XM=
=ifKf
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,34 @@
#!/bin/bash
# makerpms-cvs.sh
# A quick script to build RPMs from cvs to test packaging
# Buchan Milne <bgmilne@cae.co.za>
[ $# -lt 1 ] && echo "Usage: $0 <Samba version>" && exit 1
VERSION=$1
RELEASE=0.`date +%Y%m%d`
shift
# Replace PRELEASE and PVERSION with release number in all files ending with
# .tmpl
FILES=$(find . -name "*.tmpl" -type f)
for i in $FILES;do
NEW=$(echo $i|sed -e 's/\.tmpl//g');
cat $i |sed -e 's/PVERSION/'$VERSION'/g; s/PRELEASE/'$RELEASE'/g'> $NEW ;
done
#Change up three directories, rename directory to samba-$VERSION, change back
#then run makerpms.sh
(
CURRENT=$(pwd)
cd $(dirname $(dirname $(dirname $CURRENT)))
SAMBA_DIR=$(basename $(dirname $(dirname $CURRENT)))
mv $SAMBA_DIR samba-$VERSION
cd samba-$VERSION/packaging/Mandrake
sh makerpms.sh $@
cd $(dirname $(dirname $(dirname $CURRENT)))
mv samba-$VERSION $SAMBA_DIR
)

View File

@ -1,16 +1,77 @@
#!/bin/sh
# Copyright (C) 1998 John H Terpstra, 1999 K Spoon
# Copyright (C) John H Terpstra 1998-2002
# Updated for RPM 3 by Jochen Wiedmann, joe@ispsoft.de
# Changed for a generic tar file rebuild by abartlet@pcug.org.au
# Taken from Red Hat build area by JHT
# Changed by John H Terpstra to build on RH8.1 - should also work for earlier versions jht@samba.org
# Changes from Buchan Milne <bgmilne@cae.co.za>
# The following allows environment variables to override the target directories
# the alternative is to have a file in your home directory calles .rpmmacros
# containing the following:
# %_topdir /home/mylogin/RPM
#
SPECDIR=/usr/src/RPM/SPECS
SRCDIR=/usr/src/RPM/SOURCES
# rpm --eval should always give a correct answer for this
SPECDIR=`rpm --eval "%{_specdir}"`
SRCDIR=`rpm --eval "%{_sourcedir}"`
# At this point the (SPECDIR and) SRCDIR vaiables must have a value!
USERID=`id -u`
GRPID=`id -g`
VERSION='PVERSION'
( cd ../../.. ; mv samba samba-$VERSION; chown -R ${USERID}.${GRPID} ${SRCDIR}/samba-$VERSION )
( cd ../../.. ; tar --exclude=CVS -czvf ${SRCDIR}/samba-$VERSION.tar.gz samba-$VERSION )
( cd ../../.. ; mv samba-$VERSION samba )
cp -a *.spec $SPECDIR
cp -a *.patch smb.* samba.log $SRCDIR
cd $SPECDIR
rpm -ba -v samba2.spec
RPMVER=`rpm --version | awk '{print $3}'`
echo The RPM Version on this machine is: $RPMVER
case $RPMVER in
2*)
echo Building for RPM v2.x
sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
;;
3*)
echo Building for RPM v3.x
sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
;;
4*)
echo Building for RPM v4.x
sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
;;
*)
echo "Unknown RPM version: `rpm --version`"
exit 1
;;
esac
( cd ../../source; if [ -f Makefile ]; then make distclean; fi )
( cd ../../.. ; chown -R ${USERID}.${GRPID} samba-${VERSION} )
echo "Compressing the source as bzip2, may take a while ..."
( cd ../../.. ; tar --exclude=CVS -cjf ${SRCDIR}/samba-${VERSION}.tar.bz2 samba-${VERSION} )
cp -av samba.spec ${SPECDIR}
# cp -a *.patch.bz2 *.xpm.bz2 smb.* samba.xinetd samba.log $SRCDIR
# Prepare to allow straight patches synced from Mandrake cvs:
# Updating of sources and patches can be done more easily and accurately
# by using info in the spec file. It won't work for files that use an rpm
# macro in their name, but that shouldn't be a problem.
SOURCES=`awk '/^Source/ {print $2}' samba.spec |grep -v "%{"`
PATCHES=`awk '/^Patch/ {print $2}' samba.spec`
for i in $PATCHES $SOURCES;do
# We have two cases to fix, one where it's bzip2'ed
# in the spec and not in CVS, one where it's bzip2'ed
# in CVS but not in the spec
[ -e $i ] && cp -av $i $SRCDIR
i_nobz2=`echo $i|sed -e 's/.bz2$//'`
i_bz2=$i.bz2
[ -e $i_nobz2 ] && bzip2 -kf $i_nobz2 && mv -fv $i $SRCDIR
[ -e $i_bz2 ] && bunzip2 -kf $i_bz2 && mv -fv $i $SRCDIR
done
echo Getting Ready to build release package
cd ${SPECDIR}
rpm -ba -v --clean --rmsource samba.spec $@
echo Done.

View File

@ -0,0 +1,15 @@
--- samba-2.2.0/source/script/installbin.sh Fri Jan 12 21:28:02 2001
+++ samba-2.2.0/source/script/installbin.sh.207 Thu Apr 19 09:40:57 2001
@@ -33,9 +33,9 @@
chmod $INSTALLPERMS $BINDIR/$p2
# this is a special case, mount needs this in a specific location
- if [ $p2 = smbmount ]; then
- ln -sf $BINDIR/$p2 /sbin/mount.smbfs
- fi
+ #if [ $p2 = smbmount ]; then
+ # ln -sf $BINDIR/$p2 /sbin/mount.smbfs
+ #fi
done

View File

@ -0,0 +1,11 @@
--- samba-2.2.0/source/script/convert_smbpasswd.gawk Thu Nov 5 04:50:17 1998
+++ samba-2.2.0/source/script/convert_smbpasswd Thu Apr 19 08:43:44 2001
@@ -7,7 +7,7 @@
# with trying to work out how to get the seconds since 1970
# in awk or the shell. JRA.
#
-nawk 'BEGIN {FS=":"}
+gawk 'BEGIN {FS=":"}
{
if( $0 ~ "^#" ) {
print $0

View File

@ -0,0 +1,12 @@
diff -ur samba-2.2.5.orig/examples/VFS/Makefile.in samba-2.2.5/examples/VFS/Makefile.in
--- samba-2.2.5.orig/examples/VFS/Makefile.in 2002-06-17 20:35:09.000000000 +0200
+++ samba-2.2.5/examples/VFS/Makefile.in 2002-06-30 16:43:15.000000000 +0200
@@ -4,7 +4,7 @@
CC=@CC@
LIBTOOL=@LIBTOOL@
-CFLAGS=@CFLAGS@
+CFLAGS=@CFLAGS@ -DPIC -fPIC
LDFLAGS=@LDFLAGS@
VFS_OBJS=audit.so skel.so block/block.so recycle/recycle.so

View File

@ -0,0 +1,59 @@
#!/bin/bash
# samba-print-pdf
# This is a script which allows you to set up a virtual printer on samba
# which will take the file (generated by a postscript filter on windows)
# and turn it into a PDF, informing the user of where it is when it
# is done
#
# Buchan Milne <bgmilne@cae.co.za> 20020723
#
# Arguments:
# $1 = file (usually passed with %s from samba)
# $2 = unix prefix to where to place the file (~%u should work)
# $3 = windows prefix to the same location (\\%L\%u should work)
# $4 = user/computer to send a notification to (%u or %m)
# $5 = IP address of client (%I)
PS2PDF=ps2pdf13
OPTIONS="-dAutoFilterColorImages=false -sColorImageFilter=FlateEncode"
INPUT=$1
KEEP_PS=1
PERMS=640
INFILE=$(basename $INPUT)
BASEFILE=pdf-service
#make a temp file to use for the output of the PDF
OUTPUT=`mktemp -q $2/$BASEFILE-XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file $2/$BASEFILE-XXXXXX, exiting..."
exit 1
fi
WIN_OUTPUT="$3\\`basename $OUTPUT`"
# create the PDF:
$PS2PDF $OPTOINS $INPUT $OUTPUT.pdf >/dev/null 2>&1
# Generate a message to send to the user, and deal with the original file:
MESSAGE=$(echo "Your PDF file has been created as $WIN_OUTPUT.pdf\n")
if [ $KEEP_PS ];then
mv $INPUT $OUTPUT.ps
MESSAGE=$(echo "$MESSAGE and your postscript file as $WIN_OUTPUT.ps")
# Fix permissions on the generated files
chmod $PERMS $OUTPUT.ps
else
rm -f $INPUT
chmod $PERMS $OUTPUT.ps $OUTPUT.pdf
# Fix permissions on the generated files
fi
chmod $PERMS $OUTPUT.ps $OUTPUT.pdf
#Remove empty file from mktemp:
rm -f $OUTPUT
# Send notification to user
echo -e $MESSAGE|smbclient -M $4 -I $5 -U "PDF Generator" >/dev/null 2>&1

View File

@ -0,0 +1,15 @@
# You should either include this file into your
# /etc/openldap/slapd.conf, or add the contents (after editing), inside
# the db definition your samba server will use.
# Index the rid for samba:
index rid eq
# Basic samba acl:
access to attrs=lmPassword,ntPassword
by dn="cn=root,dc=mydomain,dc=com" write
by dn="uid=root,ou=People,dc=mydomain,dc=com" write
by * none

View File

@ -1,4 +1,4 @@
/var/log/samba/log.nmbd {
/var/log/samba/log.nmb {
notifempty
missingok
postrotate
@ -6,7 +6,7 @@
endscript
}
/var/log/samba/log.smbd {
/var/log/samba/log.smb {
notifempty
missingok
postrotate

View File

@ -7,7 +7,7 @@ service swat
port = 901
socket_type = stream
wait = no
only_from = localhost
only_from = 127.0.0.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,4 @@
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
@ -14,32 +15,22 @@
#======================= Global Settings =====================================
[global]
# 1. Server Naming Options:
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = MDKGROUP
# netbios name is the name you will see in "Network Neighbourhood",
# but defaults to your hostname
; netbios name = <name_of_this_server>
# server string is the equivalent of the NT Description field
server string = Samba Server %v
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
# Enabling internationalization:
# you can match a Windows code page with a UNIX character set.
# Windows: 437 (US), 737 (GREEK), 850 (Latin1 - Western European),
# 852 (Eastern Eu.), 861 (Icelandic), 932 (Cyrillic - Russian),
# 936 (Japanese - Shift-JIS), 936 (Simpl. Chinese), 949 (Korean Hangul),
# 950 (Trad. Chin.).
# UNIX: ISO8859-1 (Western European), ISO8859-2 (Eastern Eu.),
# ISO8859-5 (Russian Cyrillic), KOI8-R (Alt-Russ. Cyril.)
# This is an example for french users:
; client code page = 850
; character set = ISO8859-1
# Message command is run by samba when a "popup" message is sent to it.
# The example below is for use with LinPopUp:
; message command = /usr/bin/linpopup "%f" "%m" %s; rm %s
# 2. Printing Options:
# CHANGES TO ENABLE PRINTING ON ALL CUPS PRINTERS IN THE NETWORK
# (as cups is now used in linux-mandrake 7.2 by default)
# if you want to automatically load your printer list rather
@ -52,11 +43,18 @@
# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
printing = cups
# Samba 2.2 supports the Windows NT-style point-and-print feature. To
# use this, you need to be able to upload print drivers to the samba
# server. The printer admins (or root) may install drivers onto samba.
# Note that this feature uses the print$ share, so you will need to
# enable it below.
# This parameter works like domain admin group:
# printer admin = @<group> <user>
; printer admin = @adm
# This should work well for winbind:
; printer admin = @"Domain Admins"
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
# 3. Logging Options:
# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
@ -64,11 +62,29 @@
# Put a capping on the size of the log files (in Kb).
max log size = 50
# Set the log (verbosity) level (0 <= log level <= 10)
; log level = 3
# 4. Security and Domain Membership Options:
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page. Do not enable this if (tcp/ip) name resolution does
# not work for all the hosts in your network.
; hosts allow = 192.168.1. 192.168.2. 127.
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
# Security mode. Most people will want user level security. See
# security_level.txt for details.
security = user
# Use password server option only with security = server
# Use password server option only with security = server or security = domain
# When using security = domain, you should use password server = *
; password server = <NT-Server-Name>
; password server = *
# Password Level allows matching of _n_ characters of the password for
# all combinations of upper and lower case.
@ -78,27 +94,69 @@
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
; encrypt passwords = yes
; smb passwd file = /etc/samba/private/smbpasswd
# Encrypted passwords are required for any use of samba in a Windows NT domain
# The smbpasswd file is only required by a server doing authentication, thus
# members of a domain do not need one.
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
# The following are needed to allow password changing from Windows to
# update the Linux sytsem password also.
# also update the Linux system password.
# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
# NOTE2: You do NOT need these to allow workstations to change only
# the encrypted SMB passwords. They allow the Unix password
# to be kept in sync with the SMB password.
; unix password sync = Yes
# You either need to setup a passwd program and passwd chat, or
# enable pam password change
; pam password change = yes
; passwd program = /usr/bin/passwd %u
; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n
;*passwd:*all*authentication*tokens*updated*successfully*
# Unix users can map to different SMB User names
; username map = /etc/smbusers
; username map = /etc/samba/smbusers
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /etc/smb.conf.%m
; include = /etc/samba/smb.conf.%m
# Options for using winbind. Winbind allows you to do all account and
# authentication from a Windows or samba domain controller, creating
# accounts on the fly, and maintaining a mapping of Windows RIDs to unix uid's
# and gid's. winbind uid and winbind gid are the only required parameters.
#
# winbind uid is the range of uid's winbind can use when mapping RIDs to uid's
; winbind uid = 10000-20000
#
# winbind gid is the range of uid's winbind can use when mapping RIDs to gid's
; winbind gid = 10000-20000
#
# winbind separator is the character a user must use between their domain
# name and username, defaults to "\"
; winbind separator = +
#
# winbind use default domain allows you to have winbind return usernames
# in the form user instead of DOMAIN+user for the domain listed in the
# workgroup parameter.
; winbind use default domain = yes
#
# template homedir determines the home directory for winbind users, with
# %D expanding to their domain name and %U expanding to their username:
; template homedir = /home/%D/%U
# When using winbind, you may want to have samba create home directories
# on the fly for authenticated users. Ensure that /etc/pam.d/samba is
# using 'service=system-auth-winbind' in pam_stack modules, and then
# enable obedience of pam restrictions below:
; obey pam restrictions = yes
#
# template shell determines the shell users authenticated by winbind get
; template shell = /bin/bash
# 5. Browser Control and Networking Options:
# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
@ -110,12 +168,11 @@
# Configure remote browse list synchronisation here
# request announcement to, or browse list sync from:
# a specific host or from / to a whole subnet (see below)
# a specific host or from / to a whole subnet (see below)
; remote browse sync = 192.168.3.25 192.168.5.255
# Cause this host to announce itself to local subnets here
; remote announce = 192.168.1.255 192.168.2.44
# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
; local master = no
@ -133,8 +190,9 @@
# and gives it a slightly higher chance of winning the election
; preferred master = yes
# 6. Domain Control Options:
# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
# Windows95 workstations or Primary Domain Controller for WinNT and Win2k
; domain logons = yes
# if you enable domain logons then you may want a per-machine or
@ -144,11 +202,51 @@
# run a specific logon batch file per username
; logon script = %U.bat
# Where to store roving profiles (only for Win95 and WinNT)
# Where to store roaming profiles for WinNT and Win2k
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \\%L\Profiles\%U
# Where to store roaming profiles for Win9x. Be careful with this as it also
# impacts where Win2k finds it's /HOME share
; logon home = \\%L\%U\.profile
# The add user script is used by a domain member to add local user accounts
# that have been authenticated by the domain controller, or by the domain
# controller to add local machine accounts when adding machines to the domain.
# The script must work from the command line when replacing the macros,
# or the operation will fail. Check that groups exist if forcing a group.
# Script for domain controller for adding machines:
; add user script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine Account' -s /bin/false -M %u
# Script for domain controller with LDAP backend for adding machines (please
# configure in /etc/samba/smbldap_conf.pm first):
; add user script = /usr/share/samba/scripts/smbldap-useradd.pl -w -d /dev/null -g machines -c 'Machine Account' -s /bin/false %u
# Script for domain member for adding local accounts for authenticated users:
; add user script = /usr/sbin/useradd -s /bin/false %u
# Domain groups:
# domain admin group is a list of unix users or groups who are made members
# of the Domain Admin group
; domain admin group = root @wheel
#
# domain guest groups is a list of unix users or groups who are made members
# of the Domain Guests group
; domain guest group = nobody @guest
# LDAP configuration for Domain Controlling:
# The account (dn) that samba uses to access the LDAP server
# This account needs to have write access to the LDAP tree
# You will need to give samba the password for this dn, by
# running 'smbpasswd -w mypassword'
; ldap admin dn = cn=root,dc=mydomain,dc=com
; ldap ssl = start_tls
# start_tls should run on 389, but samba defaults incorrectly to 636
; ldap port = 389
; ldap suffix = dc=mydomain,dc=com
; ldap server = ldap.mydomain.com
# 7. Name Resolution Options:
# All NetBIOS names must be resolved to IP Addresses
# 'Name Resolve Order' allows the named resolution mechanism to be specified
# the default order is "host lmhosts wins bcast". "host" means use the unix
@ -167,12 +265,12 @@
; wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z
# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
# at least one WINS Server on the network. The default is NO.
; wins proxy = yes
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
@ -180,6 +278,7 @@
# this has been changed in version 1.9.18 to no.
dns proxy = no
# 8. File Naming Options:
# Case Preservation can be handy - system default is _no_
# NOTE: These can be set on a per share basis
; preserve case = no
@ -189,11 +288,31 @@
# Be very careful with case sensitivity - it can break things!
; case sensitive = no
# Enabling internationalization:
# you can match a Windows code page with a UNIX character set.
# Windows: 437 (US), 737 (GREEK), 850 (Latin1 - Western European),
# 852 (Eastern Eu.), 861 (Icelandic), 932 (Cyrillic - Russian),
# 936 (Japanese - Shift-JIS), 936 (Simpl. Chinese), 949 (Korean Hangul),
# 950 (Trad. Chin.).
# UNIX: ISO8859-1 (Western European), ISO8859-2 (Eastern Eu.),
# ISO8859-5 (Russian Cyrillic), KOI8-R (Alt-Russ. Cyril.)
# This is an example for french users:
; client code page = 850
; character set = ISO8859-1
#============================ Share Definitions ==============================
[homes]
comment = Home Directories
browseable = no
writable = yes
# You can enable VFS recycle bin on a per share basis:
# Uncomment the next 2 lines (make sure you create a
# .recycle folder in the base of the share and ensure
# all users will have write access to it. See
# examples/VFS/recycle/REAME in samba-doc for details
; vfs object = /usr/lib/samba/vfs/recycle.so
; vfs options= /etc/samba/recycle.conf
# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
@ -201,11 +320,10 @@
; path = /var/lib/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no
#Uncomment the following 2 lines if you would like your login scripts to
#be created dynamically by ntlogon (check that you have it in the correct
#locationn (the default of the ntlogon rpm available in contribs)
#location (the default of the ntlogon rpm available in contribs)
;root preexec = /usr/bin/ntlogon -u %U -g %G -o %a -d /var/lib/samba/netlogon
;root postexec = rm -f /var/lib/samba/netlogon/%U.bat
@ -236,10 +354,36 @@
# =====================================
# print command: see above for details.
# =====================================
print command = lpr-cups -P %p -o raw %s -r # using client side printer drivers.
print command = lpr-cups -P %p -o raw %s -r # using client side printer drivers.
; print command = lpr-cups -P %p %s # using cups own drivers (use generic PostScript on clients).
lpq command = lpstat -o %p
lprm command = cancel %p-%j
# The following two commands are the samba defaults for printing=cups
# change them only if you need different options:
; lpq command = lpq -P %p
; lprm command = cancel %p-%j
# This share is used for Windows NT-style point-and-print support.
# To be able to install drivers, you need to be either root, or listed
# in the printer admin parameter above. Note that you also need write access
# to the directory and share definition to be able to upload the drivers.
# For more information on this, please see the Printing Support Section of
# /usr/share/doc/samba-<version>/docs/Samba-HOWTO-Collection.pdf
[print$]
path = /var/lib/samba/printers
browseable = yes
read only = yes
write list = @adm root
# A useful application of samba is to make a PDF-generation service
# To streamline this, install windows postscript drivers (preferably colour)
# on the samba server, so that clients can automatically install them.
[pdf-generator]
path = /var/tmp
guest ok = No
printable = Yes
comment = PDF Generator (only valid users)
#print command = /usr/share/samba/scripts/print-pdf file path win_path recipient IP &
print command = /usr/share/samba/scripts/print-pdf %s ~%u \\\\\\\\%L\\\\%u %m %I &
# This one is useful for people to share files
;[tmp]
@ -256,10 +400,13 @@
; public = yes
; writable = no
; write list = @staff
# Audited directory through experimental VFS audit.so module:
# Uncomment next line.
; vfs object = /usr/lib/samba/vfs/audit.so
# Other examples.
#
# A private printer, usable only by fred. Spool data will be placed in fred's
# A private printer, usable only by Fred. Spool data will be placed in Fred's
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
;[fredsprn]
@ -271,7 +418,7 @@
; writable = no
; printable = yes
# A private directory, usable only by fred. Note that fred requires write
# A private directory, usable only by Fred. Note that Fred requires write
# access to the directory.
;[fredsdir]
; comment = Fred's Service
@ -317,4 +464,3 @@
; printable = no
; create mask = 0765

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# chkconfig: - 91 35
# chkconfig: 35 91 9
# description: Starts and stops the Samba smbd and nmbd daemons \
# used to provide SMB network services.
@ -26,6 +26,12 @@ RETVAL=0
start() {
# If CUPS is used as printing system, reload smb after a 1 minute delay
# to allow the printers to appear properly as samba shares.
if killall -0 cupsd 2>/dev/null; then
( sleep 60 && killproc smbd -HUP ) &
fi
export TMPDIR="/var/tmp"
echo -n "Starting SMB services: "
daemon smbd -D
RETVAL=$?
@ -55,6 +61,7 @@ restart() {
start
}
reload() {
export TMPDIR="/var/tmp"
echo -n "Reloading smb.conf file: "
killproc smbd -HUP
RETVAL=$?

View File

@ -0,0 +1,15 @@
+++ samba-2.2.1/source/client/smbmount.c Sun Apr 15 01:03:46 2001
--- samba-2.2.1/source/client/smbmount.c.seb Mon Jun 11 14:26:23 2001
@@ -484,9 +484,9 @@
}
if (sys_fork() == 0) {
- if (file_exist(BINDIR "/smbmnt", NULL)) {
- execv(BINDIR "/smbmnt", args);
- fprintf(stderr,"execv of %s failed. Error was %s.", BINDIR "/smbmnt", strerror(errno));
+ if (file_exist(SBINDIR "/smbmnt", NULL)) {
+ execv(SBINDIR "/smbmnt", args);
+ fprintf(stderr,"execv of %s failed. Error was %s.", SBINDIR "/smbmnt", strerror(errno));
} else {
execvp("smbmnt", args);
fprintf(stderr,"execvp of smbmnt failed. Error was %s.", strerror(errno) );

View File

@ -0,0 +1,10 @@
--- samba-2.0.0/source/smbwrapper/smbsh.in.orig Mon Oct 5 22:37:01 1998
+++ samba-2.0.0/source/smbwrapper/smbsh.in Mon Oct 5 22:37:51 1998
@@ -1,6 +1,6 @@
#! /bin/sh
-SMBW_LIBDIR=${SMBW_LIBDIR-@builddir@/smbwrapper}
+SMBW_LIBDIR=${SMBW_LIBDIR-/usr/bin}
if [ ! -f ${SMBW_LIBDIR}/smbwrapper.so ]; then
echo You need to set LIBDIR in smbsh

View File

@ -0,0 +1,17 @@
#%PAM-1.0
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so likeauth nullok use_first_pass
auth required /lib/security/pam_deny.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/pam_deny.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so

View File

@ -0,0 +1,93 @@
#!/bin/sh
#
# chkconfig: 345 81 45
# description: Starts and stops the Samba winbind daemon to provide \
# user and group information from a domain controller to linux.
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ] || exit 0
RETVAL=0
start() {
echo -n "Starting Winbind services: "
RETVAL=1
if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
daemon winbindd
RETVAL=$?
else
echo "Winbind is not configured in /etc/samba/smb.conf, not starting"
fi
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/winbind || \
RETVAL=1
return $RETVAL
}
stop() {
echo -n "Shutting down Winbind services: "
RETVAL=1
if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
killproc winbindd
RETVAL=$?
fi
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbind
return $RETVAL
}
restart() {
stop
start
}
reload() {
export TMPDIR="/var/tmp"
echo -n "Checking domain trusts: "
killproc winbindd -HUP
RETVAL=$?
echo
return $RETVAL
}
mdkstatus() {
status winbindd
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
mdkstatus
;;
condrestart)
[ -f /var/lock/subsys/winbindd ] && restart || :
;;
*)
echo "Usage: $0 {start|stop|restart|status|condrestart}"
exit 1
esac
exit $?