Pourquoi n'y a-t-il pas d'option de connexion en tant que root?

38

Pourquoi Ubuntu ne permet-il pas aux utilisateurs de l'interface graphique de se connecter en tant que root au moment du démarrage du système comme administrateur sous Windows?

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

    
posée Renjith G 13.10.2010 - 06:24
la source

14 réponses

41

Parce qu’il n’est pas recommandé de le faire à moins que vous ne sachiez exactement ce que vous faites. Root est un superutilisateur, ce qui signifie qu'il peut tout et n'importe quoi. Il est uniquement destiné aux tâches administratives. Les tâches quotidiennes peuvent comporter un risque de sécurité qui sera exploité si TOUS (ou une grande partie des utilisateurs) utilisaient root. Think Windows - 99% des logiciels malveillants et des problèmes de virus proviennent de personnes utilisant des comptes administrateur pour les tâches quotidiennes.

Regardons un exemple.

Que faire si quelqu'un s'introduit dans votre système et lui demande d'effacer vos disques? Si vous exécutez en tant qu'utilisateur normal, les seuls fichiers que vous devriez (devraient) pouvoir supprimer sont ceux qui appartiennent à vous et non à quiconque. Si, par exemple, vous aviez d'autres personnes utilisant l'ordinateur, leurs fichiers ne seront pas touchés du tout, peu importe à quel point vous essayez. Cela signifie que vous ne pourrez pas modifier les fichiers système et que, par conséquent, votre système restera solide et non affecté / non infecté.

Si vous exécutez en tant que root, vous pouvez cependant effacer complètement le disque dur, endommageant probablement le matériel lui-même et rendant généralement le système inutilisable. Correction: toute personne pouvant exécuter une commande unique en tant qu'utilisateur root sur votre ordinateur (un site Web malveillant ou une pièce jointe à un courrier électronique) peut le faire.

Consultez lien , c'est un article intéressant pourrait mieux l'expliquer que moi.

EDIT: un autre lien

EDIT2: vous pouvez toujours utiliser sudo command ou gksu command pour exécuter command en tant que superutilisateur, tous deux fonctionnant avec des utilitaires graphiques et de ligne de commande. sudo est généralement utilisé pour l'interface de ligne de commande, cependant, gksu est le mot de passe graphique qui fait la même chose.

Dans une certaine mesure, ils vous permettent de devenir root temporairement - beaucoup, beaucoup beaucoup mieux que de courir constamment en tant que root et de risquer l’instabilité.

    
réponse donnée evgeny 13.10.2010 - 06:36
la source
11

Dans Ubuntu standard, les connexions root ne sont autorisées ni par le gestionnaire de connexion GDM (graphique), ni par la console texte (celle que vous obtenez si vous appuyez sur Ctrl + Alt + F1 ).

Afin d’effectuer les opérations root (c.-à-d. administrateur), vous devez utiliser la commande sudo dans un terminal ou tout équivalent graphique de celle-ci: ceux-ci vous demanderont votre mot de passe puis effectuez l'opération privilégiée demandée (et uniquement celle-là).

La raison de ce comportement est, comme d’autres l’ont souligné, que les opérations root sont intrinsèquement risquées et que le nombre d’opérations nécessitant réellement les privilèges root est relativement faible: sudo approche que vous exécutez la plupart du temps avec un compte non privilégié (c.-à-d. inoffensif pour le système et les autres utilisateurs) et que vous obtenez les puissances root quand vous en avez vraiment besoin.

Un exemple pourrait aider à clarifier. Supposons que vous souhaitiez installer un nouveau service (démon) sur votre machine; Ceci est relativement nouveau et vous devez le lire et comment le configurer selon vos besoins. Vous allez beaucoup parcourir le Web pour trouver des informations, des exemples de configuration, etc. Au final, vous n’avez besoin que d’un accès privilégié pour deux opérations:

  1. installez le nouveau programme (c.-à-d. root ) et
  2. modifier la configuration par défaut

Un principe communément admis dans la sécurité informatique est que utilise toujours le niveau de privilège le moins possible pour effectuer une opération. - cela réduit le risque que quelque chose de mal arrive à cause de bogues dans le logiciel ou opérateur.

La configuration par défaut d'Ubuntu va dans cette direction; Si vous utilisiez un login sudo apt-get install ... , vous auriez fini par surfer sur Internet, en faisant de l'IRC (et peut-être tous les éléments concurrents) du compte root , exposant ainsi inutilement le système à une menace .

Mise à jour: Pour votre exemple de compilation, procédez comme suit:

  1. Connectez-vous au nœud via SSH en tant qu'utilisateur habituel , et depuis un autre Ubuntu ou noeud GNU / Linux où vous avez un affichage graphique X11 fonctionnement. Veillez à activer le transfert X11 sur SSH:

    ssh -X [email protected]
    
  2. À l'invite shell / SSH, lancez la commande:

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

    Cela exécutera le programme d’installation du compilateur avec les privilèges root , et accéder (via le transfert SSH) à l'affichage graphique en face de vous.

réponse donnée Riccardo Murri 13.10.2010 - 10:03
la source
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", j'utilise sudo -s ou sudo -i .

    
réponse donnée Jorge Castro 13.10.2010 - 15:22
la source
6

Mis à part les montagnes d’avertissements avec l’utilisation de root, vous pouvez activer la connexion root en vous connectant et en effectuant les opérations suivantes depuis le 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 compte root .

Le Wiki Ubuntu contient un excellent article sur les profondeurs de root et de sudo dans Ubuntu - mises en garde et pièges.

    
réponse donnée Marco Ceppi 13.10.2010 - 15:17
la source
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 articles ici.

La deuxième question est la suivante: pourquoi les connexions root graphiques sont-elles particulièrement décriées?

Tous les inconvénients des connexions root non graphiques s’appliquent également aux connexions root graphiques. 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 non graphiquement. L'interface utilisateur graphique complète et tous les programmes graphiques nécessaires pour utiliser efficacement une interface graphique seraient exécutés en tant que root. Une minuscule vulnérabilité de sécurité dans l'un d'entre eux permettrait à quelqu'un de prendre le contrôle total de votre système.

La connexion en tant que root n’est pas du tout recommandée dans Ubuntu, mais la communauté de la sécurité ne s’accorde pas à dire qu’elle est universellement mauvaise. Les connexions root graphiques sont toutefois une mauvaise pratique, et presque tous les systèmes d’exploitation les ont progressivement supprimés ou fortement déconseillés.

Dans une moindre mesure, le fait d’avoir un utilisateur non root (en particulier un utilisateur capable d’effectuer 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 être exécuté en tant que root avec des capacités illimitées. Cependant, pour les situations où la sécurité est primordiale, il est généralement conseillé de supprimer complètement les interfaces graphiques, ce qui explique pourquoi Ubuntu Server ne fournit pas d'interface graphique par défaut et recommande officiellement de ne pas en installer (bien qu'il soit pris en charge) .

Dans le monde Windows, vous pouvez désormais installer Windows Server de manière à ce que élimine essentiellement l’interface graphique . (techniquement, certains éléments restent, mais il est très dépouillé 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 que root. L'activation des connexions root peut vous exposer à un risque de sécurité légèrement supérieur. En exécutant un environnement graphique complet en tant que root, vous courez un risque beaucoup plus élevé.

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

Enfin, même certains outils d’administration graphique, aiment users-admin , échouera s'il est exécuté en tant que root, car 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.

    
réponse donnée Eliah Kagan 09.05.2012 - 07:03
la source
4

Ouvrir un terminal ( Ctrl + Alt + T ou Dash home & gt; Plus d’applications & gt; Installé (Expand) & gt; Terminal).

POUR ACTIVER LE COMPTE ROOT

Dans un type de terminal ou collez sudo passwd root . Entrez votre mot de passe de connexion habituel (si cela vous est demandé), puis il vous sera demandé de saisir le nouveau mot de passe root et de le confirmer.

POUR AJOUTER UNE NOUVELLE DEMANDE DE CONNEXION QUI VOUS PERMET D'ENTRER LE ROOT ET SON MOT DE PASSE

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

Ajoutez la ligne greeter-show-manual-login=true au 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 fichier lightdm.conf et quittez gedit.

Redémarrez Ubuntu 12.04 et vous verrez une nouvelle fenêtre "Login" (remplace la fenêtre "Autre" précédente) qui permet la saisie du nom d'utilisateur et du mot de passe. Entrez root pour le 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 root d'accès.

    
réponse donnée Pete 03.05.2012 - 00:53
la source
2

pour Ubuntu 12.04 LTS, vous pouvez le faire en utilisant les privilèges root:

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

Ensuite, vous êtes invité à saisir 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 ya d’innombrables raisons pour lesquelles vous ne devez pas vous connecter directement en tant que root. Cependant, il existe des cas rares (par exemple dans une boîte de test exécutée dans vmware) lorsque vous appréciez vraiment le fait d’être root.

    
réponse donnée Allan Ruin 06.05.2012 - 07:31
la source
1

L'utilisateur root et l'administrateur (sous Windows) équivalent à un dieu sur un ordinateur. Cet utilisateur peut ajuster n'importe quoi, des autorisations de fichier à même effacer le système de fichiers entier. Il est assez courant que l'utilisateur domestique moyen s'exécute en tant qu'administrateur (sous ce nom ou sous un autre nom défini lors du premier démarrage). Comme tout programme exécuté en tant qu'utilisateur est à l'échelle du système, il devient dangereux.

L’absence de contrôle sur les privilèges d’administration permet de détecter 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é la transition vers la puissance élevée par une étape supplémentaire (une étape quelque peu cognitive qui permet d'insister sur le fait que tout changement apporté est plus important).

    
réponse donnée Casey Keller 13.10.2010 - 06:31
la source
1

Bien que vous ne puissiez pas vous connecter directement en tant que root (pour les raisons que d’autres ont déjà bien expliquées), vous pouvez exécuter des applications GUI en tant que root. Par exemple, Système → Administration → Gestionnaire de paquets Synaptic est une application graphique exécutée en tant que root.

Pour exécuter une application en tant qu'utilisateur root (application de 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 le premier demande votre mot de passe sur le terminal, le second utilise une fenêtre de dialogue graphique.

    
réponse donnée Andrea Corbellini 13.10.2010 - 17:41
la source
1

Racine n'est vraiment pas conseillé pour une utilisation normale mais vous avez parfois une longue liste de commandes de terminal qui nécessitent des privilèges root et il est simplement plus pratique de vous connecter en tant que root.   J'utilise sudo xterm ou gksu xterm pour ouvrir un terminal racine   Je pense que c'est un peu plus facile de distinguer quelle fenêtre de terme a les privilèges de root lorsque vous avez l'invite de terme pratique "root @"

    
réponse donnée Barry K 03.05.2012 - 14:11
la source
0

Remarque supplémentaire: Ubuntu ne permet pas aux utilisateurs de l'interface graphique de se connecter en tant que root car Ubuntu vous empêche de supprimer ou de supprimer accidentellement des fichiers importants avec des applications GUI (comme Nautilus).

Avec une interface utilisateur CLI uniquement, 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.

Il est basé sur la règle Debian.

    
réponse donnée squallbayu 13.10.2010 - 09:03
la source
0

Étant donné que il n’ya 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 avec sudo / gksu) est une question de préférence.

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

    
réponse donnée agnul 13.10.2010 - 15:07
la source
0

La racine est non recommandée pour les tâches quotidiennes. Comme il fournit un super utilisateur, il peut être mal utilisé. Il n'y a donc pas d'option pour root lors de la connexion.

    
réponse donnée Ashu 30.04.2012 - 05:44
la source
0

Vous devez toujours vous connecter comme vous-même, puis 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 modifications mineures prendront en charge le reste (par exemple, en ajoutant votre utilisation à 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.

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

    
réponse donnée Hey Gary 30.04.2012 - 07:34
la source

Lire d'autres questions sur les étiquettes