Comment ne pas devenir un utilisateur root? Les administrateurs sont-ils root?

38

J'ai installé Ubuntu sur mon PC. Pour me connecter, j'utilise le nom d'utilisateur et le mot de passe que j'ai créés lors de l'installation. Est-ce que cela signifie que je suis un utilisateur root? Si oui, comment puis-je devenir non root? Il semble que les utilisateurs non root soient plus sécurisés que les utilisateurs admin.

    
posée FirstName LastName 20.01.2013 - 02:48
la source

5 réponses

72

Vous êtes un administrateur, mais pas root . L'utilisateur root peut tout faire. Les administrateurs peuvent effectuer des actions sous la forme root , mais normalement les administrateurs ne le font pas avec% code%. De cette façon, vous avez le contrôle total sur votre propre système, mais uniquement lorsque vous choisissez de l'utiliser.

Ubuntu demande votre mot de passe lorsque vous essayez de faire des choses comme root , pour vous assurer que c'est vraiment vous.

Comptes d'utilisateurs: humains et autres

Les utilisateurs humains réels ont des comptes d'utilisateurs pour les représenter. Vous avez créé un tel compte lorsque vous avez installé Ubuntu. Mais tous les comptes d'utilisateurs ne représentent pas de véritables utilisateurs humains .

Les utilisateurs réels sont dotés (et refusés) de capacités via leurs comptes utilisateurs. Ils doivent utiliser leurs comptes d'utilisateur pour utiliser le système. par conséquent, les capacités et les limites de leurs comptes d'utilisateur s'appliquent à eux.

Les comptes d'utilisateurs sont également utilisés pour codifier des ensembles de capacités et de limitations. Certains comptes utilisateurs - la plupart, en fait, sauf si vous avez plusieurs utilisateurs humains de la machine - existent pour que certains programmes ou commandes puissent être exécutés avec leur identité, une identité avec les capacités et limitations appropriées pour le travail.

Par exemple, l'utilisateur root existe, de sorte que si vous exécutez un serveur Web, il possède les données accessibles par le serveur. Aucun utilisateur humain réel ne doit être habilité à apporter des modifications non vérifiées à ces données, et le serveur Web n'a pas besoin d'être habilité à exécuter des actions inutiles pour servir le Web. Par conséquent, les données Web et le reste du système sont plus sécurisés contre les ruptures accidentelles ou intentionnelles que si le serveur Web était géré par un utilisateur humain disposant de tous les pouvoirs du serveur Web (et dont le serveur Web aurait posséder).

Le compte utilisateur non humain le plus important

Le super-utilisateur , dont le nom d'utilisateur est www-data , est un compte d'utilisateur non humain avec une combinaison très spécifique de capacités et limitations: toutes les capacités et aucune limitation .

root permet de faire n'importe quoi. Il y a encore des choses que root ne peut pas faire parce que le système lui-même ne peut pas fonctionner ou en avoir un sens. Ainsi, root ne peut pas supprimer un processus dans veille ininterrompue , ou rendre un rocher trop lourd à déplacer , puis déplacez-le .

De nombreux processus système importants, tels que root , s'exécutent en tant que init et root sont utilisés pour effectuer des tâches administratives.

Puis-je me connecter en tant que root ?

Il est possible de configurer le compte root pour qu'il soit possible de se connecter avec un mot de passe, mais cela n'est pas activé par défaut dans Ubuntu. Au lieu de cela, vous pouvez penser à root comme étant root , www-data , lp et d'autres comptes non humains. (Exécutez nobody ou cat /etc/passwd pour les voir tous.)

Les utilisateurs humains se connectent avec leurs propres comptes d'utilisateur, et si une tâche doit être effectuée avec un autre compte d'utilisateur, ils effectuent cette tâche avec cette identité , sans avoir réellement connecté en tant que cet utilisateur.

Il est possible de configurer les autres utilisateurs non humains, comme getent passwd , afin de pouvoir se connecter en tant que eux également. C'est assez rare, alors que dans certains autres systèmes d'exploitation de type Unix, il est courant de se connecter sous la forme www-data dans un terminal . Les risques liés à l’exécution de toute une interface graphique sous la forme root , combinés au nombre de programmes graphiques qui ne sont pas conçus pour fonctionner avec root et risquent de ne pas fonctionner correctement, signifient que vous ne devez jamais tenter > session de bureau .

Veuillez noter que si vous vous connectez avec root est désactivé par défaut dans Ubuntu, vous pouvez obtenir un shell root sans authentification en tant que root , ce qui produit un effet similaire: root ou root , mode de récupération et techniques similaires . (Ne vous inquiétez pas si vous ne savez pas ce que ces choses sont.) Cela ne se connecte pas réellement: en mode de récupération, vous devenez sudo -s avant toute connexion; avec les méthodes -i -based, vous exécutez simplement un shell en tant que root.

Administrateurs

Dans Ubuntu, les administrateurs sont les utilisateurs qui peuvent faire ce qu’ils veulent comme root , quand ils le font .


Paramètres système & gt; Comptes utilisateur."Eliah Kagan" est un administrateur, donc il peut faire des choses comme sudo , mais il n'est pas root .

Je suis administrateur de mon système Ubuntu. Lorsque j'exécute des programmes, normalement, ils s'exécutent sous la forme root ("Eliah Kagan" est le nom complet qui correspond à root username.)

Lorsque je lance AbiWord ou LibreOffice, il s'exécute en tant que ek . Lorsque je lance Firefox, Chrome, Empathy ou Pidgin, il s'exécute en tant que ek . Les programmes exécutés pour fournir l'interface de bureau s'exécutent sous la forme ek .

Cependant, je suis administrateur, donc si je dois effectuer une tâche administrative, je peux le faire.

sudo

Sur la ligne de commande, j'utilise généralement ek pour exécuter une commande en tant que ek :

sudo command...

Cela m'invite à entrer mon mot de passe. (Pas le mot de passe sudo ; root n'en a pas.)

  • Comme je suis administrateur, je peux effectuer des actions en tant que root . Dans la configuration par défaut, je dois entrer mon mot de passe pour cela.
  • Les utilisateurs qui ne sont pas administrateurs ne peuvent pas effectuer d’actions comme root , même en mettant leur mot de passe. Les commandes root échoueront si l'utilisateur qui les exécute n'est pas un administrateur.

Les administrateurs étant des utilisateurs tout à fait ordinaires sauf pour pouvoir exécuter des actions avec root , l'exécution d'une commande nécessitant les privilèges sudo échouera toujours, sauf lorsque la commande est exécutée as root .

Capture d'écran illustrant la nécessité d'utiliser root pour effectuer des tâches administratives. (Basé sur "Sandwich" de Randall Munroe .)

sudo, graphiquement

Les programmes graphiques peuvent s'exécuter sous la forme root via des interfaces graphiques pour sudo , telles que root / sudo et gksu . Par exemple, pour exécuter GParted sous la forme gksudo , je pourrais exécuter kdesudo . Ensuite, je serais invité graphiquement pour mon mot de passe.

Comme je suis invité graphiquement, il n’est pas nécessaire d’avoir un terminal. C'est l'une des manières dont les outils d'administration sont exécutés en tant que root .

Polkit

Polkit (autrefois appelé PolicyKit) est un autre moyen pour les administrateurs de faire les choses comme gksudo gparted . Un programme accède à un service qui exécute l'action. Parfois, l'action exécute un programme entier; Parfois, l'action est plus limitée.

De nos jours, de nombreux utilitaires d'administration de système graphique sont configurés pour utiliser polkit par défaut, plutôt que d'utiliser root .

Un exemple d'un tel utilitaire est le centre logiciel. Il tire pleinement parti de polkit, obligeant l'utilisateur à mettre son mot de passe uniquement quand il veut faire quelque chose qui requiert les privilèges root . (Cela est également possible avec l’authentification basée sur sudo , mais il est plus difficile et plus compliqué à accomplir.)

Dans le Software Center, je peux trouver et lire des informations sur une application. alors on me demande mon mot de passe quand je veux l'installer.

Comment polkit est différent

Tout programme graphique peut être exécuté sous la forme root avec sudo et d’autres interfaces graphiques root . (Le programme ne fonctionne peut-être pas très bien selon qu'il est conçu pour être utilisé comme gksudo . Mais la commande pour démarrer le programme sera exécutée sous la forme sudo .)

Alors que polkit est maintenant plus courant que les interfaces graphiques de root comme la façon dont les applications sur Ubuntu exécutent des actions en% Co_de% en arrière-plan, polki n'exécutera qu'une application graphique sous la forme root Si un fichier de configuration le permet et indique les actions à effectuer .

Polkit, non graphique

sudo est la commande utilisée pour exécuter un programme avec polkit.

Comme root , root peut exécuter des opérations non graphiques. commandes. (Et il ne nécessite pas de fichier de configuration définissant les capacités de la commande - il exécute simplement la commande sous la forme pkexec .)

pkexec command...

sudo demande un mot de passe sous forme graphique, même s'il est exécuté à partir d'un terminal (c'est l'une des manières dont son comportement est plus similaire à pkexec qu'à l'exécution directe root ).

(S'il n'y a pas d'interface graphique - par exemple, si vous êtes connecté depuis une console virtuelle ou text-only session SSH , ou l'interface graphique ne fonctionne pas correctement - alors pkexec sera se dégrader gracieusement et demander votre mot de passe sur la ligne de commande.)

Une fois l’authentification effectuée avec succès, la commande est exécutée dans le terminal.

Commandes en cours d'exécution en tant qu'autres utilisateurs Outre gksudo

sudo est spécial car il peut faire tout ce qui peut être fait. Mais c'est un compte utilisateur comme n'importe quel compte, et les façons d'exécuter des commandes avec pkexec avec root (directement ou avec un frontend graphique) ou polkit peuvent être légèrement modifiées pour exécuter une commande comme tout autre utilisateur:

sudo -u username command...
gksudo -u username command...
pkexec --user username command...

quoi? Vous venez de taper root en premier? Comment est cette sécurité?!

Exécuter des commandes avec root est un peu comme appeler l'infaillibilité papale .

Lorsque vous exécutez une commande avec sudo [invoquer l'infaillibilité papale] , Ubuntu [des personnes catholiques ] s’efforce de faire en sorte que vous soyez vraiment [le pape].

Oui, je sais que l’infaillibilité papale (même si elle est normative) est déclarative; le parallèle n'est pas parfait.

Essayer de faire quelque chose comme sudo avec sudo (ou polkit) est un gros problème - Ubuntu ne va pas seulement laisser passer cela comme toutes les autres fois que vous exécutez un programme.

Vous êtes invité à entrer votre mot de passe. (Ensuite, vous vous en souviendrez pendant un court laps de temps, vous n'avez donc pas à saisir constamment votre mot de passe lorsque vous administrez votre système.)

En plus de vous rappelant de faire attention , cela protège contre deux scénarios:

  • Quelqu'un utilise votre ordinateur (ou appareil mobile), peut-être sous le prétexte de vérifier son courrier électronique ou un autre objectif inoffensif. Ici, il leur est encore possible de faire du mal - par exemple, ils peuvent modifier ou supprimer vos documents. Cependant, ils ne peuvent pas administrer le système, car ils ne peuvent pas entrer votre mot de passe.
  • Les programmes qui ne sont pas censés administrer le système ne peuvent pas le faire, sauf si vous entrez votre mot de passe. Par exemple, si votre navigateur Web est compromis par un bogue de sécurité et qu'il exécute un code malveillant, il ne peut toujours pas effectuer de tâches administratives. Il ne peut pas créer et supprimer des utilisateurs, modifier des programmes installés en tant que sudo (ce qui inclut tout ce qui est installé par le gestionnaire de paquets, tel que LibreOffice), ou modifier le système à un niveau profond.

J'ai entendu parler de root . Qu'est-ce que c'est? Puis-je l'utiliser?

sudo s'authentifie en tant qu'autre utilisateur et exécute une commande (ou démarre un shell interactif). Il est possible de limiter qui est autorisé à utiliser root , mais su s’authentifie avec le mot de passe du compte cible , et non le mot de passe de l’utilisateur actif.

Par exemple, su exécute su en tant que nom d'utilisateur , tout comme su .

Lorsque vous exécutez une commande sous la forme su username -c 'command...' avec command... , vous entrez votre mot de passe . Lorsque vous exécutez une commande en tant que sudo -u username command... avec username , vous saisissez le mot de passe de sudo .

Puisque username exécute l'authentification pour l'utilisateur cible , avec su , vous ne pouvez exécuter que des commandes en tant qu'utilisateurs dont les comptes sont activés .

Le compte username (comme su et su ) est désactivé par défaut. Aucun mot de passe ne fonctionnera pour vous connecter en tant que root . Vous ne pouvez donc pas utiliser www-data pour exécuter les commandes sous la forme nobody .

Vous pouvez utiliser root pour exécuter des commandes en tant qu’autre utilisateur pouvant se connecter (ce qui inclut généralement tous les comptes d’utilisateur de votre système représentant des êtres humains).

Lorsque vous êtes connecté en tant qu'invité, vous ne pouvez pas utiliser su du tout.

Combinant root et su

Quelqu'un qui n’est pas administrateur peut même utiliser su pour exécuter su en tant qu’administrateur. (Ceci est correct cependant, car ils ont besoin du mot de passe de l'administrateur pour exécuter les commandes en tant qu'administrateur.) En d'autres termes, un utilisateur limité peut utiliser sudo pour exécuter su . Cela peut ressembler à:

su username -c 'sudo command...'

(Exécution de programmes graphiques de cette façon nécessite une attention particulière .)

sudo ne serait-il pas un moyen plus sûr d'exécuter les commandes en tant que su ?

Probablement pas.

Que faire si un utilisateur ne devrait pas être autorisé à agir en tant que sudo ?

Faites-en un utilisateur limité au lieu d'un administrateur.

Que se passe-t-il si un programme exécuté en tant qu’administrateur essaie de root à su ?

Sauf si vous avez reconfiguré root pour le laisser réussir sans mot de passe, il échouera.

Un programme qui ne devrait pas être exécuté en tant que root ne peut-il pas être installé sur une récente commande sudo , donc aucun mot de passe n'est requis?

Cela aurait très peu de chances de réussir.De nos jours, la plupart des systèmes d'exploitation (y compris Ubuntu) ont configuré root par défaut pour que leurs horodatages ne s'appliquent que dans un contexte spécifique.

Par exemple, si je lance sudo dans un onglet Terminal et que je m'authentifie avec succès, root dans un autre onglet (ou exécuté par un programme GUI indépendant ou que je lance depuis une console virtuelle ou une session SSH) pour un mot de passe. Même s'il est exécuté immédiatement après.

Un programme s'exécutant en tant qu'utilisateur X n'a-t-il pas accès au mot de passe de l'utilisateur X?

Non.

Si un programme malveillant peut s'exécuter en tant qu'administrateur, ne peut-il pas "écouter" ce qui est tapé lorsque l'administrateur s'authentifie avec sudo ou polkit?

Potentiellement, oui. Mais alors il pourrait "écouter" un mot de passe tapé pour sudo .

Si je dis à quelqu'un mon mot de passe -

Ne dites pas votre mot de passe aux gens.

Que faire si quelqu'un doit connaître mon mot de passe pour faire quelque chose en mon nom, mais je ne veux pas le laisser administrer le système?

Idéalement, ils doivent disposer d’un compte utilisateur distinct qui leur permet de faire ce qu’ils doivent faire. Par exemple, vous pouvez partager des fichiers entre comptes, ce qui permet à plusieurs utilisateurs de leur écrire, tout en refusant l'accès à d'autres utilisateurs.

Cependant, dans une situation où une personne moins fiable peut être autorisée à partager votre compte, cela devrait être un compte utilisateur limité. Vous pouvez créer un compte distinct à cet effet (ce qui est logique - si ce compte est pour vous et pour quelqu'un d'autre que vous souhaitez disposer de fonctionnalités différentes, le compte doit être différent).

Alors, le plus sûr serait-il d'interdire les deux sudo ... et sudo et de faire en sorte que les gens se connectent manuellement en tant que sudo ?

Non, car laisser les gens se connecter en tant que su présente de sérieux inconvénients. Dans la mesure du possible, le plus petit nombre d'actions possible doit être effectué en tant que sudo . Même la plupart des actes liés directement à l’administration d’un système (par exemple, à la configuration des utilisateurs et à la lecture des journaux) ne nécessitent généralement pas les privilèges su .

De même que potentiellement un programme malveillant pouvait regarder ce que quelqu'un tape lorsqu'il lance root ou root , ou crée une fausse invite root / root password, potentiellement un programme malveillant pourrait également créer un faux écran de connexion.

Qu'est-ce qui fait d'un utilisateur un administrateur?

Appartenance à un groupe.

Dans Ubuntu 12.04 et versions ultérieures , les administrateurs sont membres du groupe appelé sudo .

Dans Ubuntu 11.10 et versions antérieures , les administrateurs sont membres du groupe appelé su .

Lorsqu'un système Ubuntu antérieur à 12.04 est mis à niveau vers 12.04 ou version ultérieure, le groupe sudo est conservé pour compatibilité descendante (et continue de conférer de la puissance administrative aux utilisateurs), mais le groupe su est également utilisé.

Comptes d'utilisateurs limités

Puis-je utiliser un compte d'utilisateur limité au lieu d'un compte d'administrateur?

Si vous aimez, bien sûr. Créez un compte utilisateur limité dans Paramètres système & gt; Comptes d'utilisateurs et connectez-vous en tant qu'utilisateur.

Puis-je créer un compte utilisateur limité pour mon compte administrateur?

Oui, supprimez-le simplement des groupes sudo et admin (voir ci-dessus).

Mais vous devez vous assurer qu’il existe au moins un autre compte administrateur, de sorte que vous puissiez administrer votre système. Si ce n’est pas le cas, vous devez démarrer en mode de récupération ou un CD en direct et faire de certains utilisateurs un administrateur à nouveau . (Cette est similaire à < a href="https://ubuntuplace.info/questions/1545/comment-reinitialiser-un-mot-de-passe-administratif-perdu"> réinitialiser un mot de passe administrateur perdu .)

Les outils graphiques permettant d’administrer des utilisateurs et des groupes vous vous empêcheront généralement de créer un système sans administrateur, ou du moins de vous avertir. Les outils en ligne de commande ne le feront généralement pas (en confiant que vous savez ce que vous faites).

    
réponse donnée Eliah Kagan 20.01.2013 - 08:24
la source
4

Pas une question stupide;)

J'espère que cela clarifie un peu les choses:

Dans Ubuntu, deux types de comptes utilisateur différents peuvent être créés: les comptes standard et administrateur . La différence entre les deux: un compte standard n'est pas autorisé à apporter des modifications importantes à votre système en obtenant un accès root, tandis qu'un compte administrateur peut utiliser son mot de passe pour apporter des modifications en tant qu'utilisateur root. L'utilisateur racine lui-même est l'un des nombreux utilisateurs que le système a créés et que vous ne voyez ou ne remarquez pas normalement, et vous ne pouvez pas vous connecter en tant que tel (par défaut, de toute façon). Si vous êtes connecté à un compte de type administrateur, vous pouvez devenir cet utilisateur racine avec la commande sudo dans un terminal et vous pouvez saisir votre mot de passe pour installer le logiciel, apporter des modifications au système, etc. connecté en tant qu'utilisateur standard, vous ne pouvez pas faire cela.

    
réponse donnée Richard 20.01.2013 - 04:55
la source
3

Dans tous les systèmes Linux Pour apporter des modifications au système, vous devez être authentifié en tant qu'utilisateur root et, pour appliquer toutes les modifications, vous devez être un utilisateur root.

Les utilisateurs normaux ne peuvent pas appliquer les modifications à l’ensemble du système. C’est l’avantage de Linux par rapport aux fenêtres.

Si une attaque se produit alors, cela n'atteindra que cette zone du système Linux / Unix car pour attaquer ou modifier les zones restantes. Il a besoin des droits root mais sous Windows, si un site est attaqué / p>

C'est pourquoi, dans de nombreuses questions seulement, si un utilisateur n’a pas demandé de mot de passe root, nous l’avertirons, car cela n’est pas recommandé dans des conditions de sécurité et nous nous chargeons de les choisir.

Si vous souhaitez devenir un utilisateur root, sudo peut vous aider.

sudo -i 

Si vous souhaitez lancer l’application en tant qu’utilisateur root, alors vous pouvez sudo.

sudo <app_name>

Il est toujours préférable d’exécuter le système en tant qu’utilisateur non root.

    
réponse donnée Ten-Coin 20.01.2013 - 04:44
la source
3

Le compte créé lors de l’installation est un compte administrateur .

Dans Ubuntu, le compte root n’a pas de mot de passe et, par conséquent, vous ne pouvez pas vous connecter en tant qu’utilisateur root . Il existe des moyens de contourner cela, mais c'est le paramètre par défaut.

Un compte d’administrateur dans Ubuntu signifie que l’utilisateur est ajouté au groupe sudo , ce qui rend le compte éligible pour gagner temporairement des prédilèges à l’aide de la commande sudo . PolicyKit peut demander une augmentation de privilège en demandant le mot de passe «Administrateur». (Vous devez sélectionner un utilisateur administrateur et donner le mot de passe de ce compte.)

Pour confirmer que cela est vrai:

  • Ouvrez un terminal et essayez de mettre à jour l’index du progiciel. apt-get update est la commande utilisée pour cela et nécessite d'être exécuté en tant que root. Il ne fonctionne que lorsque vous vous connectez en tant que root, ou l'exécutez en tant que root en utilisant des augmentations de privilèges. Un administrateur peut exécuter sudo apt-get update en s'authentifiant auprès du mécanisme sudo , ce qui permet aux commandes d'être exécutées comme n'importe quel utilisateur. Un utilisateur standard ne sera pas autorisé à le faire.

  • Ouvrez les comptes d'utilisateur à partir des paramètres système et essayez d'ajouter un nouvel utilisateur. Le mécanisme de protection utilisé est le PolicyKit. Les administrateurs seront autorisés à authentifier et à escalader les privilèges, mais les utilisateurs standard seront bloqués. Il faut un mot de passe administrateur pour continuer.

Voici comment vous vérifiez si votre compte est administrateur ou non:

  • Ouvrir les comptes utilisateur à partir des paramètres système.
  • Sélectionnez votre compte d'utilisateur dans la colonne de gauche.
  • Vous devriez voir Administrator sous le nom du compte dans les deux volets pour les comptes d'administrateur et Standard pour les utilisateurs normaux.
réponse donnée Mahesh 20.01.2013 - 08:39
la source
2

Non.

l'utilisateur avec lequel vous vous connectez à Ubuntu n'est pas l'administrateur (L’utilisateur admin dans la terminologie Linux est appelé root)

    
réponse donnée tomodachi 20.01.2013 - 03:01
la source

Lire d'autres questions sur les étiquettes