Uruchomienie demona pyload jako inny użytkownik

Konfiguracja serwerów, usług, itp.
d4n
Posty: 3
Rejestracja: 02 lutego 2012, 16:22

Uruchomienie demona pyload jako inny użytkownik

Post 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
Awatar użytkownika
Yampress
Administrator
Posty: 6422
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

Spróbuj zmienić:

Kod: Zaznacz cały

USER=root


na użytkownika jakiego chcesz.
d4n
Posty: 3
Rejestracja: 02 lutego 2012, 16:22

Post autor: d4n »

Aż tak źle ze mną nie jest, zmieniałem to, niestety się nie uruchamia.
Awatar użytkownika
Yampress
Administrator
Posty: 6422
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post 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ć.
d4n
Posty: 3
Rejestracja: 02 lutego 2012, 16:22

Post 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ć.
ODPOWIEDZ