Strona 1 z 1

Uruchomienie demona pyload jako inny użytkownik

: 02 lutego 2012, 17:33
autor: d4n
Witam.
M
am problem z automatycznym uruchomieniem programu pyload. Dokładniej chodzi o to, że nie chcę go uruchamiać z uprawnieniami root tylko innego użytkownika, którego stworzyłem w do tego celu (dodam, że z powłoką bin/false).
Jak uruchamiam z prawami roota wszystko działa, kiedy zmieniam użytkownika na docelowego, niestety nie chce się uruchomić.

Kod: Zaznacz cały

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          pyload
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop pyload.
### END INIT INFO


NAME=pyload
DAEMON=/usr/bin/pyLoadCore
USER=root
STOP_TIMEOUT=3
PIDFILE=/var/run/$NAME.pid


export PATH="${PATH:+$PATH:}/sbin"


[ -x $DAEMON ] || exit 0


[ -e /etc/default/$NAME ] && . /etc/default/$NAME


. /lib/lsb/init-functions


start_daemon () {
    start-stop-daemon --start --pidfile $PIDFILE --chuid $USER --exec $DAEMON -- $OPTIONS | cut -d" " -f 3 > $PIDFILE
}


stop_daemon () {
    start-stop-daemon --stop --retry="TERM/30/KILL/5" --pidfile "$PIDFILE" --user "$USER" --chuid "$USER"
}


case "$1" in
    start)
        log_daemon_msg "Starting pyLoadCore" "$NAME"
        start_daemon
        log_end_msg 0
        ;;
    stop)
        log_daemon_msg "Stopping pyLoadCore" "$NAME"
        stop_daemon
        log_end_msg 0
        ;;
    restart)
        log_daemon_msg "Restarting pyLoadCore" "$NAME"
        stop_daemon
        start_daemon
        log_end_msg 0
        ;;
    *)
        echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
        exit 2
        ;;
esac


exit 0

: 02 lutego 2012, 20:57
autor: Yampress
Spróbuj zmienić:

Kod: Zaznacz cały

USER=root


na użytkownika jakiego chcesz.

: 02 lutego 2012, 21:40
autor: d4n
Aż tak źle ze mną nie jest, zmieniałem to, niestety się nie uruchamia.

: 02 lutego 2012, 21:49
autor: Yampress
Zmień z powrotem powłokę tego użytkownika na inną niż ustawienie opcji ,,false''.
Jak możesz jakiś program uruchamiać skoro użytkownik nie ma dostępu powłoki. Tu bym na to stawiał. Przecież skrypt specjalnie zrobiony aby inny użytkownik mógł uruchamiać.

: 03 lutego 2012, 14:41
autor: d4n
Powłokę zmieniłem na /bin/bash też się nie uruchamia prawa ustawiłem na 755 dla samego skryptu, zmieniłem też grupę katalogu /usr/share/pyload i pozostałych w nim plików na grupę użytkownika. Też nie chce się uruchomić.

Yampress, a nie jest to wina perla, może mój użytkownik nie ma jakiś praw żeby uruchamiać.