मेरे पास एक डेमॉन को किक करने के लिए एक init स्क्रिप्ट है। समस्या यह है कि यह जड़ के रूप में चलता है। मैं इसे "परिनियोजित" नामक उपयोगकर्ता के रूप में चलाना चाहूंगा। उबुन्टु 12.04
#! /bin/sh
# File: /etc/init.d/unicorn
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the unicorn web server
# Description: starts unicorn
### END INIT INFO
DAEMON=/usr/local/bin/unicorn_rails
DAEMON_OPTS="-c /var/www/current/config/unicorn.rb -D"
NAME=unicorn
DESC="Unicorn"
PID=/var/www/current/shared/pid/unicorn.pid
case "$1" in
start)
echo -n "Starting $DESC: "
$DAEMON $DAEMON_OPTS
echo "$NAME."
;;
*)
echo "Usage: $NAME {start|stop|restart|reload}" >&2
exit 1
;;
esac
exit 0
जब आप परीक्षण कर रहे हैं तो "सेवा" कमांड का उपयोग करके बहरीन को लॉन्च करने से सावधान रहें क्योंकि च्यूइड विकल्प का कोई प्रभाव नहीं होगा और प्रक्रिया रूट के रूप में चलेगी।
—
पस्कल
क्या सभी लिपियों init.d को कर्नेल के बाद कहा जाता है जो पहले से ही सिस्टम में उपयोगकर्ताओं को जानता है?
—
रंस
$DAEMON $DAEMON_OPTS
su - deploy -c "$DAEMON $DAEMON_OPTS"