Package: ddclient Version: 3.8.2-2 Severity: minor
-- System Information: Debian Release: 8.3 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages ddclient depends on: ii debconf [debconf-2.0] 1.5.56 ii initscripts 2.88dsf-59 ii lsb-base 4.1+Debian13+nmu1 ii perl [perl5] 5.20.2-3+deb8u4 Versions of packages ddclient recommends: ii libio-socket-ssl-perl 2.002-2+deb8u1 ddclient suggests no packages. -- Configuration Files: /etc/init.d/ddclient changed: I added 4 lines, DDCLIENT_USER, DDCLIENT_GROUP, touch, chown PATH=/sbin:/bin:/usr/sbin:/usr/bin NAME="ddclient" DAEMON=/usr/sbin/$NAME PERL=/usr/bin/perl DESC="Dynamic DNS service update utility" test -f $DAEMON || exit 0 run_daemon=false daemon_interval=300 if [ -r /etc/default/ddclient ]; then . /etc/default/ddclient fi PIDFILE=/var/run/$NAME.pid OPTIONS="-daemon $daemon_interval -syslog -pid $PIDFILE" DDCLIENT_USER=ddclient DDCLIENT_GROUP=ddclient .. /lib/init/vars.sh .. /lib/lsb/init-functions do_start() { if [ "$run_daemon" != "true" ]; then return 0 fi # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --test --start --quiet \ --chuid $DDCLIENT_USER \ --pidfile $PIDFILE --exec $PERL --startas $DAEMON \ >/dev/null \ || return 1 touch "$PIDFILE" "/var/cache/ddclient/ddclient.cache" chown $DDCLIENT_USER "$PIDFILE" "/var/cache/ddclient/ddclient.cache" start-stop-daemon --start \ --chuid $DDCLIENT_USER \ --pidfile $PIDFILE --exec $PERL --startas $DAEMON \ -- $OPTIONS \ || return 2 } do_stop() { if [ "$run_daemon" != "true" ]; then return 0 fi # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --retry=TERM/30/KILL/5 \ --chuid $DDCLIENT_USER \ --pidfile $PIDFILE --exec $PERL return "$?" } case "$1" in start) if [ "$run_daemon" != "true" ]; then log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient " log_end_msg 0 exit 0 fi [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) if [ "$run_daemon" != "true" ]; then log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient " log_end_msg 0 exit 0 fi [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) echo -n "Status of $DESC: " if [ ! -r "$PIDFILE" ]; then echo "$NAME is not running." exit 3 fi if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then echo "$NAME is running." exit 0 else echo "$NAME is not running but $PIDFILE exists." exit 1 fi ;; restart|force-reload) if [ $run_daemon != "true" ]; then log_warning_msg "To run ddclient as a daemon, please set run_daemon to 'true' in /etc/default/ddclient " log_end_msg 0 exit 0 fi log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 log_success_msg "Usage: $N {start|stop|restart|force-reload}" exit 1 ;; esac exit 0 -- debconf information excluded Here is the debconf information, with username, password and service name blanked *** The following debconf settings were detected: * ddclient/server: xxx.xxx.de ddclient/blankhostslist: ddclient/daemon_interval: 300 * ddclient/password-mismatch: * ddclient/checkip: false * ddclient/names: xxx.xxx.de * ddclient/service: other * ddclient/interface: ddclient/modifiedconfig: ddclient/hostslist: ddclient/run_dhclient: false * ddclient/username: xxx ddclient/run_ipup: true ddclient/run_daemon: false * ddclient/protocol: dyndns2 * ddclient/fetchhosts: Manually I manually added user and group ddclient to my system, and manually chown ddclient.ddclient /etc/ddclient.conf chown ddclient.ddclient /etc/default/ddclient Now for me it perfectly runs as non root user with /etc/ddclient.conf: # Configuration file for ddclient generated by debconf # # /etc/ddclient.conf daemon=5m server=xxx.xxx.de protocol=dyndns2 use=web login=xxx password='xxx' host=xxx.xxx.de ssl=yes verbose=yes