J'ai installé Ubuntu sur mon PC. Pour me connecter, j'utilise le nom d'utilisateur et le mot de passe 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 l'utilisateur non root soit plus sécurisé que l'utilisateur admin.
sudo
root
users
privileges
administrator
Prénom nom de famille
la source
la source
sudo
. Plus généralement, un administrateur (ou un autre utilisateur autorisé) X peut s'exécuter encommand...
tant que Y avecsudo -u Y command...
. Dans Windows Vista et les versions ultérieures, avec le contrôle de compte d'utilisateur activé , les utilisateurs dotés de pouvoirs administratifs exécutent des programmes sans eux , sauf lorsqu'ils autorisent explicitement un programme à hériter de leurs capacités. Exécuter en tant qu'administrateur apparaît lorsque les UAC sont activés (ou pour un nombre limité d'utilisateurs).Réponses:
Vous êtes un administrateur, mais pas
root
. L'root
utilisateur peut faire n'importe quoi. Les administrateurs peuvent effectuer des actions en tant queroot
, mais généralement, ce que font les administrateurs n'est pas fait parroot
. De cette façon, vous avez le plein contrôle de votre propre système, mais uniquement lorsque vous choisissez de l'utiliser.Ubuntu vous 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 vrais utilisateurs ont des comptes d’utilisateur 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 vrais utilisateurs humains .
Les utilisateurs humains réels se voient accorder (et se voient refuser) des capacités par le biais de leurs comptes d'utilisateurs. Ils doivent utiliser leurs comptes d'utilisateurs pour utiliser le système. par conséquent, les capacités et les limites de leurs comptes d'utilisateurs s'appliquent à eux.
Les comptes d'utilisateurs sont également utilisés pour codifier des ensembles de capacités et de limitations. Certains comptes d'utilisateur - la plupart en fait, sauf si vous avez beaucoup d' 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'
www-data
utilisateur existe de sorte que si vous exécutez un serveur Web, il possède les données rendues accessibles par le serveur. Aucun utilisateur humain réel ne doit être autorisé à apporter des modifications non vérifiées à ces données, et le serveur Web ne doit pas nécessairement être autorisé à effectuer toute action inutile pour servir le Web. Par conséquent, les données Web et le reste du système sont mieux protégés contre les ruptures accidentelles ou intentionnelles que si le serveur Web était géré par un utilisateur humain qui disposerait de tous les pouvoirs du serveur Web (et des pouvoirs de ce serveur) posséder).Le compte d'utilisateur non humain le plus important
Le superutilisateur , dont le nom d'utilisateur est
root
, est un compte d'utilisateur non humain avec une combinaison très spécifique de capacités et de limitations: toutes les capacités et aucune limitation .root
est autorisé à faire n'importe quoi. Il y a encore des choses que l'root
on ne peut pas faire parce que le système lui-même ne peut ni les exécuter ni les comprendre. Donc,root
ne peut pas tuer un processus qui est dans un sommeil ininterruptible , ou faire un rocher trop lourd pour être déplacé, puis déplacez-le .De nombreux processus système importants, tels que
init
, s'exécutent en tant queroot
etroot
sont utilisés pour effectuer des tâches administratives.Puis-je me connecter en tant que
root
?Il est possible de configurer le
root
compte pour pouvoir se connecter avec un mot de passe, mais ceci n'est pas activé par défaut dans Ubuntu. Au lieu de cela, vous pouvez penserroot
comme commewww-data
,lp
,nobody
et d' autres comptes non humains. (Courezcat /etc/passwd
ougetent passwd
pour tous les voir.)Les utilisateurs humains se connectent avec leurs propres comptes d'utilisateur. Par la suite, si une tâche doit être effectuée avec un autre compte d'utilisateur, ils l' exécutent avec cette identité sans s'être réellement connectés en tant que cet utilisateur.
Il est possible de configurer les autres utilisateurs non humains, par exemple
www-data
, pour pouvoir également se connecter en tant que tels. C'est assez rare, cependant, alors que dans certains autres systèmes d'exploitation de type Unix, il est courant de se connecter commeroot
dans un terminal . Les risques liés à l'exécution de toute une interface graphiqueroot
, combinés au nombre de programmes graphiques conçus pour fonctionner en tant que telsroot
et susceptibles de ne pas fonctionner correctement, signifient que vous ne devez jamais tenter d'obtenir une session de bureauroot
dotée de la propriété .Notez que lors de la connexion en tant que
root
est désactivée par défaut dans Ubuntu, il existe des moyens d’obtenir unroot
shell sans s’authentifierroot
, ce qui produit un effet similaire: les plus courants sontsudo -s
ou-i
, le mode de récupération et des techniques similaires . (Ne vous inquiétez pas si vous ne savez pas ce que c'est.) Il ne s'agit pas d'une connexion: en mode de récupération, vous le devenezroot
avant toute connexion; avec lessudo
méthodes basées sur, 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 que
root
, quand ils choisissent de le faire .Paramètres système> Comptes d'utilisateurs. "Eliah Kagan" est un administrateur, donc il peut faire des choses comme
root
, mais il ne l'est pasroot
.Je suis administrateur sur mon système Ubuntu. Lorsque j’exécute des programmes, ils s’exécutent généralement sous le nom
ek
("Eliah Kagan" est le nom complet correspondant auek
nom d’utilisateur.)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 queek
. Les programmes exécutés pour fournir l'interface de bureau s'exécutent en tant queek
.Cependant, je suis un administrateur, donc si je dois effectuer une tâche administrative, je peux le faire.
sudo
Sur la ligne de commande, je voudrais normalement utiliser
sudo
une commande en tant queroot
:Cela me demandera mon mot de passe. (Pas
root
le mot de passe;root
n'en a pas.)root
. Dans la configuration par défaut, je dois entrer mon mot de passe pour le faire.root
, même en entrant leur mot de passe.sudo
les commandes échoueront si l'utilisateur qui les exécute n'est pas un administrateur.Étant donné que les administrateurs sont des utilisateurs tout à fait ordinaires, à l' exception de la possibilité d'effectuer des actions en tant que
root
, l'exécution d'une commande nécessitant desroot
privilèges échouera tout de même, sauf si la commande est exécutée en tant queroot
.Capture d'écran illustrant la nécessité d'utiliser
sudo
pour effectuer des tâches administratives. (Basé sur "Sandwich" de Randall Munroe .)sudo, graphiquement
Programmes graphiques peuvent fonctionner comme
root
par interfaces graphiques poursudo
, commegksu
/gksudo
etkdesudo
. Par exemple, pour exécuter GParted commeroot
je pouvais courirgksudo gparted
. Ensuite, je serais invité graphiquement pour mon mot de passe.Depuis que je suis invité graphiquement, il ne doit pas y avoir de terminal. C’est l’un des moyens utilisés par les outils d’administration
root
.Polkit
Polkit (une fois appelé PolicyKit) est un autre moyen pour les administrateurs de faire les choses comme
root
. Un programme accède à un service qui effectue l'action. Parfois, l'action exécute tout un programme. parfois l'action est plus limitée.De nos jours, de nombreux utilitaires d’administration graphique du système sont configurés pour utiliser polkit par défaut plutôt que pour être utilisé
sudo
.Le Centre de logiciel est un exemple d'un tel utilitaire. Il tire pleinement parti de polkit, obligeant l'utilisateur à entrer son mot de passe uniquement lorsqu'il souhaite faire quelque chose qui nécessite des
root
privilèges. (Ceci est également possible avec l’sudo
authentification basée sur l’utilisateur, mais il est plus difficile et plus laid à accomplir.)Dans le centre logiciel, 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é comme
root
avec d'gksudo
autres interfaces graphiquessudo
. (Le programme ne fonctionnera peut-être pas très bien, selon qu'il est conçu ou non pour être utilisé en tant queroot
. Mais la commande permettant de démarrer le programme sera exécutée en tant queroot
.)Alors que polkit est maintenant plus commun que les
sudo
interfaces graphiques en ce qui concerne la manière dont les applications exécutent des actions enroot
arrière-plan, polki n'exécutera une application graphique queroot
si un fichier de configuration le permettait et indiquait les actions pouvant être effectuées .Polkit, non graphique
pkexec
est la commande utilisée pour exécuter un programme avec polkit.Comme
sudo
,pkexec
peut exécuter des commandes non graphiques. (Et il ne nécessite pas de fichier de configuration définissant les capacités de la commande - il exécute simplement la commande en tant queroot
.)pkexec
demande graphiquement un mot de passe, même s’il est exécuté depuis un terminal (c’est l’une des manières dont son comportement ressemble plus àgksudo
celui de courir droitsudo
).(S'il n'y a pas d'interface graphique - par exemple, si vous êtes connecté à partir d'une console virtuelle ou d'une session SSH avec texte uniquement , ou si l'interface graphique ne fonctionne pas correctement -, il
pkexec
se dégradera normalement et vous demandera votre mot de passe sur la ligne de commande. .)Une fois l'authentification réussie, la commande s'exécute dans le terminal.
Exécuter des commandes en tant qu'autres utilisateurs
root
root
est spécial parce qu'il arrive à faire tout ce qui peut être fait. Mais c'est un compte utilisateur comme n'importe quel compte, et les manières d'exécuter des commandes commeroot
avecsudo
(directement ou avec une interface graphique) ou polkit peuvent être légèrement modifiées pour exécuter une commande comme n'importe quel autre utilisateur:Quelle? Vous venez de taper en
sudo
premier? Comment est cette sécurité?!Exécuter des commandes avec
sudo
est un peu comme invoquer l'infailliblité papale .Lorsque vous exécutez une commande avec
sudo
[invoquer l'infaillibilité papale] , Ubuntu [les gens catholiques] s'efforce de faire en sorte que vous soyez vraiment [le vrai pape].Oui, je sais que l'infaillibilité papale (même normative) est déclarative; le parallèle n'est pas parfait.
Essayer de faire quelque chose comme
root
avecsudo
(ou polkit) est un gros problème - Ubuntu ne laissera pas passer ça comme si de rien n'était.Vous êtes invité à entrer votre mot de passe. (Ensuite, vous vous en souvenez pendant une courte période, vous n’avez donc pas besoin de saisir constamment votre mot de passe pour administrer votre système.)
En plus de vous rappeler de faire attention , ceci vous protège contre deux scénarios:
root
(ce qui inclut tout ce qui est installé par le gestionnaire de paquets, tel que LibreOffice), ou modifier le système à un niveau plus profond.J'ai entendu parler de
su
. Qu'est-ce que c'est? Puis-je l'utiliser?su
s'authentifie en tant qu'un autre utilisateur et exécute une commande (ou démarre un shell interactif). Il est possible de limiter le nombre de personnes autorisées à utilisersu
, mais l'su
authentification est effectuée avec le mot de passe du compte cible , et non le mot de passe de l'utilisateur en cours d'exécution.Par exemple, fonctionne en tant que nom d' utilisateur , tout comme .
su username -c 'command...'
command...
sudo -u username command...
Mais lorsque vous exécutez une commande
username
avecsudo
, vous entrez votre mot de passe . Lorsque vous exécutez une commandeusername
avecsu
, vous entrezusername
le mot de passe .Depuis
su
effectue l'authentification pour l'utilisateur cible ,su
vous ne pouvez exécuter des commandes qu'avec les utilisateurs dont les comptes sont activés .Le
root
compte (commewww-data
etnobody
) est désactivé par défaut. Il n'y a pas de mot de passe qui fonctionnera pour vous connecter en tant queroot
. Vous ne pouvez donc pas utiliser lessu
commandes en tant queroot
.Vous pouvez utiliser
su
pour exécuter des commandes comme un autre utilisateur qui peut se connecter (qui inclut généralement tous les comptes d'utilisateurs sur votre système qui représentent des êtres humains).Lorsque vous êtes connecté en tant qu'invité, vous ne pouvez pas utiliser
su
du tout.La combinaison
su
etsudo
Quelqu'un qui n'est pas administrateur peut même
su
s'exécutersudo
en tant qu'administrateur. (Ceci est correct mais, comme ils ont besoin de mot de passe de l'administrateur pour exécuter des commandes en tant qu'administrateur.) Ainsi, un utilisateur limité peut utilisersu
pour exécutersudo
pour exécuter une commande commeroot
. Cela peut ressembler à:(L'exécution de programmes graphiques de cette manière nécessite des précautions particulières .)
Ne serait pas
su
un moyen plus sûr d'exécuter des commandes en tant queroot
?Probablement pas.
Que faire si un utilisateur ne devrait pas être autorisé à agir en tant que
root
?Faites-en un utilisateur limité au lieu d'un administrateur.
Que se passe-t-il si un programme exécuté en tant qu'administrateur tente de le
sudo
faireroot
?Si vous ne l'avez pas reconfiguré
sudo
pour le laisser réussir sans mot de passe, il échouera.Un programme ne peut-il pas être exécuté en mode
root
piggyback avec unesudo
commande récente , de sorte qu'aucun mot de passe n'est requis?Ce serait très peu probable pour réussir. De nos jours, la plupart des systèmes d'exploitation (y compris Ubuntu) ont été
sudo
configurés par défaut pour que leurs horodatages ne s'appliquent que dans un contexte spécifique.Par exemple, si j'exécute
sudo ...
dans un onglet Terminal et que je m'authentifie correctement,sudo
un autre onglet (ou exécuté par un programme graphique non associé, ou exécuté à partir d'une console virtuelle ou d'une session SSH) demandera toujours un mot de passe. Même si c'est exécuté immédiatement après.Un programme exécuté 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 saisi lorsque l'administrateur s'authentifie avec
sudo
polkit?Potentiellement, oui. Mais alors il pourrait "écouter" à un mot de passe saisi pour
su
.Si je dis à quelqu'un mon mot de passe ...
Ne dites pas votre mot de passe aux gens.
Que se passe-t-il si quelqu'un doit connaître mon mot de passe pour faire quelque chose en mon nom, mais que je ne veux pas le laisser gérer le système?
Idéalement, ils devraient avoir un compte utilisateur distinct qui leur permette de faire ce qu'ils doivent faire. Par exemple, vous pouvez partager des fichiers entre des comptes, ce qui permet à plusieurs utilisateurs de leur écrire, tout en refusant l'accès à d'autres utilisateurs.
Toutefois, dans le cas où une personne moins fiable pourrait être autorisée à partager votre compte, il devrait s'agir d'un compte utilisateur limité. Vous pouvez créer un compte séparé à cette fin (ce qui est logique: s'il s'agit d'un compte pour vous et quelqu'un d'autre pour lequel vous souhaitez disposer de fonctionnalités différentes, il doit s'agir d'un compte différent).
Alors, serait la chose la plus sûre de ne pas accorder à la fois
sudo
etsu
les gens de make connecter en tant queroot
manuellement?Non, car permettre aux utilisateurs de se connecter comme
root
du tout présente de graves inconvénients . Dans la mesure du possible, le plus petit nombre possible d'actions doit être entrepris commeroot
. Même la plupart des actes liés directement à l'administration d'un système (par exemple, regarder quels utilisateurs sont configurés et lire les journaux) ne nécessitent généralement pas deroot
privilèges.En outre, tout comme potentiellement un programme malveillant pourrait regarder quels types de quelqu'un quand ils courent
sudo
ousu
, ou de créer un fauxsudo
/su
mot de passe rapide, potentiellement un programme malveillant pourrait créer un écran de connexion de faux, aussi.Qu'est-ce qui fait qu'un utilisateur est un administrateur?
Appartenance à un groupe.
Dans Ubuntu 12.04 et les versions ultérieures , les administrateurs sont membres du groupe appelé
sudo
.Dans Ubuntu 11.10 et les versions antérieures , les administrateurs sont membres du groupe appelé
admin
.Lorsqu'un système Ubuntu antérieur à 12.04 est mis à niveau vers 12.04 ou une version ultérieure, le
admin
groupe est conservé pour des raisons de compatibilité ascendante (et continue de conférer un pouvoir administratif aux utilisateurs du système), mais lesudo
groupe est également utilisé.Comptes d'utilisateurs limités
Puis-je utiliser un compte utilisateur limité au lieu d'un compte administrateur?
Si vous aimez, bien sûr. Créez un compte utilisateur limité dans Paramètres système > Comptes d'utilisateurs et connectez-vous en tant qu'utilisateur.
Puis-je faire de mon compte administrateur un compte utilisateur limité?
Oui, supprimez-le simplement des groupes
sudo
etadmin
(voir ci-dessus).Cependant, vous devez vous assurer qu'il existe au moins un autre compte administrateur pour pouvoir administrer votre système. Si ce n’est pas le cas, vous devrez alors démarrer en mode de récupération ou sur un CD live et redonner à certains utilisateurs le statut d’administrateur . (Ceci est similaire à la réinitialisation d'un mot de passe administrateur perdu .)
Les outils graphiques permettant d'administrer les utilisateurs et les groupes vous empêchent généralement de créer un système sans administrateur, ou du moins de vous prévenir. Les outils de ligne de commande ne le feront généralement pas (en sachant que vous savez ce que vous faites).
la source
root
n'importe quoi" avecsudo
et PolicyKit. Un administrateur peut même activer leroot
compte et se connecter. Si vous extrayez un compte d'utilisateur comme une combinaison d' actions mécanistes et conscientes, les utilisateurs humains ont des utilisateurs non humains et des utilisateurs non humains, y compris unroot
comportement purement mécanique. Si vous comprenez comment cela fonctionne, alors si votre analogie le renforce, tant mieux! Mais je ne pense pas que cela capture vraiment la relation racine-administrateur.root
Batman. La différence est entièrement une question d'identité construite. Bruce Wayne peut devenir Batman quand il veut et faire presque n'importe quoi, mais il restera toujours Bruce Wayne sous le masque. Pourtant, Batman est plus ce qu'il est vraiment - le personnage de Bruce Wayne est un dispositif qui le protège des conséquences d'être Batman. En se présentant comme Wayne dans la vie quotidienne, il peut souvent se protéger, ainsi que ses proches, contre ses propres erreurs, les failles du système et les logiciels malveillants de Gotham City.Aucune question idiote;)
J'espère que cela clarifie un peu les choses:
Dans Ubuntu, deux types de comptes d’utilisateur différents peuvent être créés: les comptes standard et les comptes d’ 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, alors 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 créés par le système 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 le
sudo
commande dans un terminal, et vous pouvez taper votre mot de passe pour installer un logiciel, apporter des modifications au système, etc. Si vous êtes connecté en tant qu’utilisateur standard, vous ne pouvez pas le faire.la source
sudo
Dans Tous les systèmes Linux Pour apporter des modifications au système, nous devons être authentifiés en tant qu'utilisateur root et pour appliquer toutes les modifications, nous devons être 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 est faite, cela ne concernera que cette zone du système Linux / Unix car attaquer ou modifier les zones restantes. Des autorisations root sont nécessaires, mais sous Windows, si un endroit est attaqué, tout le système sera affecté.
C’est pourquoi, dans de nombreuses questions, si un utilisateur ne demande pas de mot de passe root, nous l’avertirons alors que cela n’est pas recommandé dans des conditions de sécurité et laissons le choix entre eux.
Si vous voulez devenir un utilisateur root, sudo peut vous aider.
Si vous souhaitez lancer l'application en tant qu'utilisateur root, vous pouvez alors utiliser sudo.
Il est toujours préférable d’exécuter le système en tant qu’utilisateur non root.
la source
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
root
qu'utilisateur. Il existe des moyens de contourner ce problème, mais il s'agit du paramètre par défaut.Un compte administrateur dans Ubuntu signifie que l'utilisateur est ajouté au groupe
sudo
, ce qui permet au compte de gagner des privilèges temporairement à l'aide de lasudo
commande. PolicyKit peut demander une élévation de privilèges en indiquant le mot de passe 'Administrateur'. (Vous devez sélectionner un utilisateur administrateur et donner le mot de passe de ce compte.)Pour confirmer que celles-ci sont vraies:
Ouvrez un terminal et essayez de mettre à jour l'index du package logiciel.
apt-get update
est la commande utilisée pour le faire et cela nécessite d'être exécuté en tant que root. Cela fonctionne uniquement lorsque vous vous connectez en tant qu'utilisateur root ou que vous l'exécutez en tant qu'utilisateur root en utilisant des augmentations de privilèges. Un administrateur peut s'exécutersudo apt-get update
en s'authentifiant auprès dusudo
mécanisme qui permet d'exécuter des commandes en tant qu'utilisateur. Un utilisateur standard ne sera pas autorisé à le faire.Ouvrez des comptes d'utilisateurs à partir des paramètres système et essayez d'ajouter un nouvel utilisateur. Le mécanisme de protection utilisé ici est le PolicyKit. Les administrateurs seront autorisés à s'authentifier et à élever leurs privilèges, mais les utilisateurs standard seront bloqués. Un mot de passe administrateur est nécessaire pour continuer.
Voici comment vérifier si votre compte est administrateur ou non:
Administrator
sous le nom du compte dans les deux volets pour les comptes d’administrateur etStandard
pour les utilisateurs normaux.la source
Non.
l'utilisateur avec lequel vous vous connectez à Ubuntu n'est pas l'utilisateur admin (l'utilisateur admin dans la terminologie Linux est appelé root)
la source
root
avecsudo
et PolicyKit).sudo
l'accès peut être limité par le programme que vous essayez d'exécuter en tant que root, ce qui le rend beaucoup plus flou.root
avecsudo
, cela n'a aucune importance. Les administrateurs peuvent exécuter n'importe quelle commanderoot
avecsudo
. Par défaut, aucun autre utilisateur ne peut exécuter de commande avecroot
(ou tout autre utilisateur)sudo
. De plus, cesudo
n’est qu’un des mécanismes permettant d’exécuter des actions en tant que racine - ce que les gens ont tendance à penser,sudo
c’est en fait souvent PolicyKit, de nos jours.