summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonny Davies <woodchip@gentoo.org>2003-09-26 00:18:51 +0000
committerDonny Davies <woodchip@gentoo.org>2003-09-26 00:18:51 +0000
commit1bac3e840867136726ba34edafea6deeaa8fb65c (patch)
tree6b934707e0baac4c0ef3a8345f41b3bd7b60d0b7 /net-fs/samba
parentadd idealx scripts and vfs modules (diff)
downloadgentoo-2-1bac3e840867136726ba34edafea6deeaa8fb65c.tar.gz
gentoo-2-1bac3e840867136726ba34edafea6deeaa8fb65c.tar.bz2
gentoo-2-1bac3e840867136726ba34edafea6deeaa8fb65c.zip
add idealx scripts and vfs modules
Diffstat (limited to 'net-fs/samba')
-rw-r--r--net-fs/samba/ChangeLog14
-rw-r--r--net-fs/samba/Manifest6
-rw-r--r--net-fs/samba/files/digest-samba-3.0.0-r13
-rw-r--r--net-fs/samba/files/smb.conf.example-samba3499
-rw-r--r--net-fs/samba/files/winbind-init20
-rw-r--r--net-fs/samba/samba-3.0.0-r1.ebuild388
6 files changed, 911 insertions, 19 deletions
diff --git a/net-fs/samba/ChangeLog b/net-fs/samba/ChangeLog
index a9f2760fff77..3982b0168c6d 100644
--- a/net-fs/samba/ChangeLog
+++ b/net-fs/samba/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for net-fs/samba
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.47 2003/09/25 19:08:26 mholzer Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.48 2003/09/26 00:18:46 woodchip Exp $
+
+*samba-3.0.0-r1 (25 Sep 2003)
+
+ 25 Sep 2003; Donny Davies <woodchip@gentoo.org> samba-3.0.0-r1.ebuild,
+ files/smb.conf.example-samba3, files/winbind-init:
+ This is what should have been samba-3.0.0.ebuild; was out of my control,
+ sigh. Added three more VFS modules: cap, default_quota, readonly. Added
+ the IDEALX scripts for managing LDAP backend user accounts, also the
+ mkntpwd utility. Added the clamav vscan plugin. Added a decent
+ smb.conf.example file, which documents important Samba-3 options.
+ Tidied up the winbind rc-script. Some documentation fixes.
+ Various miscellaneous ebuild housekeeping.
26 Sep 2003; Martin Holzer <mholzer@gentoo.org> samba-3.0.0.ebuild:
minor ebuild fixes.
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index ab5ca41e3683..8977e5609717 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,10 +1,10 @@
-MD5 4d4da1d64ddf469267e7ec7fa110749b samba-3.0.0-r1.ebuild 10760
+MD5 4d4c76de99b270b82481c3e9c4c0a4b1 samba-3.0.0-r1.ebuild 10759
MD5 b4f7c9e6b05c610bf52033ed430de265 samba-2.2.8.ebuild 10688
MD5 eb3b540cc665551c42cae5d04e84cba5 samba-3.0.0_rc4.ebuild 9605
MD5 c6ca541cd6ede56525c6b8f2c02eb60d samba-2.2.8a.ebuild 10847
-MD5 7f02574e620d836fd3c0d88df746bfbf ChangeLog 11119
+MD5 c6dc8f77ffd790a35e51c8eee0c76078 ChangeLog 11742
MD5 f9ae9b62d92d4006947fea94e0dd8db2 samba-3.0.0.ebuild 9474
-MD5 02920e2e09826e5b114d3fafd36a7fa6 files/winbind-init 501
+MD5 cac4662bb25a75115b40c9558de26f26 files/winbind-init 503
MD5 9780745de080ee53a34c1b2f9fb1f228 files/digest-samba-2.2.8a 135
MD5 ba636412fdffb621dcd28e79fb247d7c files/swat.xinetd 525
MD5 20997c75e29fec20efbb2cd6695cd3a9 files/recycle.conf 776
diff --git a/net-fs/samba/files/digest-samba-3.0.0-r1 b/net-fs/samba/files/digest-samba-3.0.0-r1
new file mode 100644
index 000000000000..51eb000cdaf1
--- /dev/null
+++ b/net-fs/samba/files/digest-samba-3.0.0-r1
@@ -0,0 +1,3 @@
+MD5 f54ba49f9a5ef6090272acf8db2e066d samba-3.0.0.tar.bz2 9848974
+MD5 acbcb28cff080dcf2ee732b7f2c0f949 samba-vscan-0.3.4.tar.bz2 131027
+MD5 61858aa44ebc68b485fb9dac2749e82c smbldap-tools-0.8.1.tgz 51142
diff --git a/net-fs/samba/files/smb.conf.example-samba3 b/net-fs/samba/files/smb.conf.example-samba3
new file mode 100644
index 000000000000..29a90dbe0947
--- /dev/null
+++ b/net-fs/samba/files/smb.conf.example-samba3
@@ -0,0 +1,499 @@
+# 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
+# many!) most of which are not shown in this example
+#
+# Any line which starts with a ; (semi-colon) or a # (hash)
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors.
+#
+#======================= Global Settings =====================================
+[global]
+
+# 1. Server Naming Options:
+# workgroup = NT-Domain-Name or Workgroup-Name
+ workgroup = WORKGROUP
+
+# 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
+
+# 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
+# if you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+ printcap name = cups
+ load printers = yes
+
+# It should not be necessary to spell out the print system type unless
+# yours is non-standard. Currently supported print systems include:
+# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
+ printing = cups
+
+# Samba 3.x 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.
+# printer admin = @<group> <user>
+ printer admin = @adm
+# This should work well for winbind:
+; printer admin = @"Domain Admins"
+
+# 3. Logging Options:
+# this tells Samba to use a separate log file for each machine
+# that connects
+ log file = /var/log/samba3/log.%m
+
+# 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
+# Allow users to map to guest:
+ map to guest = bad user
+
+# 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 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.
+; password level = 8
+; username level = 8
+
+# 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
+# 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/private/smbpasswd
+
+# The following are needed to allow password changing from Windows to
+# 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 *Re*ype*new*UNIX*password* %n\n \
+;*passwd:*all*authentication*tokens*updated*successfully*
+
+# Unix users can map to different SMB User names
+; 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/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
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+; interfaces = 192.168.12.2/24 192.168.13.2/24
+
+# 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)
+; 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
+
+# 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
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+; os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+; domain master = yes
+
+# Preferred Master causes Samba to force a local browser election on startup
+# 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 or Primary Domain Controller for WinNT and Win2k
+; domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+; logon script = %m.bat
+# run a specific logon batch file per username
+; logon script = %U.bat
+
+# 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 when adding
+# users via the Windows NT Tools (ie User Manager for Domains).
+
+# Scripts for file (passwd, smbpasswd) backend:
+; add user script = /usr/sbin/useradd -s /bin/false '%u'
+; delete user script = /usr/sbin/userdel '%s'
+; add user to group script = /usr/bin/gpasswd -a '%u' '%g'
+; delete user from group script = /usr/bin/gpasswd -d '%u' '%g'
+; set primary group script = /usr/sbin/usermod -g '%g' '%u'
+; add group script = /usr/sbin/groupadd %g && getent group '%g'|awk -F: '{print $3}'
+; delete group script = /usr/sbin/groupdel '%g'
+
+# Scripts for LDAP backend (assumes nss_ldap is in use on the domain controller.
+# Needs IDEALX scripts, and configuration in smbldap_conf.pm.
+# This assumes you've installed the IDEALX scripts into /usr/share/samba/scripts...
+; add user script = /usr/share/samba/scripts/smbldap-useradd.pl '%u'
+; delete user script = /usr/share/samba/scripts/smbldap-userdel.pl '%u'
+; add user to group script = /usr/share/samba/scripts/smbldap-groupmod.pl -m '%u' '%g'
+; delete user from group script = /usr/share/samba/scripts/smbldap-groupmod.pl -x '%u' '%g'
+; set primary group script = /usr/share/samba/scripts/smbldap-usermod.pl -g '%g' '%u'
+; add group script = /usr/share/samba/scripts/smbldap-groupadd.pl '%g' && /usr/share/samba/scripts/smbldap-groupshow.pl %g|awk '/^gidNumber:/ {print $2}'
+; delete group script = /usr/share/samba/scripts/smbldap-userdel.pl '%g'
+
+
+# The add machine script is use by a samba server configured as a 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 machine 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 (You need
+# the IDEALX scripts, and to configure the smbldap_conf.pm first):
+; add machine script = /usr/share/samba/scripts/smbldap-useradd.pl -w -d /dev/null -g machines -c 'Machine Account' -s /bin/false %u
+
+# Domain groups:
+# Domain groups are now configured by using the 'net groupmap' tool
+
+# Samba Password Database configuration:
+# Samba now has runtime-configurable password database backends. Multiple
+# passdb backends may be used, but users will only be added to the first one
+# Default:
+; passdb backend = smbpasswd guest
+# TDB backen with fallback to smbpasswd and guest
+; passdb backend = tdbsam smbpasswd guest
+# LDAP with fallback to smbpasswd guest
+# Enable SSL by using an ldaps url, or enable tls with 'ldap ssl' below.
+; passdb backend = ldapsam:ldaps://ldap.mydomain.com smbpasswd guest
+# Use the samba2 LDAP schema:
+; passdb backend = ldapsam_compat:ldaps://ldap.mydomain.com smbpasswd guest
+
+# idmap uid account range:
+# This is a range of unix user-id's that samba will map non-unix RIDs to,
+# such as when using Winbind
+; idmap uid = 10000-20000
+; idmap gid = 10000-20000
+
+# 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
+# Seperate suffixes are available for machines, users, groups, and idmap, if
+# ldap suffix appears first, it is appended to the specific suffix.
+# Example for a unix-ish directory layout:
+; ldap machine suffix = ou=Hosts
+; ldap user suffix = ou=People
+; ldap group suffix = ou=Group
+; ldap idmap suffix = ou=Idmap
+# Example for AD-ish layout:
+; ldap machine suffix = cn=Computers
+; ldap user suffix = cn=Users
+; ldap group suffix = cn=Groups
+; ldap idmap suffix = cn=Idmap
+
+
+# 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
+# system gethostbyname() function call that will use either /etc/hosts OR
+# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf
+# and the /etc/resolv.conf file. "host" therefore is system configuration
+# dependant. This parameter is most often of use to prevent DNS lookups
+# in order to resolve NetBIOS names to IP Addresses. Use with care!
+# The example below excludes use of name resolution for machines that are NOT
+# on the local network segment
+# - OR - are not deliberately to be known via lmhosts or via WINS.
+; name resolve order = wins lmhosts bcast
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+; 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
+; 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.
+; wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
+# 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
+; short preserve case = no
+# Default case is normally upper case for all DOS files
+; default case = lower
+# 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:
+; dos charset = 850
+; unix charset = 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 the samba docs for details
+; vfs object = /usr/lib/samba/vfs/recycle.so
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+; comment = Network Logon Service
+; path = /var/lib/samba/netlogon
+; guest ok = yes
+; writable = no
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+; path = /var/lib/samba/profiles
+; browseable = no
+; guest ok = yes
+# This script can be enabled to create profile directories on the fly
+# You may want to turn off guest acces if you enable this, as it
+# hasn't been thoroughly tested.
+;root preexec = PROFILE=/var/lib/samba/profiles/%u; if [ ! -e $PROFILE ]; \
+; then mkdir -pm700 $PROFILE; chown %u.%g $PROFILE;fi
+
+# NOTE: If you have a CUPS print system there is no need to
+# specifically define each individual printer.
+# You must configure the samba printers with the appropriate Windows
+# drivers on your Windows clients. On the Samba server no filtering is
+# done. If you wish that the server provides the driver and the clients
+# send PostScript ("Generic PostScript Printer" under Windows), you have
+# to swap the 'print command' line below with the commented one.
+[printers]
+ comment = All Printers
+ path = /var/spool/samba
+ browseable = no
+# to allow user 'guest account' to print.
+ guest ok = yes
+ writable = no
+ printable = yes
+ create mode = 0700
+# =====================================
+# 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 %s # using cups own drivers (use generic PostScript on clients).
+# 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>/Samba-HOWTO-Collection.pdf
+[print$]
+ path = /var/lib/samba/printers
+ browseable = yes
+ read only = yes
+ write list = @adm root
+ guest ok = yes
+
+# This one is useful for people to share files
+;[tmp]
+; comment = Temporary file space
+; path = /tmp
+; read only = no
+; public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+; comment = Public Stuff
+; path = /home/samba/public
+; 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
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+; comment = Fred's Printer
+; valid users = fred
+; path = /homes/fred
+; printer = freds_printer
+; public = no
+; writable = no
+; printable = yes
+
+# A private directory, usable only by Fred. Note that Fred requires write
+# access to the directory.
+;[fredsdir]
+; comment = Fred's Service
+; path = /usr/somewhere/private
+; valid users = fred
+; public = no
+; writable = yes
+; printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %u option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+; comment = PC Directories
+; path = /usr/pc/%m
+; public = no
+; writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+; path = /usr/somewhere/else/public
+; public = yes
+; only guest = yes
+; writable = yes
+; printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+; comment = Mary's and Fred's stuff
+; path = /usr/somewhere/shared
+; valid users = mary fred
+; public = no
+; writable = yes
+; printable = no
+; create mask = 0765
+
diff --git a/net-fs/samba/files/winbind-init b/net-fs/samba/files/winbind-init
index 3cd6c3537a0a..410c8e0d3bbb 100644
--- a/net-fs/samba/files/winbind-init
+++ b/net-fs/samba/files/winbind-init
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/winbind-init,v 1.2 2003/02/14 23:00:20 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/winbind-init,v 1.3 2003/09/26 00:18:47 woodchip Exp $
depend() {
need net
@@ -9,22 +9,12 @@ depend() {
start() {
ebegin "Starting winbind"
- start-stop-daemon --start --quiet --exec /usr/sbin/smbd
- result=$?
- start-stop-daemon --start --quiet --exec /usr/sbin/nmbd
- result=$(( $result + $? ))
start-stop-daemon --start --quiet --exec /usr/sbin/winbindd
- result=$(( $result + $? ))
- eend $result
+ eend $?
}
stop() {
- ebegin "Stopping samba"
- start-stop-daemon --stop --quiet --pidfile /var/run/samba/smbd.pid
- result=$?
- start-stop-daemon --stop --quiet --pidfile /var/run/samba/nmbd.pid
- result=$(( $result + $? ))
- start-stop-daemon --stop --quiet --pidfile /var/run/samba/winbindd.pid
- result=$(( $result + $? ))
- eend $result
+ ebegin "Stopping winbind"
+ start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/winbindd
+ eend $?
}
diff --git a/net-fs/samba/samba-3.0.0-r1.ebuild b/net-fs/samba/samba-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..f83e06a22de4
--- /dev/null
+++ b/net-fs/samba/samba-3.0.0-r1.ebuild
@@ -0,0 +1,388 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.0.0-r1.ebuild,v 1.1 2003/09/26 00:18:47 woodchip Exp $
+
+inherit eutils
+
+IUSE="kerberos mysql xml acl cups ldap pam readline python"
+IUSE="${IUSE} oav"
+
+DESCRIPTION="SAMBA is a suite of SMB and CIFS client/server programs for UNIX"
+HOMEPAGE="http://www.samba.org/
+ http://www.openantivirus.org/projects.php"
+
+SMBLDAP_TOOLS_VER=0.8.1
+VSCAN_VER=0.3.4
+VSCAN_MODS=${VSCAN_MODS:=fprot mks openantivirus sophos trend icap clamav} #kapersky
+# To build the "kapersky" plugin, the kapersky lib must be installed.
+
+_CVS="-${PV/_/}"
+S=${WORKDIR}/${PN}${_CVS}
+
+SRC_URI="mirror://samba/${PN}${_CVS}.tar.bz2
+ oav? mirror://sourceforge/openantivirus/${PN}-vscan-${VSCAN_VER}.tar.bz2
+ ldap? http://samba.idealx.org/dist/smbldap-tools-${SMBLDAP_TOOLS_VER}.tgz"
+
+_COMMON_DEPS="dev-libs/popt
+ readline? sys-libs/readline
+ kerberos? app-crypt/mit-krb5
+ mysql? ( dev-db/mysql sys-libs/zlib )
+ acl? sys-apps/acl
+ cups? net-print/cups
+ ldap? net-nds/openldap
+ pam? sys-libs/pam
+ python? dev-lang/python"
+DEPEND="sys-devel/autoconf ${_COMMON_DEPS}"
+#IDEALX scripts are now using Net::LDAP
+RDEPEND="ldap? dev-perl/perl-ldap ${_COMMON_DEPS}"
+
+KEYWORDS="~x86 ~ppc ~sparc"
+LICENSE="GPL-2"
+SLOT="0"
+
+src_unpack() {
+ local i
+ unpack ${A} || die
+ cd ${S} || die
+
+ # Clean up CVS
+ #find . -name .cvsignore | xargs rm -f
+ #find . -name CVS | xargs rm -rf
+
+ # Add patch(es)
+ #Next one is from eger@cc.gatech.edu :)
+ patch -p1 <${FILESDIR}/samba-3.0.0-python-setup.patch || die
+ #Fix for bug #27858
+ if [ "${ARCH}" = "sparc" ]
+ then
+ cd ${S}/source/include
+ epatch ${FILESDIR}/samba-2.2.8-statfs.patch
+ fi
+
+ # For clean docs packaging sake.
+ rm -rf ${S}/examples.bin ; cp -a ${S}/examples ${S}/examples.bin
+
+ # Prep samba-vscan source.
+ if use oav; then
+ cp -a ${WORKDIR}/${PN}-vscan-${VSCAN_VER} ${S}/examples.bin/VFS
+ fi
+
+ cd ${S}/source
+ autoconf || die
+}
+
+src_compile() {
+ local i
+ local myconf
+ local mymods
+
+ #this is deprecated...
+ #mymods="nisplussam"
+ use xml && mymods="xml,${mymods}"
+ use mysql && mymods="mysql,${mymods}"
+
+ myconf="--with-expsam=${mymods}"
+
+ use acl \
+ && myconf="${myconf} --with-acl-support" \
+ || myconf="${myconf} --without-acl-support"
+
+ use pam \
+ && myconf="${myconf} --with-pam --with-pam_smbpass" \
+ || myconf="${myconf} --without-pam --without-pam_smbpass"
+
+ use cups \
+ && myconf="${myconf} --enable-cups" \
+ || myconf="${myconf} --disable-cups"
+
+ use ldap \
+ && myconf="${myconf} --with-ldap" \
+ || myconf="${myconf} --without-ldap"
+ #this is for old samba 2.x compat
+ #myconf="${myconf} --with-ldapsam"
+ myconf="${myconf} --without-ldapsam"
+
+ use kerberos \
+ && myconf="${myconf} --with-ads" \
+ || myconf="${myconf} --without-ads"
+
+ use python \
+ && myconf="${myconf} --with-python=yes" \
+ || myconf="${myconf} --with-python=no"
+
+ use readline \
+ && myconf="${myconf} --with-readline" \
+ || myconf="${myconf} --without-readline"
+
+ einfo "\$myconf is: $myconf"
+
+ #default_{static,shared}_modules|source/configure
+ #/usr/lib/samba/auth/............. AUTH_MODULES
+ #/usr/lib/samba/charset/ CHARSET_MODULES
+ #/usr/lib/samba/pdb/.............. PDB_MODULES
+ #/usr/lib/samba/rpc/ RPC_MODULES
+ #/usr/lib/samba/vfs/.............. VFS_MODULES|source/Makefile
+ #/usr/lib/samba/lowcase.dat
+ #/usr/lib/samba/upcase.dat
+ #/usr/lib/samba/valid.dat
+
+ cd source
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/samba \
+ --localstatedir=/var \
+ --libdir=/usr/lib/samba \
+ --with-privatedir=/etc/samba/private \
+ --with-lockdir=/var/cache/samba \
+ --with-piddir=/var/run/samba \
+ --with-swatdir=/usr/share/swat \
+ --with-configdir=/etc/samba \
+ --with-logfilebase=/var/log/samba \
+ \
+ --enable-static --enable-shared \
+ --with-manpages-langs=en \
+ --without-spinlocks \
+ --with-libsmbclient \
+ --with-automount \
+ --with-smbmount \
+ --with-winbind \
+ --with-quotas \
+ --with-syslog \
+ --with-idmap \
+ --host=${CHOST} ${myconf} || die
+
+ # Compile main SAMBA pieces.
+ make everything || die "SAMBA pieces"
+ #make rpctorture
+
+ # Build selected samba-vscan plugins.
+ if use oav; then
+ cd ${S}/examples.bin/VFS/${PN}-vscan-${VSCAN_VER}
+ ./configure || die "bad ${PN}-vscan-${VSCAN_VER} ./configure"
+ for i in ${VSCAN_MODS}
+ do
+ cd ${S}/examples.bin/VFS/${PN}-vscan-${VSCAN_VER}/$i
+ make USE_INCLMKSDLIB=1 #needed for the mks build
+ assert "problem building $i vscan module"
+ done
+ fi
+
+ # Build mkntpasswd from the smbldap-tools.
+ if use ldap; then
+ cd ${WORKDIR}/smbldap-tools-${SMBLDAP_TOOLS_VER}
+ tar --no-same-owner -zxf mkntpwd.tar.gz || die "mkntpwd unpack"
+ cd mkntpwd
+ VISUAL="" make || die "mkntpwd compile problem"
+ fi
+}
+
+src_install() {
+# For testing brokeness of make install
+# cd source
+# make DESTDIR=${D} install installmodules install_python
+# assert "It would be nice if that just worked."
+
+ # Install standard binary files.
+ for i in smbclient net smbspool testparm testprns smbstatus \
+ smbcontrol smbtree tdbbackup nmblookup pdbedit \
+ smbpasswd rpcclient smbcacls profiles ntlm_auth \
+ smbcquotas smbmount smbmnt smbumount wbinfo \
+ debug2html smbfilter talloctort #smbsh editreg
+ do
+ exeinto /usr/bin
+ doexe source/bin/${i}
+ done
+ doexe source/script/{smbtar,findsmb}
+
+ # TORTURE_PROGS / Testing stuff, if they built they will come.
+ for i in smbtorture msgtest masktest locktest locktest2 \
+ nsstest vfstest rpctorture
+ do
+ if [ -x source/bin/${i} ]
+ then
+ exeinto /usr/bin
+ doexe source/bin/${i}
+ fi
+ done
+
+ # Installing these two setuid-root allows users to (un)mount smbfs.
+ fperms 4111 /usr/bin/smbumount
+ fperms 4111 /usr/bin/smbmnt
+
+ # Install server binaries.
+ for i in smbd nmbd swat winbindd # wrepld
+ do
+ exeinto /usr/sbin
+ doexe source/bin/${i}
+ done
+
+ # Libraries.
+ exeinto /usr/lib
+ #broken for a while now with some wacky glibc issue
+ #doexe source/bin/smbwrapper.so
+ doexe source/bin/libsmbclient.so
+ insinto /usr/lib
+ doins source/bin/libsmbclient.a
+ insinto /usr/include
+ doins source/include/libsmbclient.h
+ exeinto /lib/security
+ doexe source/nsswitch/pam_winbind.so
+ use pam && doexe source/bin/pam_smbpass.so
+
+ # Nsswitch extensions.
+ for i in wins winbind
+ do
+ exeinto /lib
+ doexe source/nsswitch/libnss_${i}.so
+ done
+ # make link for wins and winbind resolvers..
+ ( cd ${D}/lib ; ln -s libnss_wins.so libnss_wins.so.2 )
+ ( cd ${D}/lib ; ln -s libnss_winbind.so libnss_winbind.so.2 )
+
+ # Python extensions.
+ if use python; then
+ cd source
+ python python/setup.py install --root=${D} || die
+ cd ..
+ fi
+
+ # VFS plugin modules.
+ exeinto /usr/lib/samba/vfs
+ use oav && doexe examples.bin/VFS/${PN}-vscan-${VSCAN_VER}/*/vscan-*.so
+ for i in audit cap default_quota extd_audit fake_perms \
+ netatalk readonly recycle
+ do
+ if [ -x source/bin/${i}.so ]
+ then
+ doexe source/bin/${i}.so
+ fi
+ done
+
+ # Passdb modules.
+ exeinto /usr/lib/samba/pdb
+ use mysql && doexe source/bin/mysql.so
+ use xml && doexe source/bin/xml.so
+
+ # Install codepage data files.
+ insinto /usr/lib/samba
+ doins source/codepages/*.dat
+
+ # Install SWAT helper files.
+ for i in swat/help/*.html docs/htmldocs/*.html
+ do
+ insinto /usr/share/swat/help
+ doins ${i}
+ done
+ for i in swat/images/*.gif
+ do
+ insinto /usr/share/swat/images
+ doins ${i}
+ done
+ for i in swat/include/*.html
+ do
+ insinto /usr/share/swat/include
+ doins ${i}
+ done
+
+ # Install IDEALX scripts for LDAP backend administration.
+ if use ldap; then
+ cd ${WORKDIR}/smbldap-tools-${SMBLDAP_TOOLS_VER}
+ exeinto /usr/share/samba/scripts ; doexe smbldap-*.pl
+ exeinto /usr/sbin ; doexe mkntpwd/mkntpwd
+ insinto /etc/samba ; doins smbldap_conf.pm
+ exeinto /etc/samba ; doexe smbldap_tools.pm
+ eval `perl '-V:installarchlib'`
+ dodir ${installarchlib}
+ dosym /etc/samba/smbldap_conf.pm ${installarchlib}
+ dosym /etc/samba/smbldap_conf.pm /usr/share/samba/scripts
+ dosym /etc/samba/smbldap_tools.pm ${installarchlib}
+ dosym /etc/samba/smbldap_tools.pm /usr/share/samba/scripts
+ cd ${S}
+ fi
+
+ # Install man pages.
+ doman docs/manpages/*
+
+ # SAMBA has a lot of docs, so this just basically
+ # installs them all! We don't want two copies of
+ # the book or manpages though, so:
+ rm -rf docs/htmldocs/using_samba docs/manpages
+ #
+ dodoc COPYING Manifest README Roadmap WHATSNEW.txt
+ docinto full_docs
+ cp -a docs/* ${D}/usr/share/doc/${PF}/full_docs
+ docinto examples
+ dodoc ${FILESDIR}/nsswitch.conf-{wins,winbind}
+ cp -a examples/* ${D}/usr/share/doc/${PF}/examples
+ prepalldocs
+ # and we should unzip the html docs..
+ gunzip ${D}/usr/share/doc/${PF}/full_docs/faq/*
+ gunzip ${D}/usr/share/doc/${PF}/full_docs/htmldocs/*
+ if use oav; then
+ docinto ${PN}-vscan-${VSCAN_VER}
+ cd ${WORKDIR}/${PN}-vscan-${VSCAN_VER}
+ dodoc AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README TODO
+ dodoc */*.conf
+ cd ${S}
+ fi
+ if use ldap; then
+ docinto smbldap-tools-${SMBLDAP_TOOLS_VER}
+ cd ${WORKDIR}/smbldap-tools-${SMBLDAP_TOOLS_VER}
+ dodoc CONTRIBUTORS COPYING ChangeLog FILES INFRA INSTALL README TODO
+ cd ${S}
+ fi
+ chown -R root.root ${D}/usr/share/doc/${PF}
+
+ # link /usr/bin/smbmount to /sbin/mount.smbfs which allows it
+ # to work transparently with the standard 'mount' command..
+ dodir /sbin
+ dosym /usr/bin/smbmount /sbin/mount.smbfs
+
+ # make the smb backend symlink for cups printing support..
+ if use cups; then
+ dodir /usr/lib/cups/backend
+ dosym /usr/bin/smbspool /usr/lib/cups/backend/smb
+ fi
+
+ # Now the config files.
+ insinto /etc
+ insinto /etc/samba
+ doins ${FILESDIR}/smbusers
+ newins ${FILESDIR}/smb.conf.example-samba3 smb.conf.example
+ doins ${FILESDIR}/lmhosts
+ doins ${FILESDIR}/recycle.conf
+
+ insinto /etc/pam.d
+ newins ${FILESDIR}/samba.pam samba
+ doins ${FILESDIR}/system-auth-winbind
+
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/samba-init samba
+ newexe ${FILESDIR}/winbind-init winbind
+
+ insinto /etc/xinetd.d
+ newins ${FILESDIR}/swat.xinetd swat
+
+ if use ldap; then
+ insinto /etc/openldap/schema
+ doins examples/LDAP/samba.schema
+ fi
+}
+
+pkg_postinst() {
+ # touch /etc/samba/smb.conf so that people installing samba just
+ # to mount smb shares don't get annoying warnings all the time..
+ if [ ! -e ${ROOT}/etc/samba/smb.conf ] ; then
+ touch ${ROOT}/etc/samba/smb.conf
+ fi
+
+ # empty dirs..
+ install -m0700 -o root -g root -d ${ROOT}/etc/samba/private
+ install -m1777 -o root -g root -d ${ROOT}/var/spool/samba
+ install -m0755 -o root -g root -d ${ROOT}/var/log/samba
+ install -m0755 -o root -g root -d ${ROOT}/var/run/samba
+ install -m0755 -o root -g root -d ${ROOT}/var/cache/samba
+ install -m0755 -o root -g root -d ${ROOT}/var/lib/samba/{netlogon,profiles}
+ install -m0755 -o root -g root -d \
+ ${ROOT}/var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC}
+}