If you don't already have it create /etc/rc.d/rc.local with #!/bin/sh as first line and you could put the path to the script and name of the script along with any command line arguments on a single line in /etc/rc.d/rc.local then make rc.local executable chmod 755 /etc/rc.d/rc.local and that way you don't have to mess with the way debian starts scripts in /etc/init.d. If the rc.d directory isn't yet there you can create it with mkdir /etc/rc.d. Installing certain packages from the debian repositories will get you an rc.local file too. To run an executable as a certain user, that user will have to log in. In that case in the user's home directory edit .bashrc and put the scripts you want to run inside of that file. Binaries on the system if they're to be held separate from the upgrade process can be put into /usr/local/bin and then run from that directory. The /usr/local/src directory is where you can unpack source code to build packages and keep it out of the root directory.