J'ai un groupe d'ordinateurs de bureau Ubuntu Trusty dans mon bureau et, généralement, je leur envoie dessus et j'installe les mises à jour à distance à partir de la ligne de commande. Malheureusement, il arrive que des utilisateurs locaux décident d’arrêter ces ordinateurs, interrompant ainsi le processus de mise à jour.
J'aimerais empêcher ces utilisateurs d'arrêter, de redémarrer ou de suspendre leurs ordinateurs lorsqu'une session SSH est active. Comment puis-je le faire?
J'ai essayé molly-guard
, mais cela n'empêche pas les utilisateurs de l'interface graphique de fermer le système (cela ne semble pas affecter les utilisateurs de l'interface graphique).
J'ai aussi vu cette question, mais je ne comprenais pas si cela s'applique aussi à Ubuntu 14.04 LTS ou non (et je ne sais pas comment l'appliquer):
désactive l’arrêt/la suspension si un autre utilisateur est connecté via ssh
Cela pourrait être fait en utilisant une politique PolKit, si vous avez les privilèges d'administrateur.
Créez un fichier .pkla
dans /etc/polkit-1/localauthority/50-local.d
(dites disable-shutdown.pkla
), contenant:
[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
La partie -multiple-sessions
est destinée à la connexion de plusieurs utilisateurs - il existe des actions similaires sans ce suffixe. Cela désactive ces actions de l'interface graphique, pour autant que je sache.
Notez que cette méthode ne bloque que les commandes de redémarrage, etc., issues de l'interface graphique. Pour bloquer les commandes de redémarrage, etc., en ligne de commande, on peut utiliser molly-guard - comme expliqué dans Désactivation de la commande d'arrêt pour tous les utilisateurs, même les conséquences fondamentales?