web-dev-qa-db-fra.com

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

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?

39
Renjith G

Parce qu'il n'est pas recommandé de le faire, sauf si vous savez 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 présenter 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 d'utilisateurs 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 utilisez un utilisateur normal, les seuls fichiers que vous devriez (devriez) pouvoir supprimer sont ceux qui vous appartiennent , et à personne 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 et que, par conséquent, votre système restera solide et sans altération/infestation.

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: toute personne pouvant exécuter une commande unique en tant que root sur votre ordinateur (un site Web malveillant ou une pièce jointe à un courrier électronique) peut le faire.

Jetez un oeil à http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , est un article de Nice 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 command ou gksu command pour exécuter le command en tant que superutilisateur. Ces deux outils fonctionnent avec des utilitaires graphiques et en ligne de commande. Sudo est généralement utilisé pour la CLI, cependant, et gksu est le mot de passe graphique promt qui fait la même chose.

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

42
evgeny

Dans Ubuntu standard, les noms rootne sont autorisés, ni à partir du gestionnaire de connexions GDM (graphique), ni à partir de la console de texte (c'est-à-dire celle que vous obtenez si vous appuyez sur Ctrl+Alt+F1).

Pour effectuer des opérations root(c'est-à-dire, administrateur), vous devez utiliser la commande Sudodans un terminal, ou toute interface graphique équivalente: elle vous demandera 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 déjà souligné, que l'exécution de rootest intrinsèquement risquée et que le nombre d'opérations nécessitant réellement des privilèges rootest comparativement faible. : en utilisant cette approche Sudovous utilisez la plupart du temps avec un compte non privilégié (c'est-à-dire sans danger pour le système et les autres utilisateurs) et obtenez simplement les pouvoirs de rootquand vous en avez vraiment besoin.

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 naviguer beaucoup sur le Web pour trouver des informations, des exemples de configuration, etc., peut-être aurez-vous une conversation IRC pour demander plus d’informations - rien de tout cela ne nécessite rootname__! 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 communément admis en sécurité informatique est que utilise toujours le niveau de privilège le plus faible possible pour effectuer une opération - ce qui réduit le risque que quelque chose de mauvais se produise à cause de: des bugs dans le logiciel ou des erreurs de l'opérateur.

La configuration par défaut d'Ubuntu va dans cette direction; si vous utilisiez un identifiant rootname__, vous auriez fini par surfer sur Internet, en faisant IRC (et peut-être tous les autres éléments qu’il effectue simultanément) à partir du compte rootname__, exposant ainsi inutilement le système. une menace.

pdate: Pour votre exemple de compilateur, je procéderais de la façon 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 [email protected]
    
  2. À l'invite Shell/SSH, émettez la commande suivante:

    Sudo /path/to/the/compiler/install/program
    

    Cela exécutera le programme d'installation du compilateur avec les privilèges rootet permettra d'accéder (par le biais du transfert SSH) à l'affichage graphique devant vous.

11
Riccardo Murri

Le raisonnement derrière l’utilisation de Sudo dans Ubuntu peut être trouvé ici . Si vous avez besoin d'un moyen rapide de "passer à la racine", j'utilise Sudo -s ou Sudo -i.

8
Jorge Castro

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

Ceci 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 buntu Wiki contient un excellent article sur les profondeurs de racine et de Sudo dans Ubuntu - mises en garde et pièges.

6
Marco Ceppi

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 postes 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 n’a pas de interface graphique fournie par défaut et recommande officiellement de ne pas en installer (bien que cela soit pris en charge) .

Dans le monde Windows, vous pouvez maintenant installer Windows Server d’une manière qui élimine essentiellement l’interface utilisateur graphique (techniquement, certains éléments restent, mais il est très réduit 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 supérieur. exécuter 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. Parce qu'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 s'exécutent en tant que root ).

Enfin, même certains outils d’administration graphique, comme users-admin , échoueront s’ils sont exécutés en tant que 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. .

5
Eliah Kagan

Terminal ouvert (Ctrl+Alt+T ou Dash home> Plus d'applications> Installées (développez)> Terminal).

POUR ACTIVER LE COMPTE RACINE

Dans un terminal, tapez ou collez Sudo passwd root. Entrez votre mot de passe de connexion normal (si on vous le demande), vous devrez alors saisir le nouveau mot de passe rootet le confirmer.

POUR AJOUTER UN NOUVEAU GUIDE DE CONNEXION QUI VOUS PERMET D'ENTRER 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=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 "Connexion" (remplace la fenêtre "Autre" précédente) qui permet la saisie du nom d'utilisateur et du mot de passe. Entrez rootpour le nom d'utilisateur, puis entrez le mot de passe que vous avez attribué au compte root.

J'espère que cela aidera les autres personnes qui ont besoin/désirent rootname__.

4
Pete

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 des 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.

2
Allan Ruin

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 du système de fichiers entier. 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é (une é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").

1
Casey Keller

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 → Gestionnaire de paquets Synaptic 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
Andrea Corbellini

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 xterm ou gksu xterm pour 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 le terme "racine @" pratique Prompt

1
Barry K

Vous devez 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é.

0
Hey Gary

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.

0
squallbayu

Étant donné que 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-F2 et en saisissant gksu. Dans la boîte de dialogue résultante, entrez simplement la commande qui lance votre programme d'installation.

0
agnul

La racine 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
Ashu