Pourquoi n'y a-t-il pas d'option pour vous connecter en tant que root?


39

Pourquoi Ubuntu n'autorise-t-il pas les utilisateurs de l'interface graphique à se connecter en tant que root au moment du démarrage du système en tant qu'administrateur sous Windows?

Pourquoi ils nous empêchent de nous connecter uniquement via le terminal?


4
Sachez également que «gksu» vous permet d’exécuter des applications graphiques en tant qu’utilisateur root. C'est à dire "gksu nautlius"
Jeremy

1
Certaines distributions vous permettent de vous connecter à X en tant que root. CentOS6.2 est l'un d'entre eux.
djangofan

Réponses:


42

Parce qu'il n'est pas recommandé de le faire à moins de savoir exactement ce que vous faites. Root est un superutilisateur, ce qui signifie qu'il peut tout faire. Il est uniquement destiné aux tâches administratives. Les tâches quotidiennes peuvent comporter un risque de sécurité qui SERA exploité si TOUT LE MONDE (ou une grande proportion d’utilisateurs) utilisait la racine. Pensez Windows: 99% des logiciels malveillants et des problèmes de virus proviennent de personnes utilisant des comptes d’administrateur pour leurs tâches quotidiennes.

Regardons un exemple.

Que se passe-t-il si quelqu'un s'introduit dans votre système et lui dit d'effacer vos disques? Si vous travaillez en tant qu'utilisateur normal, les seuls fichiers que vous devriez (devriez) pouvoir supprimer sont ceux qui vous appartiennent , et pas quelqu'un d'autre. Si, par exemple, d'autres personnes utilisent l'ordinateur, leurs fichiers ne seront pas du tout touchés, peu importe les efforts que vous déploierez. Cela signifie que vous ne serez pas en mesure de modifier les fichiers du système . Par conséquent, votre système restera immobile et non affecté / non infecté.

Cependant, si vous exécutez en tant que root, vous pouvez entièrement effacer le disque dur, endommager probablement le matériel lui-même et, en général, rendre le système inutilisable. Correction: quiconque peut exécuter une seule commande en tant que root sur votre ordinateur (un site Web malveillant ou une pièce jointe à un courrier électronique) peut le faire.

Jetez un coup d'oeil à http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , c'est un bel article qui pourrait l'expliquer mieux que moi.

EDIT: en voici un autre http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2: vous pouvez toujours utiliser sudo commandou gksu commandexécuter le programme en commandtant que superutilisateur. Ces deux outils fonctionnent avec des utilitaires graphiques et des utilitaires de ligne de commande. sudoest généralement utilisé pour l'interface de ligne de commande et gksuconstitue le mot de passe graphique qui fait la même chose.

Dans une certaine mesure, ils vous laissent devenir roottemporairement - bien mieux que de courir comme racine en permanence et de risquer l’instabilité.


1
Mais pourquoi Fedora autorise-t-elle cette option au démarrage?
Renjith G

5
Ubuntu est conçu pour être convivial, et je soupçonne qu'en interdisant root, ils dissipent la tentation des utilisateurs normaux (lire: les débutants sous Linux) qui s'exécutent en tant que root.
Evgeny

Je ne t'ai pas eu.
Renjith G

2
Mon commentaire était un peu faux. Disons plutôt ceci: en interdisant la connexion à la racine graphique, cela empêche les utilisateurs de s’exécuter en tant que root SAUF MOYENS DE SAVOIR VOS ACTIVITÉS. À mon avis, cela ne devrait être autorisé que pour les utilisateurs expérimentés qui connaissent et comprennent tous les risques.
Evgeny

1
Il est censé être un peu agressif, juste pour branler les lecteurs dans la réalité et vraiment faire un point.
Evgeny

11

Dans Ubuntu standard, les rootconnexions ne sont autorisées ni par le gestionnaire de connexions GDM (graphique), ni par la console de texte (c'est-à-dire celle que vous obtenez si vous appuyez sur Ctrl+ Alt+ F1).

Pour effectuer des opérations root(administrateur), vous devez utiliser la sudocommande dans un terminal, ou l’un de ses GUI équivalents: ils vous demanderont votre mot de passe, puis exécuteront l’opération privilégiée demandée (et uniquement celle-là).

Comme d’autres l'ont déjà souligné, la raison de ce comportement est qu'exécuter des rootopérations est fondamentalement risqué et que le nombre d'opérations nécessitant réellement des rootprivilèges est relativement faible: en utilisant cette sudoapproche, vous exécutez la plupart du temps avec un compte sans privilège (c'est-à-dire au système et aux autres utilisateurs) et n’obtenez que les rootpouvoirs nécessaires.

Un exemple pourrait aider à clarifier. Supposons que vous souhaitiez installer un nouveau service (démon) sur votre ordinateur. ceci est relativement nouveau et vous devez lire à ce sujet et savoir comment le configurer selon vos besoins. Vous finirez par la navigation sur le web beaucoup pour trouver des informations, par exemple configs, etc., peut - être avoir un chat IRC pour demander plus d' informations - rien de tout cela exige des rootpouvoirs! Au final, vous n’avez besoin que d’un accès privilégié pour deux opérations:

  1. installer le nouveau programme (c'est-à-dire sudo apt-get install ...), et
  2. éditer la configuration par défaut

Un principe généralement accepté en sécurité informatique est toujours d'utiliser le niveau de privilège le plus bas possible pour effectuer une opération. - Cela réduit le risque que quelque chose de mauvais se produise à cause de bugs dans le logiciel ou d'erreurs de la part de l'opérateur.

La configuration par défaut d'Ubuntu va dans cette direction; si vous utilisiez un rootidentifiant, vous auriez fini par surfer sur Internet, en utilisant le code IRC (et éventuellement tout ce que l’on fait simultanément) à partir du rootcompte, exposant ainsi inutilement le système à une menace.

Mise à jour: Pour votre exemple de compilateur, je procéderais de la manière suivante:

  1. Connectez-vous au nœud via SSH en tant qu'utilisateur régulier et à partir d'un autre nœud Ubuntu ou GNU / Linux sur lequel un affichage graphique X11 est en cours d'exécution. Assurez-vous d'activer le transfert X11 sur SSH:

    ssh -X myuser@remotemachine.example.org
    
  2. À l'invite du shell / SSH, lancez la commande:

    sudo /path/to/the/compiler/install/program
    

    Ceci exécutera le programme d'installation du compilateur avec des rootprivilèges et accédera (via le transfert SSH) à l'affichage graphique devant vous.


D'accord. Supposons que j'utilise une machine Linux (ayant 10 utilisateurs connectés via du mastic). Je souhaite installer un logiciel (par exemple, un compilateur, vous devez également définir des variables d'environnement identiques) en tant que root pour qu'il soit disponible pour tous les utilisateurs. Mais le programme d’installation ne fonctionne qu’en mode interface graphique, sans aucun programme d’installation en ligne de commande, et il ne fonctionnera qu’avec la connexion root. Comment puis-je gérer l'installation? J'ai rencontré cette situation lors de l'installation de arm-linux-gcc dans mon Ubuntu, mais j'ai réussi à l'installer dans mon ordinateur Fedora (version RedHat Shrike)
Renjith G

@ Renjit G: eh bien, c'est une bonne question en soi, pourquoi ne le posez-vous pas?
Riccardo Murri

1
@ Renjit G: Je voulais vous suggérer de poser une nouvelle question. Mieux vaut poser de nombreuses questions spécifiques que de poser une question à facettes multiples, car cela permet des réponses détaillées et précises. En modifiant la question actuelle, les réponses que vous avez déjà obtenues semblent ne répondre qu'à la moitié de votre question ...
Riccardo Murri

Merci Murri. Je suivrai certainement comme ça seulement à partir de mes prochains posts.
Renjith G

1
Avec un compilateur comme celui-là, je pense que la plupart d’entre nous seraient curieux de savoir de quel compilateur il s’agit. Pour tout logiciel distribué via des sources APT ou des fichiers .deb autonomes, l'installation via la ligne de commande à l'aide de "sudo" est suffisante (oui, même pour tous les utilisateurs). Il est également possible d'installer de tels fichiers à partir de l'interface graphique pour tous les utilisateurs, sans être root. L'invite de mot de passe d'interface graphique que vous obtenez est l'équivalent de "sudo".
nuit

8

Le raisonnement derrière l'utilisation de sudo dans Ubuntu peut être trouvé ici . Si vous avez besoin d'un moyen rapide pour "aller root", utilisez sudo -sou sudo -i.


9
Et pour clarifier, je pense que sudo -s crée une session racine en tant qu'utilisateur, tandis que sudo -i crée une session racine en tant qu'utilisateur root. Le moyen le plus simple de faire la différence est d’émettre la commande, puis de faire un "echo $ HOME" pour voir quel environnement est utilisé. Ou "cd ~" alors "pwd" fonctionnerait aussi.
Scaine

6

Outre les innombrables avertissements liés à l'utilisation de root, vous pouvez activer la connexion root en vous connectant et en effectuant les opérations suivantes à partir du terminal:

sudo passwd

Cela vous demandera d'abord votre mot de passe, puis vous demandera de changer le mot de passe UNIX. Le mot de passe que vous entrez sera pour le rootcompte.

Le wiki d'Ubuntu contient un excellent article sur les profondeurs de racine et de sudo dans Ubuntu - mises en garde et pièges.


5

Il y a deux questions ici. Premièrement, pourquoi la connexion root est-elle désactivée par défaut dans Ubuntu? Cela a été abordé par plusieurs des messages ici.

La deuxième question est: pourquoi les logins root graphiques sont-ils particulièrement décriés?

Tous les inconvénients des identifiants racine non graphiques s’appliquent également aux identifiants racine. Mais lorsque vous vous connectez graphiquement, vous exécutez beaucoup plus de programmes, fonctionnant de manière beaucoup plus complexe, que lorsque vous vous connectez de manière non graphique. L’ensemble de l’interface graphique et tous les programmes graphiques nécessaires pour utiliser efficacement une interface graphique s’exécutent en tant que root. Une minuscule faille de sécurité dans l'un d'entre eux permettrait à quelqu'un de prendre le contrôle total de votre système.

Se connecter en tant que root n'est pas recommandé dans Ubuntu, mais la communauté de la sécurité ne s'entend pas pour dire qu'il s'agit d'une mauvaise pratique. Cependant, les connexions graphiques à la racine sont simplement une mauvaise pratique et presque tous les systèmes d'exploitation les ont supprimées ou les ont fortement déconseillées.

Dans une moindre mesure, le fait d'avoir un utilisateur non root (en particulier un utilisateur capable d'exécuter des opérations en tant que root avec sudo ou PolicyKit) dans une connexion graphique présente des risques. Mais ils sont beaucoup plus contrôlés que lorsque tout dans l'environnement graphique doit réellement fonctionner en tant que root avec des capacités illimitées. Néanmoins, dans les situations où la sécurité est primordiale, il est généralement conseillé de supprimer complètement les interfaces graphiques. C’est pourquoi Ubuntu Server ne propose pas d’interface graphique par défaut et recommande officiellement de ne pas en installer (bien que cette option soit prise en charge). .

Dans le monde Windows, vous pouvez maintenant installer Windows Server d'une manière qui élimine essentiellement l'interface graphique (techniquement, certains éléments restent, mais ils sont très simplifiés et vous ne pouvez pas exécuter de programmes graphiques arbitraires). Ceci est basé sur le même raisonnement.

Même si vous décidez d'activer les connexions root, veuillez ne pas vous connecter graphiquement en tant qu'utilisateur root. L'activation des connexions root peut vous exposer à un risque de sécurité légèrement plus élevé. L'exécution d'un environnement graphique entier en tant que root augmente considérablement les risques.

De plus, à l'exception des outils d'administration graphiques conçus pour être exécutés en tant que root avec gksu / gksudo / kdesudo, la plupart des programmes graphiques ne sont pas conçus pour être exécutés en tant que root. Comme ils ne sont pas testés de manière approfondie dans ce mode, ils peuvent échouer ou se comporter de manière erratique (ce qui serait particulièrement grave, car ils fonctionnent en tant que root ).

Enfin, même certains outils d’administration graphiques, tels queusers-admin , échoueront s’ils sont exécutés en tant qu’utilisateur root, puisqu’ils s’attendent à être exécutés par des utilisateurs normaux et à exécuter des actions en tant que root (sans jamais s’exécuter en tant que root) à l’aide de PolicyKit.


4

Ouvrez le terminal ( Ctrl+ Alt+ Tou Dash home> Plus d'applications> installées (développez)> Terminal).

POUR ACTIVER LE COMPTE RACINE

Dans un type de terminal ou coller sudo passwd root. Entrez votre mot de passe de connexion habituel (si on vous le demande), vous serez invité à entrer le nouveau rootmot de passe et à le confirmer.

POUR AJOUTER UN NOUVEL APPEL DE CONNEXION QUI VOUS PERMET D'ENTREZ ROOT ET SON MOT DE PASSE

Dans un type de terminal ou coller. gksudo gedit /etc/lightdm/lightdm.conf. Cela ouvre une fenêtre de l'éditeur de texte graphique dans laquelle vous pouvez éditer le fichier de configuration pour l'écran de connexion.

Ajoutez la ligne greeter-show-manual-login=trueau bas du fichier.

Le fichier devrait maintenant se lire comme suit:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

Enregistrez le lightdm.conffichier et quittez gedit.

Redémarrez Ubuntu 12.04 et vous verrez une nouvelle fenêtre «Connexion» (remplace la fenêtre «Autre» précédente) qui permet la saisie du nom d'utilisateur et du mot de passe. Entrez rootle nom d'utilisateur, puis entrez le mot de passe que vous avez attribué au compte root.

J'espère que cela aide les autres qui ont besoin / veulent un rootaccès.


2

comme pour Ubuntu 12.04 LTS, vous pouvez le faire en utilisant le privilège root:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

Ensuite, vous êtes invité à taper le nom d'utilisateur et le mot de passe pour vous connecter graphiquement. Je suppose que vous avez déjà défini le mot de passe pour root :)

Je sais qu'il y a d'innombrables raisons pour lesquelles vous ne devriez pas vous connecter directement en tant que root. Cependant, il existe quelques cas rares (par exemple, dans une boîte de test exécutée sous vmware) lorsque vous avez vraiment apprécié le fait d'être root.


1

Parce que l'utilisateur root et l'administrateur (sous Windows) sont l'équivalent d'un dieu pour un ordinateur. Cet utilisateur peut ajuster n'importe quoi, depuis les autorisations de fichiers jusqu'à même l'effacement de tout le système de fichiers. Il est assez courant que l'utilisateur à la maison moyen s'exécute en tant qu'administrateur (sous ce nom ou sous un autre nom défini au premier démarrage). Parce que tout programme exécuté en tant qu'utilisateur est étendu à tout le système, il devient dangereux.

Le manque de contrôle sur les privilèges d’administration permet de contracter des virus / programmes malveillants ou même des problèmes autodestructeurs. C’est pour cette raison que de nombreuses distributions, y compris Ubuntu, ont limité d’une étape supplémentaire la transition vers le pouvoir élevé (étape quelque peu cognitive qui permet d’insister sur le fait que "tout changement que je fais ici est un changement de plus grande portée").


heh heh. ... "les changements que je fais ici ont une portée plus grande".
emf

1

Bien que vous ne puissiez pas vous connecter directement en tant que root (pour des raisons que d'autres ont déjà bien expliquées), vous pouvez exécuter des applications graphiques en tant que root. Par exemple, Système → Administration → Synaptic Package Manager est une application graphique qui s'exécute en tant que root.

Pour exécuter une application en tant que root (application texte ou application graphique), utilisez l'une des commandes suivantes:

sudo name-of-the-application
gksu name-of-the-application

Ils sont presque identiques. La principale différence est que la première demande votre mot de passe sur le terminal, la seconde utilise une fenêtre de dialogue graphique.


1
La différence entre sudoet gksuest plus significative que l'endroit où vous entrez votre mot de passe. gksuest préféré pour les applications graphiques et la sudoligne de commande voir ici et ici
Warren Hill

1

Root n’est vraiment pas recommandé pour une utilisation normale, mais vous avez parfois une longue liste de commandes de terminal nécessitant des privilèges root et il est tout simplement plus pratique de vous connecter en tant que root. J'utilise sudo xtermou gksu xtermpour ouvrir un terminal root, je pense que c'est un peu plus facile de distinguer quelle fenêtre de terme a des privilèges root lorsque vous avez l'invite "root @" pratique


0

Remarque supplémentaire: Ubuntu n'autorise pas les utilisateurs de l'interface graphique à se connecter en tant que root, car Ubuntu vous empêche de supprimer ou de supprimer accidentellement des fichiers importants avec des applications d'interface graphique (telles que Nautilus).

Avec une seule interface utilisateur CLI, cela peut réduire le risque d’erreur. Mais auparavant, nous ne pouvons pas nous connecter avec root, même en mode CLI, car Ubuntu crée un mot de passe aléatoire pour root. La tâche administrative racine ne peut être effectuée qu'en utilisant le mot de passe de l'utilisateur avec la commande sudo ou gksu.

C'est basé sur la règle Debian.


que signifie gksu?
Renjith G

1
man gksu: gksu - interface GTK + pour su et sudo
squallbayu

1
Désolé. Encore une fois, ce n'est pas assez clair pour moi.
Renjith G

Je veux dire «gksu» signifie GTK + frontend pour su et sudo.
squallbayu

1
Oui tu as raison. essayez 'gksu nautilus' dans le terminal. Nautilus avec les privilèges root apparaîtra.
squallbayu

0

Etant donné qu'il n'y a pas de bonnes raisons de se connecter en tant que root , je suppose que la différence entre RH (autoriser la connexion root) et ubuntu (tout faire en utilisant sudo / gksu) est une question de préférence.

Pour ce qui est de l’autre partie de votre question, vous devriez pouvoir exécuter votre installation graphique en vous connectant en tant qu’utilisateur ordinaire, en appuyant sur ALT-F2et en entrant gksu. Dans la boîte de dialogue résultante, entrez simplement la commande qui lance votre programme d'installation.


0

La racine n'est pas recommandée pour les tâches quotidiennes. Comme il fournit des super-utilisateurs super-enregistrés, il peut être utilisé à mauvais escient. Il n’existe donc aucune option pour root lors de la connexion.


0

Vous devriez toujours vous connecter en tant que vous-même et ensuite sudo pour effectuer des actions en tant que root. Ubuntu est configuré pour vous permettre la plupart des accès nécessaires par défaut. Des changements mineurs s’occuperont du reste (comme l’ajout de votre habitué à d’autres groupes). Il est considéré comme une mauvaise pratique de se connecter en tant que root. La meilleure pratique de l'industrie est la configuration par défaut ici.

Quelqu'un capable de se connecter en tant que root peut être une très mauvaise chose du point de vue de la sécurité.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.