init.d is used to store program initiation files (so that when you type "samba start" or "samba stop", it knows what to do). Just below the directory init.d (in rc.d) should be a few more directories, rc0.d, rc1.d, rc2.d, etc. These directories represent the different run levels (ie. rc3.d initiates when you switch to run level 3) and contain symbolic links to the files in init.d.
If you look inside the run level directories you'll see links in the format:
These links tell linux to either kill (K) or start (S) a service. The 2-digit number tells it in what order to execute each command (ie. K24 will be executed before K36 or S57). So, if you want samba to run when linux starts, you'll need to put a symbolic link to it in run level 3:
ln -sf /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S99smb
and to stop it when linux shuts down, put a link in run level 0:
ln -sf /etc/rc.d/init.d/samba /etc/rc.d/rc0.d/K00smb