Je suis un utilisateur root et je suppose que je veux exécuter n'importe quelle application en tant qu'autre utilisateur. Est-ce possible sans passer à un autre utilisateur?
Quelque chose comme
# google-chrome user=abc
J'exécute en fait un programme CLI en tant qu'utilisateur non root. J'ai activé le bit collant et j'utilise setuid, donc le programme s'exécute avec les privilèges root. Maintenant, j'utilise system()
dans le programme pour appeler une application GUI. Mais je ne veux pas l'exécuter en tant que root, donc je veux supprimer temporairement les privilèges root uniquement pour cet appel.
Réponses:
Une solution portable serait:
Cependant, comme google-chrome nécessite un accès X11, cela échouera probablement à moins que vous ne le sécurisiez, ce qui serait une très mauvaise idée, surtout lors de l'exécution en tant que root.
Si le réglage / transfert X11 est autorisé, une meilleure façon serait
ou
la source
su abc -c google-chrome
échouera probablement en premier lieu carabc
ne peut pas utiliser la session root,.Xauthority
étant illisible pourabc
.Réponse courte: "Oui, c'est possible".
si vous souhaitez exécuter une application non X, utilisez simplement la commande suivante:
Si vous aimez exécuter une application X en tant qu'autre utilisateur, mais avec votre propre bureau, vous devez d'abord créer un script d'aide, cela vous simplifiera la vie
et en utilisant votre éditeur de texte préféré, créez un fichier
~/bin/xsudo
comme suit:puis rendez-le exécutable:
et utilisez-le de la même manière que
sudo
sans commutateur:Prendre plaisir.
PS Il est fortement déconseillé de
xsession
partir duroot
compte!la source
ssh -X abc@localhost google-chrome
:)Il existe un moyen d'exécuter chrome lorsque vous êtes connecté à l'utilisateur root. Si vous l'ouvrez normalement, il vous donnera une erreur comme "le chrome ne peut pas être exécuté en tant que root".
Pour l' exécuter sans l'erreur, right clickvotre bureau, créez un nouveau lanceur avec la commande:
chromium-browser --user-data-dir
. Vous pouvez le nommer comme vous le souhaitez, l'enregistrer, lorsque vous l'ouvrirez, il vous donnera le navigateur chrome. (Fonctionne dans Ubuntu 10.04.4 LTS)la source
la source