J'ai un appareil de type Raspi dans un centre de données et j'ai récemment accidentellement touché du doigt et collé une commande d'arrêt dans le mauvais terminal sur mon écran. Existe-t-il un moyen de conserver shutdown -r
mais de supprimer des #poweroff
#shutdown -P -H
options?
Je veux garder le shutdown -r
commandement. J'aime mettre une minuterie dessus si je réussis à geler le système, ou à me verrouiller avec les règles de la table ip. Exempleshutdown -r +10
la source
systemctl
sans arguments. Il répertorie toutes les unités actives, leur statut et leurs descriptions. Ajoutez--all
et il listera également les unités qui ne sont pas actives.man systemd.special
.Il existe plusieurs moyens d'y parvenir. L'un travaillerait avec un compte régulier non privilégié qui nécessitera l'exécution de la commande avec sudo et la saisie d'un mot de passe. Ensuite, vous pouvez ajouter le suivi à / etc / sudoers (en exécutant visudo):
De plus, pour désactiver la mise en cache des informations d'identification sudo, ajoutez également les éléments suivants:
Cela empêchera la mise en cache des informations d'identification au cas où vous auriez invoqué une commande avec sudo auparavant.
Exemple:
Remarquez que dans l'exemple ci-dessus, je n'étais pas obligé d'entrer mon mot de passe lors de l'exécution
sudo shutdown -r +10
, mais pour le reste, j'étais. Si vous souhaitez supprimer la nécessité de taper sudo avant la commande (sudo shutdown -r +10
), ajoutez ce qui suit à votre .bash_profile ou .bashrc:Exemple:
Notez qu'il est recommandé de travailler avec un compte non privilégié et de remonter avec sudo si nécessaire.
la source
sudo
la configuration par défaut de lui aura des informations d'identification de cache pendant un certain temps après la première invocation. Cela peut être pratique lorsque l'exécution répétée de commandesroot
est requise dans une session utilisateur. Dans une telle session, (ou en effet, si unroot
shell est en cours d'exécution), il serait tout à fait possible de traiter la commandeshutdown
et de contourner les vérifications.shutdown -r
pour ne pas demander de mot de passe lors de l'exécution avec sudo, par conséquent, s'il exécutesudo shutdown -r ...
les informations d'identification ne seront pas mises en cache car elles ne seront pas entrées. Regardez l'exemple que j'ai donné ci-dessus, vous pouvez voir que je l'ai exécuté suivi d'unsudo shutdown -H
et on m'a demandé un mot de passe.sudo
et n'était pas uneNOPASSWD
opération; par exemple un appel pour éditer un fichier de configuration en tant que root. Dans ce cas, le mot de passe sera mis en cache et un appel ultérieur àsudo shutdown -H
passerait.sudo
La mise en cache du mot de passe devrait être désactivée pour éviter cela.sudo
cela que nous tapons simplement le mot de passe et continuons. Voir ici pour une approche alternative utilisant sudo (c'est probablement beaucoup mieux malgré le fait qu'il ne soit pas très bon).Il existe un outil appelé molly-guard qui vous oblige à indiquer le nom d'hôte de la machine que vous souhaitez arrêter ou redémarrer.
Dans le cas où vous n'utilisez pas Debian, il devrait être trivial de le compiler depuis la source, étant donné que le programme est plutôt primitif.
la source
Pour éviter les incidents, les distributions basées sur RHEL ont déjà configuré des alias
rm
,cp
etmv
qui peuvent être un peu plus destructeurs lorsqu'ils sont effectués par l'utilisateur root.Vous pouvez ajouter le vôtre, par exemple:
la source
shutdown -r
désactivationshutdown -P -H
?Renommez l'exécutable d'arrêt en quelque chose d'impossible à invoquer accidentellement.
Puis alias
shutdown
pour être(whatever) -r
la source
shutdown
pour/sbin/shutdown -r
. Le changement de nom n'est pas nécessaire; comme l'expansion d'alias fait référence à un chemin absolu, elle n'est pas soumise à une expansion d'alias récursive.