To be short, I intentionally don't mention (many) things you "should" or "shouldn't", just focus on the syntax error.
- for user do: for in this context must be in the format of for loop_variable in list; do (although I can't see what you would wish to have a loop for here)
- for pass in pass do: just as in the previous line, the semicolon is missing (or, if you don't like semicolons, you can write do in the next line (but I can't see reasons of a loop here either)
One thing I must mention in addition: -o /root/Desktop would mean "put the output into a file called /root/Desktop". I guess you already have a directory with this name, so you must give the file something different..