diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/README | 6 | ||||
-rw-r--r-- | examples/dce-dfs/README | 4 | ||||
-rw-r--r-- | examples/dce-dfs/smb.conf | 42 | ||||
-rw-r--r-- | examples/misc/extra_smbstatus | 47 | ||||
-rw-r--r-- | examples/misc/wall.perl | 45 | ||||
-rwxr-xr-x | examples/printing/smbprint | 77 | ||||
-rw-r--r-- | examples/printing/smbprint.sysv | 52 | ||||
-rw-r--r-- | examples/simple/README | 2 | ||||
-rw-r--r-- | examples/simple/smb.conf | 165 | ||||
-rw-r--r-- | examples/tridge/README | 8 | ||||
-rw-r--r-- | examples/tridge/smb.conf | 101 | ||||
-rw-r--r-- | examples/tridge/smb.conf.WinNT | 14 | ||||
-rw-r--r-- | examples/tridge/smb.conf.fjall | 21 | ||||
-rw-r--r-- | examples/tridge/smb.conf.lapland | 14 | ||||
-rw-r--r-- | examples/tridge/smb.conf.vittjokk | 14 |
15 files changed, 612 insertions, 0 deletions
diff --git a/examples/README b/examples/README new file mode 100644 index 0000000000..3e58e0faf1 --- /dev/null +++ b/examples/README @@ -0,0 +1,6 @@ +This directory contains example config files for Samba. If you have an +interesting config file, then please send it in for inclusion in the +package. + +Send it to: Andrew.Tridgell@anu.edu.au + diff --git a/examples/dce-dfs/README b/examples/dce-dfs/README new file mode 100644 index 0000000000..4aaba8bb33 --- /dev/null +++ b/examples/dce-dfs/README @@ -0,0 +1,4 @@ +this is a sample configuration file from Jim Doyle <doyle@oec.com> who +did the DCE/DFS patches for Samba. It shows how to make DCE/DFS shares +available. + diff --git a/examples/dce-dfs/smb.conf b/examples/dce-dfs/smb.conf new file mode 100644 index 0000000000..f5f155b8e6 --- /dev/null +++ b/examples/dce-dfs/smb.conf @@ -0,0 +1,42 @@ +[global] + printing = bsd + printcap name = /etc/printcap + load printers = no + guest account = guest + log file = /usr/local/samba/var/log.%m + log level = 8 + password level = 8 + +[homes] + comment = Home Directories + browseable = no + read only = no + create mode = 0750 + +[test] + comment = test stuff + path = /dept/mis/home/testacct + valid users = testacct + public = no + writable = yes + +[namespace] + comment = DCE-DFS Global Root + path = /... + public = no + writable = yes + +[oecdfs] + comment = Corporate Cell + path = /.../corp.boston.oec.com/fs + browseable = no + read only = no + create mode = 0750 + +[develdfs] + comment = Technology Development Cell + path = /.../devel.boston.oec.com/fs + browseable = no + read only = no + create mode = 0750 + diff --git a/examples/misc/extra_smbstatus b/examples/misc/extra_smbstatus new file mode 100644 index 0000000000..b018f3dcce --- /dev/null +++ b/examples/misc/extra_smbstatus @@ -0,0 +1,47 @@ +Here's something that Paul Blackman sent me that may be useful: + +------------------- +I created this script to do a few things that smbstatus doesn't at the +moment. Perhaps you might want to include these. Sorry I haven't +added things at source level, script was quick&easy. + +******* +#!/bin/csh +if ($1 == "-p") then + smbstatus -p |sort -u +else if ($1 == "-c") then + echo There are `smbstatus -p |sort -u |grep -n -v z |grep -c :` unique +smbd processes running. + else if ($1 == "-l") then + echo `date '+ %d/%m/%y %H:%M:%S'` `smbstatus -p |sort -u |grep -n -v z +|grep -c :` >>$2 +else + smbstatus |sort +3 -4 -u +endif +****** + +The '-p' option was just to show unique PIDs. + +The more important ones are the '-c' and '-l' options '-c' just counts +the number of unique smbd's, While '-l' logs this count with date and +time to a log file specified on the command line. I'm using '-l' at +the moment with cron to give me an idea of usage/max connections etc. +I was also thinking of doing a log for individual/specified services. + +The default (last) option was to show unique PIDs with user names. +Unfortunately this still lists all file locks etc. This would be +better with a 'no locked files' option from smbstatus (or is there one +that I didn't see) + +Cheers, +~^ MIME OK ^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~ + o | Paul Blackman ictinus@lake.canberra.edu.au + o | Co-operative Research ------------------------ + o _ | Centre For Freshwater Ecology. Ph. (Aus) 06 2012518 + -- (") o | University of Canberra, Australia. Fax. " 06 2015038 + \_|_-- |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | "Spend a little love and get high" + _/ \_ | - Lenny Kravitz +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~ SAMBA Web Pages: http://samba.canberra.edu.au/pub/samba/samba.html ~~~~~ + diff --git a/examples/misc/wall.perl b/examples/misc/wall.perl new file mode 100644 index 0000000000..fc3dc2e2c0 --- /dev/null +++ b/examples/misc/wall.perl @@ -0,0 +1,45 @@ +#!/usr/local/bin/perl +# +#@(#) smb-wall.pl Description: +#@(#) A perl script which allows you to announce whatever you choose to +#@(#) every PC client currently connected to a Samba Server... +#@(#) ...using "smbclient -M" message to winpopup service. +#@(#) Default usage is to message every connected PC. +#@(#) Alternate usage is to message every pc on the argument list. +#@(#) Hacked up by Keith Farrar <farrar@parc.xerox.com> +# +#============================================================================= +$smbstatus = "/usr/local/bin/smbstatus"; +$smbclient = "/usr/local/bin/smbclient"; + +print STDOUT "\nEnter message for Samba clients of this host\n"; +print STDOUT "(terminated with single '.' or end of file):\n"; + +while ( <STDIN> ) { + /^\.$/ && last; + push(@message, $_); +} + +if ( $ARGV[0] ne "" ) { + $debug && print STDOUT "Was given args: \n\t @ARGV\n"; + foreach $client ( @ARGV ) { + $pcclient{$client} = $client; + } +} else { + open( PCLIST, "$smbstatus | /bin/awk '/^[a-z]/ {print $5}' | /bin/sort | /bin/uniq|"); + while ( <PCLIST> ) { + /^[a-z]+[a-z0-9A-Z-_]+.+/ || next; + ($share, $user, $group, $pid, $client, @junk) = split; + $pcclient{$client} = $client; + } + close(PCLIST); +} + +foreach $pc ( keys(%pcclient) ) { + print STDOUT "Sending message "; + $debug && print STDOUT " <@message> \n"; + print STDOUT "To <$pc>\n"; + open(SENDMSG,"|$smbclient -M $pc") || next; + print SENDMSG @message; + close(SENDMSG); +} diff --git a/examples/printing/smbprint b/examples/printing/smbprint new file mode 100755 index 0000000000..a80d60ce4f --- /dev/null +++ b/examples/printing/smbprint @@ -0,0 +1,77 @@ +#!/bin/sh -x + +# This script is an input filter for printcap printing on a unix machine. It +# uses the smbclient program to print the file to the specified smb-based +# server and service. +# For example you could have a printcap entry like this +# +# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint +# +# which would create a unix printer called "smb" that will print via this +# script. You will need to create the spool directory /usr/spool/smb with +# appropriate permissions and ownerships for your system. + +# Set these to the server and service you wish to print to +# In this example I have a WfWg PC called "lapland" that has a printer +# exported called "printer" with no password. + +# +# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) +# so that the server, service, and password can be read from +# a /usr/var/spool/lpd/PRINTNAME/.config file. +# +# In order for this to work the /etc/printcap entry must include an +# accounting file (af=...): +# +# cdcolour:\ +# :cm=CD IBM Colorjet on 6th:\ +# :sd=/var/spool/lpd/cdcolour:\ +# :af=/var/spool/lpd/cdcolour/acct:\ +# :if=/usr/local/etc/smbprint:\ +# :mx=0:\ +# :lp=/dev/null: +# +# The /usr/var/spool/lpd/PRINTNAME/.config file should contain: +# server=PC_SERVER +# service=PR_SHARENAME +# password="password" +# +# E.g. +# server=PAULS_PC +# service=CJET_371 +# password="" + +# +# Debugging log file, change to /dev/null if you like. +# +logfile=/tmp/smb-print.log +# logfile=/dev/null + + +# +# The last parameter to the filter is the accounting file name. +# Extract the directory name from the file name. +# Concat this with /.config to get the config file. +# +eval acct_file=\$$# +spool_dir=`dirname $acct_file` +config_file=$spool_dir/.config + +# Should read the following variables set in the config file: +# server +# service +# password +eval `cat $config_file` + +# +# Some debugging help, change the >> to > if you want to same space. +# +echo "server $server, service $service" >> $logfile + +( +# NOTE You may wish to add the line `echo translate' if you want automatic +# CR/LF translation when printing. +# echo translate + echo "print -" + cat +) | /usr/local/samba/bin/smbclient "\\\\$server\\$service" $password -U $server -N -P >> $logfile diff --git a/examples/printing/smbprint.sysv b/examples/printing/smbprint.sysv new file mode 100644 index 0000000000..3e1cec47f5 --- /dev/null +++ b/examples/printing/smbprint.sysv @@ -0,0 +1,52 @@ +#!/bin/sh +# +# @(#) smbprint.sysv version 1.0 Ross Wakelin <r.wakelin@march.co.uk> +# +# Version 1.0 13 January 1995 +# modified from the original smbprint (bsd) script +# +# this script is a System 5 printer interface script. It +# uses the smbclient program to print the file to the specified smb-based +# server and service. +# +# To add this to your lp system, copy this file into your samba directory +# (the example here is /opt/samba), modify the server and service variables +# and then execute the following command (as root) +# +# lpadmin -punixprintername -v/dev/null -i/opt/samba/smbprint +# +# where unixprintername is the name that the printer will be known as +# on your unix box. +# +# the script smbprint will be copied into your printer administration +# directory (/usr/lib/lp or /etc/lp) as a new interface +# (interface/unixprintername) +# Then you have to enable unixprintername and accept unixprintername +# +# This script will then be called by the lp service to print the files +# This script will have 6 or more parameters passed to it by the lp service. +# The first five will contain details of the print job, who queued it etc, +# while parameters 6 onwards are a list of files to print. We just +# cat these at the samba client. +# +# Set these to the server and service you wish to print to +# In this example I have a WfWg PC called "lapland" that has a printer +# exported called "printer" with no password. +# +# clear out the unwanted parameters +shift;shift;shift;shift;shift +# now the argument list is just the files to print + +server=admin +service=hplj2 +password="" + +( +# NOTE You may wish to add the line `echo translate' if you want automatic +# CR/LF translation when printing. + echo translate + echo "print -" + cat $* +) | /opt/samba/smbclient "\\\\$server\\$service" $password -N -P > /dev/null +exit $? + diff --git a/examples/simple/README b/examples/simple/README new file mode 100644 index 0000000000..9628aa8260 --- /dev/null +++ b/examples/simple/README @@ -0,0 +1,2 @@ +This is the "original" sample config file. + diff --git a/examples/simple/smb.conf b/examples/simple/smb.conf new file mode 100644 index 0000000000..cdf65b337f --- /dev/null +++ b/examples/simple/smb.conf @@ -0,0 +1,165 @@ +; Configuration file for smbd. +; ============================================================================ +; For the format of this file and comprehensive descriptions of all the +; configuration option, please refer to the man page for smb.conf(5). +; +; The following configuration should suit most systems for basic usage and +; initial testing. It gives all clients access to their home directories and +; allows access to all printers specified in /etc/printcap. +; +; Things you need to check: +; -------------------------- +; +; 1: Check the path to your printcap file. If you are using a system that does +; not use printcap (eg., Solaris), create a file containing lines of the +; form +; +; printername|printername|printername| +; +; where each "printername" is the name of a printer you want to provide +; access to. Then alter the "printcap =" entry to point to the new file. +; +; If using Solaris, the following command will generate a suitable printcap +; file: +; +; lpc status | grep ":" | sed s/:/\|/ > myprintcap +; +; 2: Make sure the "print command" entry is correct for your system. This +; command should submit a file (represented by %s) to a printer +; (represented by %p) for printing and should REMOVE the file after +; printing. +; +; One most systems the default will be OK, as long as you get "printing =" +; right. +; +; It is also a good idea to use an absolute path in the print command +; as there is no guarantee the search path will be set correctly. +; +; 3: Make sure the "printing =" option is set correctly for your system. +; Possible values are "sysv", "bsd" or "aix". +; +; 4: Make sure the "lpq command" entry is correct for your system. The default +; may not work for you. +; +; 5: Make sure that the user specified in "guest account" exists. Typically +; this will be a user that cannot log in and has minimal privileges. +; Often the "nobody" account doesn't work (very system dependant). +; +; 6: You should consider the "security =" option. See a full description +; in the main documentation and the smb.conf(5) manual page +; +; 7: Look at the "hosts allow" option, unless you want everyone on the internet +; to be able to access your files. +; +[global] + printing = bsd + printcap name = /etc/printcap + load printers = yes + guest account = pcguest +; This next option sets a separate log file for each client. Remove +; it if you want a combined log file. + log file = /usr/local/samba/log.%m + +; You will need a world readable lock directory and "share modes=yes" +; if you want to support the file sharing modes for multiple users +; of the same files +; lock directory = /usr/local/samba/var/locks +; share modes = yes + +[homes] + comment = Home Directories + browseable = no + read only = no + create mode = 0750 + +[printers] + comment = All Printers + browseable = no + printable = yes + public = no + writable = no + create mode = 0700 + +; you might also want this one +; [tmp] +; comment = Temporary file space +; path = /tmp +; read only = no +; public = yes + +; +; 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 publicly accessible directory, but read only, except for people in +; the staff group +;[public] +; comment = Public Stuff +; path = /usr/somewhere/public +; public = yes +; writable = no +; printable = no +; write list = @staff +; +; 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 +; writeable = 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/examples/tridge/README b/examples/tridge/README new file mode 100644 index 0000000000..11c72f20b3 --- /dev/null +++ b/examples/tridge/README @@ -0,0 +1,8 @@ +This is the configuration I use at home. I have 2 client PCs, one +running Win95, one running alternately WfWg and NTAS3.5. My server is +a 486dx2-66 Linux box. + +Note that I use the %a and %m macros to load smb.conf extensions +particular to machines and architectures. This gives me a lot of +flexibility in how I handle each of the machines. + diff --git a/examples/tridge/smb.conf b/examples/tridge/smb.conf new file mode 100644 index 0000000000..a2f269f3b7 --- /dev/null +++ b/examples/tridge/smb.conf @@ -0,0 +1,101 @@ +[global] + config file = /usr/local/samba/smb.conf.%m + status = yes + security = user + encrypt passwords = yes + server string = Tridge (%v,%h) + load printers = yes + log level = 1 + log file = /usr/local/samba/var/log.%m + guest account = pcguest + hosts allow = 192.0.2. localhost + password level = 2 + auto services = tridge susan + message command = csh -c '/usr/bin/X11/xedit -display :0 %s;rm %s' & + read prediction = yes + socket options = TCP_NODELAY + valid chars = ö:Ö å:Å ä:Ä + share modes = yes + locking = yes + strict locking = yes + keepalive = 30 + include = /usr/local/samba/lib/smb.conf.%m + include = /usr/local/samba/lib/smb.conf.%a + + +[uniprint] + comment = University Printing + path = /home/susan/print + user = susan + postscript = yes + print ok = yes + print command = xmenu -heading "%s" OK& + +[testprn] + comment = Test printer + path = /tmp + user = susan + print ok = yes + print command = cp %s /tmp/smb.%U.prn + lpq command = cat /tmp/xxyz + +[amd] + comment = amd area + path = /mount + force user = tridge + read only = no + +[homes] + browseable = no + guest ok = no + read only = no + create mask = 0755 + +[printers] + browseable = no + comment = Printer in Printcap + guest ok = no + path = /tmp + read only = no + print ok = yes + +[dos] + browseable = yes + comment = Dos Files + force group = samba + create mode = 0775 + path = /home/tridge/dos + copy = homes + +[msoffice] + browseable = yes + comment = Microsoft Office + force group = samba + create mode = 0775 + path = /data/msoffice + read only = yes + +[root] + comment = Root Dir + copy = dos + path = / + dont descend = /proc ./proc /etc + +[tmp] + comment = tmp files + copy = dos + path = /tmp + read only = no + + +[cdrom] + comment = Tridge's CdRom + path = /mount/cdrom + read only = yes + locking = no + +[data] + comment = Data Partition + path = /data + read only = yes + guest ok = yes diff --git a/examples/tridge/smb.conf.WinNT b/examples/tridge/smb.conf.WinNT new file mode 100644 index 0000000000..f490f830ca --- /dev/null +++ b/examples/tridge/smb.conf.WinNT @@ -0,0 +1,14 @@ +#log level = 4 +#readraw = no +#writeraw = no + + + + + + + + + + + diff --git a/examples/tridge/smb.conf.fjall b/examples/tridge/smb.conf.fjall new file mode 100644 index 0000000000..76f4d0e3ca --- /dev/null +++ b/examples/tridge/smb.conf.fjall @@ -0,0 +1,21 @@ +;log level = 4 +;readraw = no +;writeraw = no +;password level = 4 +;mangled map = (;1 ) +;protocol = lanman1 +;user = susan +;getwd cache = no + + + + + + + + + + + + + diff --git a/examples/tridge/smb.conf.lapland b/examples/tridge/smb.conf.lapland new file mode 100644 index 0000000000..f490f830ca --- /dev/null +++ b/examples/tridge/smb.conf.lapland @@ -0,0 +1,14 @@ +#log level = 4 +#readraw = no +#writeraw = no + + + + + + + + + + + diff --git a/examples/tridge/smb.conf.vittjokk b/examples/tridge/smb.conf.vittjokk new file mode 100644 index 0000000000..919ecd1542 --- /dev/null +++ b/examples/tridge/smb.conf.vittjokk @@ -0,0 +1,14 @@ +;protocol = LANMAN2 +log level = 2 + + + + + + + + + + + + |