3 votes

S'enraciner ou ne pas s'enraciner ?

Veuillez consulter le sujet (quelque peu) connexe aquí .

Mes tâches quotidiennes sur une machine linux requièrent l'accès au super-utilisateur puisque je dois (re)démarrer des services, surveiller le système, (dé)installer des choses, etc.

Il y a quelque temps, j'ai été insulté/ridiculisé dans une session IRC (comme il fallait s'y attendre), parce que j'étais connecté en tant que root pour installer ruby.

Apparemment, il est normal* d'installer des services en étant root, mais pas les services de fonctionner à partir d'un compte root. Cela est compréhensible - vous ne voulez pas que les violations d'accès dans, disons, apache, permettent les privilèges de root.

*qui contredit les personnes géniales sur IRC......go figure.

La question principale, je suppose, est de savoir pourquoi les instructions d'installation de nombreux services (dernièrement, je l'ai vu sur nodejs, ruby et cloud9ide), supposent que vous n'êtes pas root lorsque vous les installez ?

Par exemple, la semaine dernière, j'ai installé cloud9ide mais je n'ai pas pu le faire fonctionner car il m'était spécifiquement interdit de l'exécuter en tant que root. Pourtant, personne ne mentionne nulle part ce problème. J'ai résolu ce problème en exécutant :

su -s /bin/sh apache -c "node /var/www/cloud9/server.js -l 192.168.1.117 -p 3131 -w /var/www/html"

5voto

Aaron Copley Points 12225

En plus des raisons déjà mentionnées ;

Dans un environnement suffisamment important pour avoir plusieurs administrateurs système pour un seul hôte ou groupe d'hôtes, sudo permet une responsabilité que le partage du compte root ne permet pas.

3voto

jammus Points 1796

Comme vous l'avez compris, certaines choses nécessitent des privilèges root. Lorsque vous en avez besoin, vous devez les utiliser.

Il est parfaitement possible d'utiliser root lorsque vous savez ce que les commandes que vous exécutez vont faire, et qu'elles n'auront pas d'effets secondaires inattendus.

Télécharger un logiciel sur Internet et le compiler est potentiellement dangereux. Il peut être bogué, ou contenir des commandes intentionnellement dangereuses. Un makefile peut contenir un rm -rf par exemple. Ou peut-être qu'une autre partie du script de la compilation comporte un bogue inconnu qui anéantirait votre système. Ce même raisonnement peut également être utilisé pour vous encourager à ne pas compiler des logiciels non testés sur des systèmes de production. Vous devriez construire et tester des paquets dans un environnement de test où cela n'a pas vraiment d'importance.

Vous pourriez suivre une liste de contrôle simple lorsque vous exercez vos privilèges de racine. Si vous ne pouvez pas répondre oui à trois de ces éléments, vous ne devriez probablement pas utiliser root.

  • La commande nécessite-t-elle des privilèges d'administrateur ?
  • Comprenez-vous bien ce que la commande va faire.
  • Avez-vous des sauvegardes ou la possibilité d'annuler si/quand quelque chose se brise ?

Ainsi, dans une machine virtuelle, dans laquelle vous venez de prendre un instantané, vous pouvez probablement vous en sortir en utilisant sans discernement vos privilèges root. Sur un serveur de production contenant de nombreux services critiques, vous devrez être beaucoup plus prudent dans l'utilisation des privilèges root.

Comme tout ce qui touche à la sécurité, tout dépend du niveau de risque. Vous devez déterminer intelligemment le risque potentiel par rapport à la quantité d'effort/récompense. Il y a des endroits où vous ne devriez presque jamais utiliser root, et il y a des cas où utiliser root pour compiler des choses n'a probablement aucun risque associé.

1voto

thinice Points 4656

Les instructions partent du principe que les lecteurs doivent suivre les "meilleures pratiques" implicites, ce qui implique de ne pas se connecter en tant que root.

Ces types de tutoriels/instructions ont une partie de leur public cible qui se contente de copier-coller les commandes, ou qui a suffisamment de connaissances pour créer un véritable gâchis.

Il est important de conditionner les débutants à suivre ces bonnes pratiques pour leur propre protection (et leurs sentiments s'ils vont sur IRC).

Il y a des choses qui sont certaines à cet égard :

  • Toute personne qui utilise directement root fera un gros doigt sur une commande et cela fera un peu de dégâts en masse à un moment donné. (Cela ne veut pas dire que les utilisateurs de 'sudo' sont immunisés, mais simplement qu'ils sont moins susceptibles de l'être, et qu'il est possible de limiter ces dommages).

  • La majorité des utilisateurs qui ignorent les meilleures pratiques et finissent par s'engraisser n'ont aucune idée de la manière de réparer leur nouveau désordre.

  • Cet utilisateur se rendra probablement sur un forum d'aide ou un canal IRC pour demander de l'aide et sera ainsi ridiculisé pour avoir été root en premier lieu.

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