1*2d543d20SAndroid Build Coastguard Worker#!/bin/bash 2*2d543d20SAndroid Build Coastguard Worker## BEGIN INIT INFO 3*2d543d20SAndroid Build Coastguard Worker# Provides: sandbox 4*2d543d20SAndroid Build Coastguard Worker# Default-Start: 3 4 5 5*2d543d20SAndroid Build Coastguard Worker# Default-Stop: 0 1 2 3 4 6 6*2d543d20SAndroid Build Coastguard Worker# Required-Start: 7*2d543d20SAndroid Build Coastguard Worker# 8*2d543d20SAndroid Build Coastguard Worker## END INIT INFO 9*2d543d20SAndroid Build Coastguard Worker# sandbox: Set up / mountpoint to be shared, /var/tmp, /tmp, /home/sandbox unshared 10*2d543d20SAndroid Build Coastguard Worker# 11*2d543d20SAndroid Build Coastguard Worker# chkconfig: 345 1 99 12*2d543d20SAndroid Build Coastguard Worker# 13*2d543d20SAndroid Build Coastguard Worker# description: sandbox, xguest and other apps that want to use pam_namespace \ 14*2d543d20SAndroid Build Coastguard Worker# require this script be run at boot. This service script does \ 15*2d543d20SAndroid Build Coastguard Worker# not actually run any service but sets up: \ 16*2d543d20SAndroid Build Coastguard Worker# / to be shared by any app that starts a separate namespace 17*2d543d20SAndroid Build Coastguard Worker# If you do not use sandbox, xguest or pam_namespace you can turn \ 18*2d543d20SAndroid Build Coastguard Worker# this service off.\ 19*2d543d20SAndroid Build Coastguard Worker# 20*2d543d20SAndroid Build Coastguard Worker 21*2d543d20SAndroid Build Coastguard Worker# Source function library. 22*2d543d20SAndroid Build Coastguard Worker. /etc/init.d/functions 23*2d543d20SAndroid Build Coastguard Worker 24*2d543d20SAndroid Build Coastguard WorkerLOCKFILE=/var/lock/subsys/sandbox 25*2d543d20SAndroid Build Coastguard Worker 26*2d543d20SAndroid Build Coastguard Workerbase=${0##*/} 27*2d543d20SAndroid Build Coastguard Worker 28*2d543d20SAndroid Build Coastguard Workerstart() { 29*2d543d20SAndroid Build Coastguard Worker echo -n "Starting sandbox" 30*2d543d20SAndroid Build Coastguard Worker 31*2d543d20SAndroid Build Coastguard Worker [ -f "$LOCKFILE" ] && return 0 32*2d543d20SAndroid Build Coastguard Worker 33*2d543d20SAndroid Build Coastguard Worker touch $LOCKFILE 34*2d543d20SAndroid Build Coastguard Worker mount --make-rshared / || return $? 35*2d543d20SAndroid Build Coastguard Worker return 0 36*2d543d20SAndroid Build Coastguard Worker} 37*2d543d20SAndroid Build Coastguard Worker 38*2d543d20SAndroid Build Coastguard Workerstop() { 39*2d543d20SAndroid Build Coastguard Worker echo -n "Stopping sandbox" 40*2d543d20SAndroid Build Coastguard Worker 41*2d543d20SAndroid Build Coastguard Worker [ -f "$LOCKFILE" ] || return 1 42*2d543d20SAndroid Build Coastguard Worker} 43*2d543d20SAndroid Build Coastguard Worker 44*2d543d20SAndroid Build Coastguard Workerstatus() { 45*2d543d20SAndroid Build Coastguard Worker if [ -f "$LOCKFILE" ]; then 46*2d543d20SAndroid Build Coastguard Worker echo "$base is running" 47*2d543d20SAndroid Build Coastguard Worker else 48*2d543d20SAndroid Build Coastguard Worker echo "$base is stopped" 49*2d543d20SAndroid Build Coastguard Worker fi 50*2d543d20SAndroid Build Coastguard Worker exit 0 51*2d543d20SAndroid Build Coastguard Worker} 52*2d543d20SAndroid Build Coastguard Worker 53*2d543d20SAndroid Build Coastguard Workercase "$1" in 54*2d543d20SAndroid Build Coastguard Worker restart) 55*2d543d20SAndroid Build Coastguard Worker start && success || failure 56*2d543d20SAndroid Build Coastguard Worker ;; 57*2d543d20SAndroid Build Coastguard Worker 58*2d543d20SAndroid Build Coastguard Worker start) 59*2d543d20SAndroid Build Coastguard Worker start && success || failure 60*2d543d20SAndroid Build Coastguard Worker echo 61*2d543d20SAndroid Build Coastguard Worker ;; 62*2d543d20SAndroid Build Coastguard Worker 63*2d543d20SAndroid Build Coastguard Worker stop) 64*2d543d20SAndroid Build Coastguard Worker stop && success || failure 65*2d543d20SAndroid Build Coastguard Worker echo 66*2d543d20SAndroid Build Coastguard Worker ;; 67*2d543d20SAndroid Build Coastguard Worker 68*2d543d20SAndroid Build Coastguard Worker status) 69*2d543d20SAndroid Build Coastguard Worker status 70*2d543d20SAndroid Build Coastguard Worker ;; 71*2d543d20SAndroid Build Coastguard Worker 72*2d543d20SAndroid Build Coastguard Worker *) 73*2d543d20SAndroid Build Coastguard Worker echo $"Usage: $0 {start|stop|status|restart}" 74*2d543d20SAndroid Build Coastguard Worker exit 3 75*2d543d20SAndroid Build Coastguard Worker ;; 76*2d543d20SAndroid Build Coastguard Workeresac 77