xref: /netbsd-src/external/ibm-public/postfix/dist/examples/chroot-setup/Solaris8 (revision 41fbaed053f8fbfdf9d2a4ee0a7386a3c83f8505)
1*41fbaed0Stron#!/bin/sh
2*41fbaed0Stron
3*41fbaed0Stron# Solaris 8 version by Matthew X. Economou. Caution: this copies
4*41fbaed0Stron# too many files. There is no need to copy libc.so and other files
5*41fbaed0Stron# that are already linked in before a Postfix daemon chroots itself.
6*41fbaed0Stron
7*41fbaed0StronCOMMAND_DIRECTORY="/usr/sbin"
8*41fbaed0StronDAEMON_DIRECTORY="/usr/libexec/postfix"
9*41fbaed0StronQUEUE_DIRECTORY="/var/spool/postfix"
10*41fbaed0Stron
11*41fbaed0Stron## Copy any shared libraries, device entries, or configuration files
12*41fbaed0Stron## needed by Postfix into the jail.
13*41fbaed0Stronbinlist="
14*41fbaed0Stron$DAEMON_DIRECTORY/virtual
15*41fbaed0Stron$DAEMON_DIRECTORY/trivial-rewrite
16*41fbaed0Stron$DAEMON_DIRECTORY/spawn
17*41fbaed0Stron$DAEMON_DIRECTORY/smtpd
18*41fbaed0Stron$DAEMON_DIRECTORY/smtp
19*41fbaed0Stron$DAEMON_DIRECTORY/showq
20*41fbaed0Stron$DAEMON_DIRECTORY/qmqpd
21*41fbaed0Stron$DAEMON_DIRECTORY/qmgr
22*41fbaed0Stron$DAEMON_DIRECTORY/proxymap
23*41fbaed0Stron$DAEMON_DIRECTORY/pipe
24*41fbaed0Stron$DAEMON_DIRECTORY/pickup
25*41fbaed0Stron$DAEMON_DIRECTORY/nqmgr
26*41fbaed0Stron$DAEMON_DIRECTORY/master
27*41fbaed0Stron$DAEMON_DIRECTORY/local
28*41fbaed0Stron$DAEMON_DIRECTORY/lmtp
29*41fbaed0Stron$DAEMON_DIRECTORY/flush
30*41fbaed0Stron$DAEMON_DIRECTORY/error
31*41fbaed0Stron$DAEMON_DIRECTORY/cleanup
32*41fbaed0Stron$DAEMON_DIRECTORY/bounce
33*41fbaed0Stron/usr/lib/sendmail
34*41fbaed0Stron$COMMAND_DIRECTORY/postsuper
35*41fbaed0Stron$COMMAND_DIRECTORY/postqueue
36*41fbaed0Stron$COMMAND_DIRECTORY/postmap
37*41fbaed0Stron$COMMAND_DIRECTORY/postlog
38*41fbaed0Stron$COMMAND_DIRECTORY/postlock
39*41fbaed0Stron$COMMAND_DIRECTORY/postkick
40*41fbaed0Stron$COMMAND_DIRECTORY/postfix
41*41fbaed0Stron$COMMAND_DIRECTORY/postdrop
42*41fbaed0Stron$COMMAND_DIRECTORY/postconf
43*41fbaed0Stron$COMMAND_DIRECTORY/postcat
44*41fbaed0Stron$COMMAND_DIRECTORY/postalias
45*41fbaed0Stron"
46*41fbaed0Stronldd $binlist | awk '/[=]>/ { print $3 }' | sort -u | while read i
47*41fbaed0Strondo
48*41fbaed0Stron    mkdir -p $QUEUE_DIRECTORY`dirname $i`
49*41fbaed0Stron    ## Sun's version of tar sucks.  We'll have to remove the leading
50*41fbaed0Stron    ## slashes from file names ourself, otherwise the copy doesn't
51*41fbaed0Stron    ## work.
52*41fbaed0Stron    (cd / && tar cphf - `echo $i | sed -e 's/^\///'`) | (cd $QUEUE_DIRECTORY && tar xpf -)
53*41fbaed0Strondone
54*41fbaed0Stron
55*41fbaed0Stron## More stuff for the jail, mostly discovered by inspection
56*41fbaed0Stron## (e.g. strings, lsof).
57*41fbaed0Stronmore="
58*41fbaed0Stron/dev/zero
59*41fbaed0Stron/dev/null
60*41fbaed0Stron/dev/udp6
61*41fbaed0Stron/dev/tcp6
62*41fbaed0Stron/dev/udp
63*41fbaed0Stron/dev/tcp
64*41fbaed0Stron/dev/poll
65*41fbaed0Stron/dev/rawip
66*41fbaed0Stron/dev/ticlts
67*41fbaed0Stron/dev/ticotsord
68*41fbaed0Stron/dev/ticots
69*41fbaed0Stron/devices/pseudo/mm@0:zero
70*41fbaed0Stron/devices/pseudo/mm@0:null
71*41fbaed0Stron/devices/pseudo/udp6@0:udp6
72*41fbaed0Stron/devices/pseudo/tcp6@0:tcp6
73*41fbaed0Stron/devices/pseudo/udp@0:udp
74*41fbaed0Stron/devices/pseudo/tcp@0:tcp
75*41fbaed0Stron/devices/pseudo/poll@0:poll
76*41fbaed0Stron/devices/pseudo/icmp@0:icmp
77*41fbaed0Stron/devices/pseudo/tl@0:ticlts
78*41fbaed0Stron/devices/pseudo/tl@0:ticotsord
79*41fbaed0Stron/devices/pseudo/tl@0:ticots
80*41fbaed0Stron/etc/nsswitch.conf
81*41fbaed0Stron/etc/netconfig
82*41fbaed0Stron/etc/default/init
83*41fbaed0Stron/etc/inet/services
84*41fbaed0Stron/etc/resolv.conf
85*41fbaed0Stron/etc/services
86*41fbaed0Stron/usr/lib/ld.so
87*41fbaed0Stron/usr/lib/ld.so.1
88*41fbaed0Stron/usr/lib/sparcv9/straddr.so
89*41fbaed0Stron/usr/lib/straddr.so
90*41fbaed0Stron/usr/lib/libintl.so
91*41fbaed0Stron/usr/lib/libintl.so.1
92*41fbaed0Stron/usr/lib/libw.so
93*41fbaed0Stron/usr/lib/libw.so.1
94*41fbaed0Stron/usr/lib/nss_nis.so.1
95*41fbaed0Stron/usr/lib/nss_nisplus.so.1
96*41fbaed0Stron/usr/lib/nss_dns.so.1
97*41fbaed0Stron/usr/lib/nss_files.so.1
98*41fbaed0Stron/usr/share/lib/zoneinfo
99*41fbaed0Stron/var/ld/ld.config
100*41fbaed0Stron"
101*41fbaed0Stronfor i in $more; do
102*41fbaed0Stron    mkdir -p $QUEUE_DIRECTORY`dirname $i`
103*41fbaed0Stron    (cd / && tar cpf - `echo $i | sed -e 's/^\///'`) | (cd $QUEUE_DIRECTORY && tar xpf -)
104*41fbaed0Strondone
105*41fbaed0Stron
106*41fbaed0Stronexit 0
107