Это работает для меня:
cat > /etc/init.d/my-start-script <<EOL
#! /bin/bash
### BEGIN INIT INFO
# Provides: my-start-script
# Required-Start: \$local_fs \$syslog
# Required-Stop: \$local_fs \$syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts my-start-script
# Description: starts my-start-script using start-stop-daemon
### END INIT INFO
# put your script here
exit 0
EOL
chmod 755 /etc/init.d/my-start-script
update-rc.d my-start-script defaults
Ваш скрипт должен запускаться после каждой перезагрузки. Комментарии после /bin/bash
необходимы дляupdate-rc.d
Мне кажется, у вас синтаксическая ошибка:
% Используется для групп, вы написали %ynonrootusername , поэтому вы должны быть частью группы ynonrootusername .
Также, если вы хотите разрешить только имя пользователя без полномочий root, просто введите:
nonrootuasername ALL=(ALL) NOPASSWD: /opt/xyz/bin/run_cmd -stop
Возможно, вы неправильно написали %y символов &y не rootusername