Pourquoi est-il mauvais de se connecter en tant que root?

178

Je rencontre souvent des articles sur des forums ou d'autres sites Web où des gens plaisantent à propos de l'exécution / connexion en tant que root, comme si c'était quelque chose de terrible et que tout le monde devait le savoir. . Cependant, il n'y a pas grand chose qu'une recherche révèle en la matière.

Il peut être largement connu des experts Linux, mais je ne sais vraiment pas pourquoi. Je me souviens d'avoir toujours fonctionné en tant que root lorsque j'ai essayé Linux pour la première fois il y a plusieurs années (Redhat et Mandrake) et que je ne me souviens pas d'avoir rencontré des problèmes à cause de cela.

Il y a en fait des distributions qui ont un arrière-plan rouge vif avec des signes d'alerte partout comme fond d'écran pour l'utilisateur root (SuSe?). J'utilise toujours le compte "Administrateur" pour une utilisation régulière sur mon installation Windows et je n'ai jamais rencontré de problème non plus.

    
posée Mussnoon 04.12.2010 - 18:00
la source

20 réponses

144

Cela va à l'encontre du modèle de sécurité mis en place depuis des années. Les applications doivent être exécutées avec une sécurité non administrative (ou en tant que simples mortels). Vous devez donc élever leurs privilèges pour modifier le système sous-jacent. Par exemple, vous ne voulez pas que le récent crash de Rhythmbox efface tout votre répertoire /usr à cause d'un bogue. Ou cette vulnérabilité qui vient d'être publiée dans ProFTPD pour permettre à un attaquant d'obtenir un shell ROOT.

Il est recommandé de faire fonctionner vos applications au niveau utilisateur sur n’importe quel système d’exploitation et de laisser les tâches administratives à l’utilisateur root, et uniquement sur une base spécifique.

    
réponse donnée lazyPower 04.12.2010 - 18:08
la source
73

Juste un mot: sécurité.

  1. Vous êtes connecté en tant que root = toutes les applications fonctionnent avec des privilèges root - toutes les vulnérabilités dans Firefox, Flash, OpenOffice, etc. maintenant peuvent détruire votre système, car les virus possibles ont désormais accès partout. Oui, il n’ya que peu de virus pour Ubuntu / Linux, mais cela est également dû à une bonne sécurité et à un utilisateur non privilégié par défaut.
  2. Il ne s’agit pas uniquement de virus - un petit bogue dans une application pourrait effacer certains fichiers système ou ...
  3. Lorsque vous êtes connecté en tant que root, vous pouvez tout faire - le système ne vous le demandera pas! Voulez-vous formater ce disque? Ok, juste un clic et c'est fait, car vous êtes root et vous savez ce que vous faites ...
réponse donnée Vojtech Trefny 04.12.2010 - 18:10
la source
45

Exécuter en tant que root est mauvais car:

  1. Stupidité: Rien ne vous empêche de faire quelque chose de stupide. Si vous essayez de changer le système de quelque manière que ce soit qui pourrait être nuisible, vous devez faire sudo, ce qui garantit quasiment une pause pendant que vous entrez le mot de passe pour vous rendre compte que vous êtes sur le point d'effectuer un changement important / coûteux. >
  2. Sécurité: Cette question a déjà été mentionnée à plusieurs reprises, mais fondamentalement, il est plus difficile de pirater si vous ne connaissez pas le compte de connexion de l'utilisateur admin. root signifie que vous avez déjà la moitié du jeu de données d’administrateur.
  3. Vous n'en avez pas vraiment besoin: si vous devez exécuter plusieurs commandes en tant que root et que vous êtes obligé de saisir votre mot de passe plusieurs fois lorsque sudo a expiré, il vous suffit de sudo -i et vous êtes maintenant root. Voulez-vous exécuter des commandes en utilisant des tuyaux? Ensuite, utilisez sudo sh -c "comand1 | command2" .
  4. Vous pouvez toujours l’utiliser dans la console de récupération: La console de récupération vous permet d’essayer de récupérer quelque chose de stupide ou de résoudre un problème causé par une application (que vous deviez toujours exécuter en tant que sudo :)) Ubuntu n'a pas de mot de passe pour le compte root dans ce cas, mais vous pouvez rechercher en ligne pour changer cela, cela rendra plus difficile pour quiconque a un accès physique à votre boîte de faire du mal.

La raison pour laquelle vous ne pouviez pas trouver d’informations sur les raisons de ce problème est que, bien, il ya beaucoup trop de données sur Internet :) et que beaucoup de gens qui utilisent Linux depuis longtemps pensent comme vous faire. Cette façon de penser sur le compte root est relativement nouvelle (une décennie peut-être?) Et beaucoup de gens sont toujours agacés par l'utilisation de sudo. Surtout s'ils travaillent sur un serveur, c'est-à-dire qu'ils ont l'intention d'apporter des modifications au système. Probablement dû à de mauvaises expériences et à des normes de sécurité antérieures, la plupart des administrateurs système le savent mieux mais ils ne l’aiment toujours pas:).

    
réponse donnée Marlon 04.12.2010 - 19:43
la source
36

C'est une bonne question. Je pense que la réponse est légèrement différente selon que vous parlez d'un serveur ou d'une installation de bureau.

Sur un ordinateur de bureau, il est rare d’utiliser le compte root . En fait, Ubuntu est livré avec un accès root désactivé. Toutes les modifications nécessitant des privilèges de superutilisateur sont effectuées via sudo et ses graphiques associés gksudo et kdesudo . Étant donné qu'il est facile de définir un mot de passe root , pourquoi les gens ne le font-ils pas?

Une des raisons est que cela vous donne un niveau de sécurité supplémentaire. Si vous exécutez un programme avec root et qu'une faille de sécurité est exploitée, l'attaquant a accès à toutes les données et peut directement contrôler le matériel. Par exemple, il peut installer un trojan ou un key-logger dans votre noyau. En pratique, cependant, une attaque peut causer beaucoup de dégâts même sans les privilèges du superutilisateur. Après tout, toutes les données utilisateur - y compris les documents et les mots de passe stockés - sont accessibles sans accès root.

Un point plus valable sur un système mono-utilisateur est que l'utilisateur est empêché de rendre le système inutilisable par inadvertance. Si l'utilisateur émet involontairement une commande qui supprime tous les fichiers, ils pourront toujours démarrer le système, même si les données sont perdues.

De plus, la plupart des applications en face à face (X11) sont conçues pour être exécutées en tant que compte utilisateur normal et sans droits d’administrateur. Ainsi, certains programmes peuvent se comporter de manière incorrecte lorsqu'ils sont exécutés sous la forme root .

Sur un système multi-utilisateurs avec un accès shell non graphique uniquement, beaucoup de ces raisons ne s'appliquent pas. Cependant, Ubuntu reste toujours par défaut à un compte root inaccessible. D'une part, il y a une différence réelle entre l'accès à un compte d'utilisateur (avec les droits sudo ) via une faille de sécurité et l'accès à root , car dans le premier cas, l'interruption d'autres utilisateurs nécessitera l'exécution de sudo . demandera toujours le mot de passe du compte comme une étape de sécurité supplémentaire. D'autre part, il est utile d'effectuer de nombreuses tâches administratives à partir d'un compte d'utilisateur et d'appeler uniquement sudo lorsque les privilèges du superutilisateur sont absolument requis. Ainsi, lors de l'installation d'un programme à partir de sources, il est conseillé de créer le code source - en exécutant configure et make - dans le répertoire de l'utilisateur et en utilisant uniquement sudo make install dans la dernière étape. Là encore, il est plus difficile de se prendre en photo (et d’autres utilisateurs du système multi-utilisateurs), et cela réduit la probabilité que des scripts de génération perturbent le système. Ainsi, même sur un serveur, il est conseillé de s'en tenir à la administration basée sur sudo d'Ubuntu.

    
réponse donnée loevborg 04.12.2010 - 18:24
la source
31

L'une des raisons pour lesquelles il n'est pas possible de s'exécuter en tant que root qui n'a pas (jusqu'à présent) été identifié par d'autres réponses est la traçabilité. Cela est probablement moins important sur les machines qui sont principalement des machines mono-utilisateur (votre ordinateur de bureau ou portable), mais sur les machines serveur, si quelqu'un est connecté en tant que root , vous ne savez pas qui blâmer. Par conséquent, la plupart des organisations professionnelles disposant de plusieurs systèmes et de plusieurs administrateurs ayant besoin de privilèges% co_de exigent que les utilisateurs se connectent avec leur propre identifiant (mot de passe), puis utilisent root ou des programmes similaires avec des privilèges sudo si nécessaire.

Sinon, les principales raisons de ne pas s'exécuter en tant que root sont les suivantes:

  • Minimiser les risques d’accident. Si vous exécutez root en tant que root, alors vous avez complètement éliminé tout ce qui est important de votre machine à cause de cet espace après le (premier) slash - parce que les choses en premier sont celles qui ont été ajoutées en premier - des petites choses comme le noyau, le répertoire rm -fr / home/me/my-subdir et le répertoire /bin . Unix s'énerve si vous les perdez.

  • Réduisez le risque de dommages causés par des sites extérieurs malveillants. Si vous naviguez sous la forme /etc , vous êtes plus vulnérable aux téléchargements incontrôlés de contenus malveillants.

J'utilise MacOS X plus que Ubuntu, mais là, root est désactivé par défaut, et il est toujours sur ma machine. Je mets régulièrement à niveau le noyau et les autres opérations similaires - en utilisant root (en coulisse). Des techniques similaires s'appliquent à Linux en général.

En principe, vous ne devez utiliser que les privilèges tout puissants de sudo pour les périodes de travail abrégées afin d’éviter le risque d’erreurs.

    
réponse donnée Jonathan Leffler 05.12.2010 - 00:10
la source
20

TL; DR: faire les choses en tant que root uniquement lorsque cela est nécessaire. sudo rend cela assez facile. Si vous activez les connexions root, vous pouvez toujours suivre cette règle, il vous suffit de faire attention à cela. Bien que l'activation des connexions root ne soit pas réellement sécurisée si cela est fait correctement, vous n'avez pas besoin d'activer les connexions root car vous avez sudo .

Il y a vraiment deux questions connexes ici.

  • Pourquoi est-il mauvais de se connecter en tant qu'utilisateur root pour l'utilisation quotidienne d'un ordinateur (navigation sur le Web, courrier électronique, traitement de texte, jeux, etc.)?
  • Pourquoi Ubuntu par défaut désactive-t-il les connexions root et en utilisant sudo et polkit pour permettre aux administrateurs d’exécuter des commandes spécifiques en tant que root?

Pourquoi ne pas tout exécuter en tant que root, tout le temps?

La plupart des autres réponses couvrent cela. Cela revient à:

  1. Si vous utilisez les pouvoirs de la racine pour des tâches qui ne le nécessitent pas et que vous finissez par faire quelque chose que vous ne vouliez pas faire, vous pouvez modifier ou endommager votre système d’une manière que vous ne souhaitez pas.
  2. Si vous exécutez un programme en tant que root alors que vous n’en aviez pas besoin, et que it finit par faire quelque chose que vous ne pensiez pas faire, par exemple en raison d’une faille de sécurité ou autre bogue - cela pourrait changer ou nuire à votre système d’une manière que vous ne voulez pas.

Il est vrai que même sans faire les choses en tant que root, vous pouvez causer des dommages. Par exemple, vous pouvez supprimer tous les fichiers de votre propre répertoire personnel, qui inclut généralement tous vos documents, sans s'exécuter en tant que root! (J'espère que vous avez des sauvegardes.)

Bien sûr, en tant que root, il existe des moyens supplémentaires de détruire accidentellement ces mêmes données. Par exemple, vous pouvez spécifier le mauvais argument of= dans une commande dd et écrire des données brutes sur vos fichiers (ce qui les rend bien plus difficiles à récupérer que si vous les supprimiez simplement).

Si vous êtes la seule personne à utiliser votre ordinateur, le danger que vous pouvez faire uniquement en tant que root peut ne pas être supérieur à celui que vous pouvez faire avec vos privilèges d’utilisateur habituels. Mais ce n’est toujours pas une raison pour étendre votre risque d’inclure des moyens supplémentaires de détruire votre système Ubuntu.

Si l’exécution avec un compte d’utilisateur non root vous empêchait d’exercer un contrôle sur votre propre ordinateur, cela constituerait bien sûr un compromis mauvais . Mais - chaque fois que vous souhaitez effectuer une action en tant que root, vous pouvez le faire avec sudo et d’autres méthodes .

Pourquoi ne pas permettre de se connecter en tant que root?

L’idée que la possibilité de se connecter en tant que root est intrinsèquement peu sûre est un mythe. Certains systèmes ont un compte root activé par défaut; les autres systèmes utilisent sudo par défaut et certains sont configurés avec les deux.

  • Par exemple, OpenBSD , qui est largement et raisonnablement considéré comme l’OS polyvalent le plus sûr au monde, avec le compte root activé pour la connexion locale basée sur un mot de passe.
  • D'autres systèmes d'exploitation bien respectés font ceci: RHEL , CentOS et Fedora .
  • Debian (d'où dérive Ubuntu ) permet à l'utilisateur de décider quelle approche sera configurée lors de l'installation du système.

Il n’est pas objectivement faux d’avoir un système sur lequel le compte root est activé, à condition que

  1. vous ne l'utilisez toujours que lorsque vous en avez vraiment besoin, et
  2. vous en restreignez l'accès de manière appropriée.

Souvent, les novices demandent comment activer le compte root dans Ubuntu. Nous ne devons pas leur cacher ces informations, mais généralement quand les gens le demandent, c'est parce qu'ils ont l'impression qu'ils ont besoin d'activer le compte root. En fait, cela n’est presque jamais nécessaire, alors lorsque vous répondez à de telles questions, il est important que nous expliquions cela. L’activation du compte root facilite également la complaisance et effectue des actions en tant que root sans privilèges root . Mais cela ne signifie pas que l'activation du compte root est par lui-même non sécurisé.

sudo encourage et aide les utilisateurs à exécuter des commandes en tant que root uniquement lorsque cela est nécessaire. Pour exécuter une commande en tant que root, tapez sudo , un espace, puis la commande. Ceci est très pratique et de nombreux utilisateurs de tous niveaux de compétence préfèrent cette approche.

En bref, vous n'avez pas besoin d'activer les connexions root car vous avez sudo .Mais tant que vous ne l'utilisez que pour les tâches administratives qui le requièrent, il est tout aussi sûr d'activer et de vous connecter en tant que root, à condition qu'il ne s'agisse que de de ces manières :

Toutefois, si vous vous connectez en tant que root, les risques de sécurité supplémentaires sont importants:

  • Graphiquement. Lorsque vous vous connectez graphiquement, beaucoup de choses s'exécutent pour fournir l'interface graphique, et vous finirez par exécuter encore plus d'applications en tant que root pour utiliser cette interface. Cela va à l'encontre du principe selon lequel seuls les programmes exécutés en tant que root ont vraiment besoin des privilèges root. Certains de ces programmes peuvent contenir des bogues, y compris des bogues de sécurité.

    De plus, il y a une raison de non sécurité à éviter. La connexion graphique en tant que root n'est pas bien prise en charge-- comme le mentionne loevborg , les développeurs d’environnements de bureau et d’applications graphiques ne le font pas souvent les tester en tant que root. Même s'ils le font, la connexion à un environnement de bureau graphique en tant que root ne permet pas aux utilisateurs de faire des tests alpha et bêta réels, car presque personne ne le tente (pour les raisons de sécurité expliquées ci-dessus).

    Si vous avez besoin d’exécuter une application graphique spécifique en tant que root, vous pouvez utiliser gksudo ou sudo -H . Cela exécute beaucoup moins de programmes en tant que root que si vous vous êtes connecté graphiquement avec le compte root.

  • À distance. Le compte root peut en effet faire n'importe quoi, et il porte le même nom sur pratiquement tous les systèmes de type Unix. En vous connectant en tant que root via ssh ou d'autres mécanismes distants, ou même en configurant des services distants pour l'autoriser , vous simplifiez grandement la tâche aux intrus, y compris aux scripts automatisés et aux programmes malveillants accès par force brute, attaques par dictionnaire (et éventuellement certains bogues de sécurité).

    Le risque n'est sans doute pas très élevé si vous n'autorisez que les connexions root basées sur les clés et non basées sur les mots de passe

    .

Par défaut dans Ubuntu, ni les connexions root ni les connexions distantes via SSH ne sont activées, même si vous activez la connexion en tant que root . En d'autres termes, même si vous activez la connexion root, celle-ci n'est toujours activée que de manière raisonnablement sécurisée.

  • Si vous exécutez un serveur ssh sur Ubuntu et que vous n’avez pas modifié /etc/sshd/ssh_config , il contiendra la ligne PermitRootLogin without-password . Cela désactive la connexion root par mot de passe, mais autorise la connexion par clé. Cependant, aucune clé n'est configurée par défaut, donc à moins que vous en définissiez une, cela ne fonctionnera pas non plus. De plus, la connexion root distante basée sur des clés est bien moins mauvaise que la connexion root distante basée sur mot de passe, en partie parce qu'elle ne crée pas le risque d'attaques brutales et de dictionnaire.
  • Même si les valeurs par défaut devraient vous protéger, je pense que c’est toujours une bonne idée de vérifier votre configuration ssh, si vous voulez activer le compte root. Et si vous exécutez d'autres services fournissant une connexion à distance, comme ftp, vous devriez également les vérifier.

En conclusion:

  • Faites des choses en tant que root uniquement lorsque vous en avez besoin; sudo vous aide à faire cela, tout en vous offrant la pleine puissance de root à tout moment.
  • Si vous comprenez le fonctionnement de la racine et les dangers de l’utiliser, l’activation du compte root n’est pas vraiment problématique du point de vue de la sécurité.
  • Mais si vous comprenez cela, vous savez également que vous n'avez certainement pas besoin d'activer le compte root .

Pour plus d'informations sur root et sudo , y compris certains avantages supplémentaires de sudo que je n'ai pas abordés ici, je recommande vivement RootSudo dans le wiki d'aide d'Ubuntu.

    
réponse donnée Eliah Kagan 03.05.2015 - 19:12
la source
13

Le compte racine est désactivé par défaut - ce qui signifie qu'il existe mais qu'il n'est pas utilisable (sauf en mode de récupération). Cela signifie qu'un attaquant est conscient de votre compte root, mais ne peut pas l'utiliser même s'il possède le mot de passe root. Ainsi, un attaquant doit deviner à la fois un nom d'utilisateur doté de privilèges d'administrateur ET le mot de passe de cet utilisateur (ce qui est bien plus difficile que d'essayer de résoudre le mot de passe root). un accès physique à votre boîte peut y démarrer (RC) - aucun mot de passe requis. Identique au mode de récupération dans Ubuntu.

Dans Ubuntu, quand ils disent que la racine est désactivée - ce qui signifie vraiment que le compte est verrouillé. Un compte est verrouillé en changeant le mot de passe en une valeur qui ne correspond à aucune valeur chiffrée possible. Cela empêche efficacement quiconque de se connecter en tant que root, car il est impossible de saisir le mot de passe. Comme il y a encore des moments où un accès root est nécessaire - le noyau Ubuntu a été modifié pour autoriser la connexion root uniquement en mode mono-utilisateur.

Consultez également cette page

.     
réponse donnée karthick87 04.12.2010 - 18:18
la source
12
C'est comme armer un petit avec un AK47, alors qu’il peut jouer avec son fusil de paintball. ;)

Je veux dire que c'est faux parce que vous et vos applications aurez plus de privilèges dont ils ont besoin et c'est à ce moment que les choses peuvent et vont parfois mal: (

    
réponse donnée omeid 05.12.2010 - 02:33
la source
11

Très belle question ... Laissez-moi y répondre d'un point de vue pratique:

Lorsque j'ai commencé à utiliser Linux, il y a plus de 10 ans, les principales distributions n'utilisaient pas autant les comptes non-root qu'aujourd'hui. Comme j'étais habitué à Windows, je ne voyais pas non plus d’utilisation d’un compte utilisateur limité. En particulier parce que je devais entrer "su" très souvent - sudo n'était pas très populaire à l'époque. ;-) Je me suis donc toujours connecté en tant que root car j'avais beaucoup de maintenance à faire pour bien configurer mon système. Mais devinez quoi, tout nouveau système installé est rapidement devenu très instable.

Un problème concret par exemple: je n’ai pas eu autant d’espace disque dur réservé pour Linux, il m’est donc arrivé à quelques reprises de ne plus avoir 0 octet sur ma partition. Peut-être que je ne suis pas complètement précis car je ne connais pas le mécanisme exact, mais quand vous remplissez un disque avec un compte non root, il reste toujours quelques kilo-octets. Mais si vous avez vraiment 0 octet, votre système commet des erreurs bizarres et vous risquez de vous retrouver avec des dommages difficiles à réparer dans votre système car il y a beaucoup de logiciels système en arrière-plan ...

Une autre chose est: cette division entre root et non-root maintient votre système bien organisé. En tant qu'utilisateur root, vous pourriez être tenté de ne pas installer correctement vos nouvelles applications, ce qui vous laisserait un système difficile à entretenir.

Mais la bonne chose: les distributions modernes effectuent la plupart des tâches d’administration pour vous, donc il est rare que vous ayez à manipuler les entrailles de votre système Linux avec un compte root. Entrer un mot de passe de temps en temps est suffisant, le reste est fait par les scripts du distributeur.

Mais je doute que vous n’ayez pas eu de problèmes avec votre système Windows avec 95 ou 98. (Au moins, j’avais des problèmes avec ça ...) En raison de l’absence de séparation claire entre Administrateur et Les applications Windows "traditionnelles" des utilisateurs supposent qu'elles peuvent faire n'importe quoi installez Spyware s'ils le souhaitent, même sans vous le dire. Microsoft s'est engagé dans ce dossier lors de la sortie de Vista. (Implémenter efficacement un mécanisme sudo.) Les gens ont donc des dialogues très ennuyeux disant "Vous ne pouvez pas faire ça". Pour certains logiciels non compatibles avec Vista, vous aviez besoin de logiciels malveillants pour l'installer, même en tant qu'administrateur ...

    
réponse donnée Philip 04.12.2010 - 21:02
la source
10

Cette approche comporte de nombreux aspects. Certains d'entre eux sont:

  •    La racine est puissante.
  • Dans les systèmes Unix et Unix, les privilèges d'administration système sont tout ou rien. Un utilisateur a un accès root ou non, et l'accès root implique le contrôle complet d'une machine. Si la machine en question est utilisée par plusieurs personnes ou si la racine a accès à d'autres systèmes ou fichiers utilisateur, il est plus acceptable d'accorder à certains utilisateurs des privilèges de racine partiels.

  • L'utilisateur root peut masquer toutes ses actions.
  • sudo enregistre toutes les commandes exécutées via sudo. Avoir un enregistrement de ce qui se fait avec sudo nous aide à diagnostiquer des problèmes avec des systèmes / processus individuels et des problèmes de configuration générale, tout en nous aidant à identifier les améliorations nécessaires.

  • Le mot de passe root vous donne accès à toute commande sur un système.
  • Via son fichier de configuration, sudo peut donner à l'utilisateur un accès root pour un ensemble de commandes particulier. Cela évite également l'effet "tout ou rien", ce qui nous permet de donner aux utilisateurs individuels plus de contrôle sur leurs machines et de s'aider eux-mêmes des problèmes courants.

    voici un bon article: lien

        
    réponse donnée aneeshep 18.12.2010 - 14:52
    la source
    8
    rm /*
    

    Disons que vous avez nettoyé une zone administrative. Vous êtes fatigué de mot de passe, donc vous sudo su . Vous êtes distrait juste pour la seconde et vous oubliez cd à / . Ensuite, vous rm * . Je l'ai fait. Vous pouvez tout récupérer, mais c'est un PITA. Oh, et c'est descendu dans /media aussi!

        
    réponse donnée bambuntu 07.02.2012 - 05:30
    la source
    7

    Pourquoi ne pas avoir de login root?

    Alors que vous pouvez créer un mot de passe pour le compte superutilisateur vous permettant de vous connecter en tant que root, cela vaut la peine de mentionner que ce n’est pas la manière de faire "Ubuntu". Ubuntu a spécifiquement choisi non pour donner un identifiant et un mot de passe root par défaut pour une raison. Au lieu de cela, une installation Ubuntu par défaut utilisera sudo .

    Sudo est une alternative à donner aux utilisateurs un mot de passe root pour effectuer des tâches de super-utilisateur. Dans une installation par défaut d'Ubuntu, la personne qui a installé le système d'exploitation reçoit l'autorisation «sudo» par défaut.

    Toute personne ayant l'autorisation "sudo" peut effectuer quelque chose "en tant que superutilisateur" en pré-mettant en attente sudo sur sa commande. Par exemple, pour exécuter apt-get dist-upgrade en tant que superutilisateur, vous pouvez utiliser:

    sudo apt-get dist-upgrade
    

    Avantages de l’approche sudo

    • Avec sudo, vous choisissez à l'avance quels utilisateurs ont un accès sudo. Il n'est pas nécessaire qu'ils se souviennent d'un mot de passe root, car ils utilisent leur propre mot de passe.

    • Si vous avez plusieurs utilisateurs, vous pouvez révoquer l’accès à un superutilisateur simplement en supprimant leur autorisation sudo, sans avoir à modifier le mot de passe root et à informer tout le monde d’un nouveau mot de passe.

    • Vous pouvez même choisir les commandes qu'un utilisateur est autorisé à exécuter avec sudo et quelles commandes sont interdites pour cet utilisateur.

    • Enfin, s’il ya une faille de sécurité, elle peut dans certains cas laisser une meilleure piste d’audit indiquant quel compte utilisateur a été compromis.

    Sudo facilite l'exécution d'une seule commande avec les privilèges de superutilisateur. Avec une connexion root, vous restez définitivement dans un shell superutilisateur qui doit être quitté en utilisant exit ou logout . Cela peut amener les utilisateurs à rester dans le shell du superutilisateur plus longtemps que nécessaire, simplement parce que cela est plus pratique que de se déconnecter et de revenir plus tard.

    Avec sudo, vous avez toujours la possibilité d’ouvrir un shell superutilisateur permanent (interactif) avec la commande:

    sudo su
    

    ... et cela peut toujours être fait sans mot de passe root, car sudo donne les privilèges du superutilisateur à la commande su .

    De même, au lieu de su - pour un shell de connexion, vous pouvez utiliser sudo su - ou même sudo -i .

    Cependant, vous devez simplement savoir que vous agissez en tant que superutilisateur pour chaque commande. C'est un bon principe de sécurité de ne pas rester en tant que superutilisateur plus longtemps que nécessaire, juste pour réduire la possibilité de causer accidentellement des dommages au système (sans cela, vous ne pouvez endommager que les fichiers que votre utilisateur possède).

    Juste pour clarifier, vous pouvez , si vous le souhaitez, donner à l’utilisateur root un mot de passe autorisant les connexions en tant que root, si vous souhaitez faire les choses de cette façon à la place. Je voulais juste vous informer de la convention Ubuntu qui préférait préférer sudo et essayer d'expliquer en partie pourquoi Ubuntu privilégie cette approche par défaut.

    Pourquoi ne pas autoriser la connexion root via SSH?

    Même si votre utilisateur root a un mot de passe vous permettant de vous connecter en tant que root, désactiver la connexion root directe depuis l'extérieur, comme dans SSH, reste une bonne pratique de sécurité. Il est raisonnable que les utilisateurs aient à su - ou sudo après la connexion initiale.

    Les avantages potentiels sont principalement liés à la sécurité:

    • Il réduit le vecteur d’attaque en supprimant la possibilité de forcer le mot de passe root à distance. Il est courant qu'un serveur sur Internet soit constamment bloqué par des tentatives de forcer le mot de passe root via SSH.

    • Cela crée une meilleure trace d'audit de sorte que même en cas de violation où l'attaquant obtienne plus tard des privilèges de superutilisateur, vous pouvez voir le compte utilisateur utilisé pour y accéder.

    réponse donnée thomasrutter 25.06.2014 - 15:24
    la source
    6

    Lorsque vous êtes connecté en tant que root, les applications, les scripts ou les commandes en ligne de commande peuvent accéder à des parties sensibles du logiciel qui peuvent endommager le système. Cela peut être le résultat d'une inexpérience de la part de l'utilisateur ou du programmeur ou d'un code caché malicieux.

        
    réponse donnée Gersitar 04.12.2010 - 18:26
    la source
    5

    Il est trop facile de faire des dégâts en tant que root. Vous pouvez écraser le système entier en une seule commande ...

        
    réponse donnée Abel 04.12.2010 - 20:05
    la source
    5

    Je peux ajouter qu’il existe une différence entre Administrator sous Windows et root sous Unix. L'administrateur a toujours des restrictions dans les systèmes, où root n'a pas de restriction . L'analogue correct de root dans Windows est l'utilisateur System .

    La mauvaise chose à utiliser PC sous root / System est que vous pouvez accidentellement tout détruire sans avertissement du système d’exploitation.

        
    réponse donnée Aleksei 18.12.2010 - 16:01
    la source
    3

    Si les applications sont exécutées en tant que root, rien ne garantit qu’elles ne seront pas exécutées

    rm -rf /
    

    (Ceci est un exemple de commande qui doit être non exécutée.)

        
    réponse donnée segfault 04.12.2010 - 18:48
    la source
    3

    Etant donné un utilisateur averti et prudent, je ne suis pas certain qu’il existe une réponse correcte . Je n'avais pas vu cette réponse, alors je pensais que j'allais y entrer.

    Ce que je n'aime pas, ce sont les modifications involontaires des autorisations sur les systèmes multi-utilisateurs dont j'ai besoin pour chmod plus tard. Réparer via chmod après coup est beaucoup plus irritant que d'avoir besoin de sudo, mais cela dépend de ce que j'ai prévu.

        
    réponse donnée Clayton 09.08.2016 - 05:10
    la source
    3

    La journalisation en tant que root ne présente aucun danger si elle est utilisée avec précaution.

    Bien que je pense que la désactivation de root est la solution préférable, parce que l'attaquant ne pouvait pas le brutaliser.

    Une solution consiste à créer un utilisateur dans le groupe sudo avec un nom obscur, comme gamer et à utiliser sudo pour effectuer des tâches administratives.

    Par conséquent, l'attaquant ne doit pas seulement deviner le mot de passe de cet utilisateur administratif, mais aussi son nom de connexion. Ce qui n'est pas évident si l'utilisateur qui utilise sudo a un nom de connexion comme kitty ou gamer ou quelque chose de similaire.

        
    réponse donnée Bulat M. 11.11.2016 - 08:08
    la source
    2

    Le logiciel est basé sur des bibliothèques partagées, des dépendances, des fichiers de configuration, etc.
    La plupart du temps, un simple clic dans une application appelle une "réaction en chaîne" de plusieurs modifications, et pas seulement à votre avis.
    Lorsque ces modifications sont sur le point d'affecter les paramètres critiques du système, il est bon pour vous, en tant qu'utilisateur, de savoir.
    C'est pourquoi l'accès root est un bon modèle de sécurité:
    Si quelque chose de crucial est sur le point d’arriver sur votre système, vous serez averti en vous demandant l’élévation des privilèges.

        
    réponse donnée Pavlos G. 05.12.2010 - 17:50
    la source
    2

    Raisons d’utiliser root:

    • Peut accidentellement détruire les fichiers système
    • Pourrait avoir une infection
    • Ne pas enregistrer les actions

    Pourquoi utiliser root:

    • Accès à tout, pas de mots de passe de saisie
    • Interface graphique, pas de terminal pour gérer les fichiers / répertoires du système

    Il me semble qu'un compte non-root peut encore être victime de ces raisons contre l'utilisation de root, le plus qu'il ajoute est une confirmation de vos actions. Je pense que tant que vous savez ce que vous faites, vous êtes parfaitement en sécurité en utilisant root. Là, je l'ai dit.

        
    réponse donnée Que 18.11.2011 - 08:41
    la source

    Lire d'autres questions sur les étiquettes