diff options
author | Denys Vlasenko | 2009-11-08 00:55:39 +0100 |
---|---|---|
committer | Denys Vlasenko | 2009-11-08 00:55:39 +0100 |
commit | f5c2f72917e5f75634665f67a6105e1e82ece875 (patch) | |
tree | e1c6a85ae214ad33d4bf38e03f0a3548ad1525f6 /examples/var_service/inetd | |
parent | 44f8d013994c20a53836a8768bd488130c7df9bc (diff) | |
download | busybox-f5c2f72917e5f75634665f67a6105e1e82ece875.zip busybox-f5c2f72917e5f75634665f67a6105e1e82ece875.tar.gz |
add more service examples
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'examples/var_service/inetd')
-rw-r--r-- | examples/var_service/inetd/inetd.conf | 18 | ||||
-rwxr-xr-x | examples/var_service/inetd/log/run | 21 | ||||
-rwxr-xr-x | examples/var_service/inetd/p_log | 4 | ||||
-rwxr-xr-x | examples/var_service/inetd/run | 17 | ||||
-rwxr-xr-x | examples/var_service/inetd/w_log | 4 |
5 files changed, 64 insertions, 0 deletions
diff --git a/examples/var_service/inetd/inetd.conf b/examples/var_service/inetd/inetd.conf new file mode 100644 index 0000000..c5f151b --- /dev/null +++ b/examples/var_service/inetd/inetd.conf @@ -0,0 +1,18 @@ +# [ADDR:]service_name must be in /etc/services, or port number +# socket_type stream/dgram/raw/rdm/seqpacket +# protocol tcp/udp +# wait/nowait[.max] wait is usually for udp, nowait for tcp +# max: max copies to run +# user[.group] or user[:group] user and group to run under +# binary program to run +# arg0 arg1 arg2... arguments, INCLUDING program name (arg0) + +# serv socket pro w/nw user binary args + +# IPv6 +555 dgram udp6 wait root echo echo Hello IPv6 udp world +# ...with ADDR prefix: +::1:444 stream tcp6 nowait root echo echo Hello IPv6 localhost + +# Rarely seen case: tcp *wait* service +telnet stream tcp wait root telnetd telnetd -w10 diff --git a/examples/var_service/inetd/log/run b/examples/var_service/inetd/log/run new file mode 100755 index 0000000..560d1b1 --- /dev/null +++ b/examples/var_service/inetd/log/run @@ -0,0 +1,21 @@ +#!/bin/sh + +user=logger + +logdir="/var/log/service/`(cd ..;basename $PWD)`" +mkdir -p "$logdir" 2>/dev/null +chown -R "$user": "$logdir" +chmod -R go-rwxst,u+rwX "$logdir" +rm logdir +ln -s "$logdir" logdir + +# make this dir accessible to logger +chmod a+rX . + +exec >/dev/null +exec 2>&1 +exec \ +env - PATH="$PATH" \ +softlimit \ +setuidgid "$user" \ +svlogd -tt "$logdir" diff --git a/examples/var_service/inetd/p_log b/examples/var_service/inetd/p_log new file mode 100755 index 0000000..a2521be --- /dev/null +++ b/examples/var_service/inetd/p_log @@ -0,0 +1,4 @@ +#!/bin/sh + +cd log/logdir || exit 1 +cat @* current | $PAGER diff --git a/examples/var_service/inetd/run b/examples/var_service/inetd/run new file mode 100755 index 0000000..910c1b3 --- /dev/null +++ b/examples/var_service/inetd/run @@ -0,0 +1,17 @@ +#!/bin/sh + +#exec >/dev/null +exec 2>&1 +exec </dev/null + +echo "* Starting inetd [$$]" +exec \ +env - PATH="$PATH" \ +softlimit \ +inetd -f -e "$PWD/inetd.conf" + +# inetd [-f] [-q len] [conf] +# -f Run in foreground +# -e Log to stderr (default is syslog) +# -q N Set the size of the socket listen queue to N +# (default: 128) diff --git a/examples/var_service/inetd/w_log b/examples/var_service/inetd/w_log new file mode 100755 index 0000000..34b19b3 --- /dev/null +++ b/examples/var_service/inetd/w_log @@ -0,0 +1,4 @@ +#!/bin/sh + +cd log/logdir || exit 1 +watch -n2 'w=`ttysize w`; h=`ttysize h`; tail -$((h-3)) current 2>&1 | cut -b0-$((w-2))' |