Ubuntu – Comment exécuter une application en tant qu’un autre utilisateur

J’utilise krusader pour la gestion des fichiers. le problème est que Apache est DocumentRoot devrait être sous chown www-data:www-data /path/to/www . donc en utilisant krusader (qui est exécuté sous mon compte), je n’ai pas accès en écriture à /path/to/www alors que j’ai vraiment besoin. Je ne sais pas comment les autres développeurs peuvent continuer à faire les choses avec une telle restriction!

Je me demandais si je pouvais exécuter krusader comme www-data alors je pourrai jouer facilement avec des fichiers. mais en utilisant su - www-data m’a demandé www-data mot de passe !!

Alors, comment puis-je exécuter une application (comme krusader) en tant qu’un autre utilisateur (comme www-data) dans Gnome?

ou existe-t-il une autre solution pour mon cas? (difficile, je suis vraiment curieux de connaître la réponse!)

gardez à l’esprit que je sais que je peux l’exécutercomme root! mais cela entraînera des problèmes d’autorisation lors de l’utilisation cp et mkdir , tu sais.

PS:
 sudo et gksudo n’a pas aidé:

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

Note finale:
selon la meilleure réponse, je l’ai fait chmod u+w /path/to/www et mon problème résolu. mais je n’ai toujours pas réussi à ouvrir krusader comme un autre utilisateur!

Meilleure réponse

  • En repensant à cette question (j’espère avoir bien compris votre problème, mais corrigez-moi si je me trompe), j’ai trouvé une autre solution et je pense que vous n’avez pas besoin d’exécuter l’application en tant que www-data ni de jouer avec les permissions . Vous avez dit que:

    Le DocumentRoot d’Apache devrait être sous
    chown www-data: www-data / chemin / vers / www

    mais en fait, ce n’est pas tout à fait vrai: Apache DocumentRoot doit être lisible par www-data , mais ne lui appartient pas nécessairement. Par défaut, dans Ubuntu Desktop, tous les fichiers et répertoires que vous créez sont lisibles par tout le monde, vous pouvez donc définir votre DocumentRoot dans un répertoire à l’intérieur de votre dossier personnel, par exemple:

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