83 votes

Comment désactiver les commandes effrayantes du terminal ?

Comment désactiver les commandes effrayantes du terminal ?

J'utilisais SSH pour accéder à un serveur Ubuntu distant sans avoir accès au serveur physique. Je pensais que je devais taper ' shutdown dans le serveur NoSQL fonctionnant sur le système d'exploitation Ubuntu, mais en fait j'ai demandé au serveur Ubuntu de s'arrêter. J'ai ensuite dû dire à l'administrateur du serveur ce que j'avais fait pour qu'il puisse démarrer le serveur physique pour moi. C'était embarrassant !

Comment puis-je éviter que cela ne se reproduise ?

1voto

tallus Points 111

Le fichier Sudoers permet un niveau de granularité beaucoup plus fin que simplement * 'est autorisé à utiliser sudo'*, en particulier vous pouvez utiliser des alias de commande pour créer des listes blanches de groupes de commandes auxquelles un utilisateur ou un groupe particulier est limité. J'ai travaillé avec des serveurs distants dont l'accès était limité à ssh et qui autorisaient sudo sans mot de passe (nous avions besoin de clés ssh protégées par mot de passe). Nous avons donc utilisé des alias de commande pour permettre un accès illimité aux choses qu'ils doivent faire (redémarrage des serveurs, etc.) sans leur accorder de privilèges pour les choses qu'ils ne doivent pas faire.

Il existe également une syntaxe pour dire Impossible d'exécuter cette commande . Il peut être contourné et ne doit donc pas être utilisé comme une véritable mesure de sécurité, mais il fonctionnerait pour le scénario que vous avez décrit.

Man sudoers a quelques bons exemples sur la façon de configurer tout cela.

Bien sûr, cela nécessite l'utilisation de sudo, mais cela devrait aller de soi.

1voto

Kaz Points 2554

Vous avez peut-être été victime d'une nouvelle stupidité d'Ubuntu.

Ubuntu avait l'habitude d'avoir la version normale, classique shutdown qui prend un argument temporel obligatoire.

Voici ce qui se passe sur Ubuntu 12 si je tape shutdown même en tant qu'utilisateur régulier :

$ shutdown
shutdown: time expected
Try `shutdown --help' for more information.

Puis

$ shutdown +100
shutdown: need to be root.

Maintenant, voici Ubuntu 16.10. Je ne suis pas root :

$ date ; /sbin/shutdown
Fri Jun 23 16:00:16 PDT 2017
Shutdown scheduled for Fri 2017-06-23 16:01:16 PDT, use 'shutdown -c' to   cancel.

Sans arguments, il planifie un arrêt pour 60 secondes plus tard, et même si vous n'êtes pas root - juste un compte créé avec des privilèges d'administrateur.

C'est la faute de Canonical.

0voto

allo Points 830

Pour la fermeture, il y a le molly-guard. Il suffit de l'installer et lorsque vous essayez de vous arrêter via ssh, il vous demande de saisir le nom d'hôte.

Pour la suppression de fichiers, il existe des solutions comme libtrash, qui émule une corbeille via un fichier de type LD_PRELOAD bibliothèque.

Et vous pouvez tester les fichiers que vous modifiez/supprimez/... avec la fonction peut-être programme. C'est plutôt cool quand on teste quelque chose.

-2voto

Almeister9 Points 11

Essayez ceci : lorsque vous êtes sur un Shell distant, chaque fois que vous êtes sur le point de taper la touche "retour", arrêtez-vous pendant 5 secondes, avec votre doigt posé sur la touche "retour", et relisez la commande que vous êtes sur le point d'envoyer. Est-ce que c'est correct ? Etes-vous sûr ?

Cela semble dur, mais, d'un autre côté, nous ne devrions pas passer beaucoup de temps sur des coquilles éloignées. Nous devrions trouver tous les moyens d'automatiser nos travaux de maintenance afin de ne devoir que rarement, voire jamais, nous connecter à un serveur distant.

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