Ubuntu – How to run an Application as another user

gnomepermissionssudo

I use krusader for file management stuff. the problem is that apache's DocumentRoot should be under chown www-data:www-data /path/to/www. so using krusader (which is run under my account) I've not write access to /path/to/www while I really need. I don't know how other developers can continue doing things with such a restriction!

I wondered if I could run krusader as www-data then I will be able to easily play with files. but using su - www-data asked me for www-data's password!!

So, how can I run an application (like krusader) as another user (like www-data) in Gnome?

or is there any other solution for my case? (tough I'm really curious to know the answer!)

keep in mind that I know I can run it as root! but this will cause some permission problems when using cp and mkdir, you know.

PS:
sudo and gksudo did not help:

$ gksudo -u -www-data krusader
No protocol specified
krusader: cannot connect to X server :0.0

Final Note:
according the best answer, i did chmod u+w /path/to/www and my problem solved. but i still has not been succeeded in opening krusader as another user!

Best Answer

Rethinking about this question (I hope to have understood your problem right, but correct me if I'm wrong), I found an another solution and I think you don't need to run the application as www-data nor to play with permissions. You said that:

Apache's DocumentRoot should be under chown www-data:www-data /path/to/www

but actually, this isn't fully true: Apache's DocumentRoot must be readable by www-data, but not necessarily owned by it. By default, in Ubuntu Desktop, all files and directories you create are readable by everybody, so you can set your DocumentRoot to a directory inside your home folder, for example:

DocumentRoot /home/user/my-project/my-document-root
Related Question