An easy way to execute commands with sudo from within a capistrano job is to add the prefix #{sudo} to a command within your capistrano task. For example:
task :make_protected_dir, :roles =>db do
run "#{sudo} mkdir /root/mydir"
end
Another example:
task :restart_httpd, :roles =>app do
run "#{sudo} /etc/init.d/httpd restart"
end
Then from the command line, load your file with these entries:
cap -f capfile
Then, execute the commands:
cap make_protected_dir
cap restart_httpd
More info:
https://github.com/capistrano/capistrano/wiki/2.x-DSL-Configuration-Tasks-Task