1 votes

sudo -H -u <username> ne fonctionne pas comme prévu

Je travaille sur un script pour définir certains paramètres particuliers. Si le script est exécuté en tant qu'utilisateur, il fonctionne comme prévu. Mais, pour une raison quelconque, j'ai besoin que mon script fonctionne avec sudo.

Une solution que j'ai trouvée est d'utiliser sudo -u <username> -H ./script pour l'exécuter en espace utilisateur. Il est exécuté sans aucune erreur, mais mes modifications ne sont pas prises en compte dans l'espace utilisateur.

Je n'arrive pas à comprendre ce que je rate ici. Lorsque j'exécute sudo -u <currentUser> -H bach -c `echo " $USER $UID"` il fonctionne comme prévu et donne des valeurs à l'utilisateur.

Quel pourrait être le problème ici ?

Merci d'avance !

1voto

UnKNOWn Points 19980

La raison est que vous n'utilisez pas dbus-launch devant la commande gsettings.

voir man dbus-launch

si vous exécutez sudo -Hu user gsettings set org.gnome.desktop.background picture-uri '' vous obtiendrez une erreur

administrator@pratap:~/Music$ sudo -Hu user gsettings set org.gnome.desktop.background picture-uri ''

(process:11889): dconf-WARNING **: 18:54:53.409: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=454398a8b6e94accb53d9b7e5361faaa --binary-syntax --close-stderr”: Child process exited with code 1
administrator@pratap:~/Music$

enter image description here

enter image description here

enter image description here

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X