Conseils utiles

Comment devenir le superutilisateur de votre téléphone ou tablette Android

De nombreuses commandes ne peuvent être exécutées que par le superutilisateur. Nous avons donc besoin de savoir comment les devenir (racine). Pour ce faire, nous pouvons utiliser la commande: su (changer d'utilisateur). La commande su accepte les formats suivants:

mais plus souvent nous utiliserons su pour devenir utilisateur racine:

Si le nom d'utilisateur n'est pas spécifié dans la ligne, l'utilisateur root est automatiquement pris en compte, ce qui permet de raccourcir la commande:

mais les deux équipes se comportent différemment. 'su' donne à l'utilisateur actuel une identité, tandis que 'su -' donne à l'utilisateur actuel une identité ainsi que l'environnement pouvant être obtenu en s'enregistrant sous.

Les utilisateurs utilisent souvent 'su' pour aller à la racine. Si vous essayez d'exécuter une commande (par exemple, ifconfig), vous obtiendrez l'erreur: 'commande introuvable'.

La raison en est que les utilisateurs système ordinaires et l'utilisateur root ont différentes variables d'environnement PATH (vous pouvez consulter le chemin PATH de l'utilisateur à l'aide de "echo $ PATH). Après avoir entré la commande Linux, le shell cherchera l'utilisateur PATH pour essayer de trouver la commande à exécuter. lance une recherche dans chaque répertoire spécifié dans PATH jusqu'à ce que la cible soit trouvée.

Les commandes utilisateur courantes se trouvent généralement dans / usr / local / bin, / usr / bin et / bin. Et les commandes de l'utilisateur root se trouvent principalement dans / usr / local / sbin, / usr / sbin, / sbin et le chemin d'accès PATH racine en est le reflet. Par conséquent, lorsque vous devenez superutilisateur avec "su -", vous acceptez également le nouveau chemin PATH des commandes principales. Et en n'utilisant que 'su', le chemin PATH par défaut de l'utilisateur est enregistré. Par conséquent, lorsque vous tentez d'exécuter un programme situé dans / usr / local / sbin, / usr / sbin, / sbin renvoie le résultat suivant: erreur 'commande introuvable ». Pour une explication plus détaillée, reportez-vous à la page de manuel (man bash), en particulier à la section sur les coquilles de connexion.

Ainsi, vous devez soit spécifier le chemin d'accès complet à la commande (par exemple, / sbin / ifconfig) lorsque vous utilisez 'su', soit utiliser 'su -' lorsque vous devenez la racine.

2. Utilisation de Sudo

Vous n'avez pas besoin d'être superutilisateur à chaque fois que vous souhaitez exécuter des fonctions administratives spécifiques. Merci beaucoup Sudo, vous pouvez exécuter tout ou partie des commandes en tant qu’utilisateur root. Quand Sudo installé (package: Sudo), vous pouvez le configurer en utilisant la commande 'visudo' en tant que root. Il édite principalement (Vim par défaut) / etc / sudoers, mais il n’est pas recommandé de le faire manuellement.

Ainsi, un moyen rapide et non recommandé d’utiliser Sudo est d’ajouter des sudoers à la fin du fichier:

Alex est le nom d'utilisateur. Enregistrez (appuyez sur échap, puis tapez wq) et vous avez terminé. Connectez-vous en tant que alex et lancez par exemple:

Sudo demandera un mot de passe. C'est le mot de passe de alex, pas l'utilisateur root. Soyez donc prudent lorsque vous accordez des droits d'utilisateur avec Sudo.

Mais Sudo peut faire plus que cela. Nous pouvons autoriser un utilisateur ou un groupe d'utilisateurs à exécuter une seule commande ou groupe de commandes. Revenons à notre fichier sudoers. Commençons par alex et alisa, membres du groupe des administrateurs. Si nous voulons que tous les utilisateurs du groupe d’administrateurs puissent exécuter chaque commande en tant que superutilisateur, nous devons modifier notre exemple:

Alex peut également exécuter la commande superutilisateur et alisa a le droit d’exécuter Sudo avec les mêmes droits et avec son mot de passe. Si alex et alisa ne font pas partie du même groupe, nous pouvons définir l'alias de l'utilisateur dans le fichier sudoers:

Ici, nous avons défini un alias appelé ADMINS, avec les membres alisa et alex.

Cependant, nous ne voulons pas que alex et alisa puissent exécuter un programme doté des privilèges de superutilisateur. Nous voulons qu'ils ne puissent exécuter que 'updatedb'. Définissons l'alias de commande:

Mais cela ne suffit pas! Nous devons dire à Sudo que les utilisateurs définis comme ADMINS peuvent exécuter les commandes spécifiées dans LOCATE. Pour ce faire, nous allons remplacer les lignes par "% admin" par celles-ci:

Cela signifie que les utilisateurs de l'alias ADMINS peuvent exécuter toutes les commandes de l'alias LOCATE.

Cette fois, / etc / sudoers ressemble à ceci:

En conséquence, alex et alisa peuvent exécuter updatedb en tant que root en entrant leur mot de passe.

Si la dernière ligne du fichier est modifiée:

alors alex et alisa pourront exécuter 'sudo updatedb' sans entrer de mot de passe.

Vous pouvez ajouter d'autres équipes à l'alias de l'équipe et d'autres alias dans la règle. Par exemple, nous pouvons créer un alias NETWORKING contenant des commandes réseau telles que: ifconfig, route ou iwconfig:

Ajoutons tout cela à notre fichier / etc / sudoers (en utilisant visudo!). Et donnez également à notre groupe ADMINS le droit d'exécuter des programmes à partir de l'alias NETWORKING:

Petit échantillon: connectez-vous en tant que alisa (ou alex) et tapez:

La réponse devrait revenir rapidement:

Maintenant, la même chose mais avec Sudo:

Sudo souvent utilisé pour donner à certains utilisateurs un accès partiel à des commandes privilégiées afin qu'ils puissent effectuer des tâches administratives limitées. Une des commodités Sudo en ce que toutes les commandes sont écrites dans / var / log / secure. L'exemple ci-dessus sera décrit par une ligne dans le journal:

C'est tout. Maintenant, je n’oublierai jamais lors de mon utilisation de Sudo: «un grand pouvoir implique une grande responsabilité».

2.1 Coquille Sudo

Si vous avez suffisamment de droits configurés dans sudoers, vous pouvez également ouvrir le shell root à l'aide de:

Dans les versions récentes uniquement sur CentOS 5, sudo -s est utilisé pour exécuter le shell en tant que root. Soyez très prudent, car cela peut modifier ou créer de nouveaux fichiers dans le répertoire de base Root et l’installer dans le répertoire de base de l’appelant.

3. consolehelper

Consolehelper est un shell permettant de lancer des applications à interface graphique. Lorsqu'il commence à fonctionner, il vérifie la configuration de PAM pour l'application requise. Cela signifie que nous pouvons authentifier l'utilisateur à l'aide de tous les modules PAM installés. La méthode de base consiste à demander un mot de passe, mais si nous avons le bon équipement. nous pouvons nous authentifier en utilisant des cartes à puce, des jetons, des empreintes digitales, etc. La configuration de PAM dépasse le cadre de ce document (voir le Guide de l'administrateur PAM). Nous allons donc examiner l'étape de configuration consolehelper, nécessaire pour lancer des applications en tant que root et demander le mot de passe root.

Par exemple, configurons / usr / bin / xterm pour s’exécuter en tant que root.

Premièrement, nous voulons conserver la possibilité d’exécuter Xterm en tant qu’utilisateur régulier. Par conséquent, créez un lien symbolique / usr / bin / xterm-root pour / usr / sbin / consolehelper:

Maintenant, pour configurer PAM, créez le fichier /etc/pam.d/xterm-root:

Enfin, configurez consolehelper pour exécuter / usr / bin / xterm en tant que root avec la commande 'xterm-root'. Créez le fichier /etc/security/console.apps/xterm-root:

C'est tout. Exécutez 'xterm-root' (à partir de la ligne de commande ou du fichier de raccourci .desktop), entrez le mot de passe et le chemin. Si vous recevez un message d'erreur: "Xlib: connexion à": 0.0 "refusé par le serveur", exécutez d'abord "xhost local: root".

Qu'est-ce qu'un superutilisateur?

Le processus d'obtention des droits de superutilisateur en anglais s'appelle root, du nom du superutilisateur des systèmes Unix (root).

L'enracinement implique tout d'abord de sauvegarder une copie de votre logiciel dans un endroit sûr, puis d'installer un nouveau logiciel modifié (une nouvelle version d'Android appelée micrologiciel).

C'est pour quoi?

En tant que superutilisateur, vous ne trouverez pas d’étonnantes nouvelles applications essentielles, mais vous en trouverez suffisamment pour justifier vos efforts. Par exemple, certains programmes vous permettent de sauvegarder automatiquement toutes vos applications et données, d'autres peuvent bloquer presque totalement les annonces, établir une connexion Internet sécurisée, overclocker le processeur, transformer votre gadget en point d'accès sans fil.

Enracinement en un clic

Auparavant, vous devez installer les programmes nécessaires, mais le processus d’enracinement se déroule vraiment en un clic. L'ensemble prend quelques minutes, après quoi vous ne pouvez que redémarrer votre gadget Android.

Il existe des programmes gratuits qui prétendent avoir la possibilité de rooter Android en un clic, mais il est très important d’être prudent lors de leur choix. En cas de doute, faites plus de recherches. Le forum XDA Developers est la source la plus fiable (/ note du traducteur /: il est dommage qu’il n’y ait presque pas de tablettes sur ce merveilleux forum).

Votre appareil spécifique

Lorsque vous trouvez le manuel correspondant à votre appareil, il ne vous reste plus qu'à suivre toutes les instructions de manière méthodique. Cette procédure risque d'être difficile et peut prendre beaucoup de temps. Voici, par exemple, le guide racine du Samsung Galaxy S3. Un document assez impressionnant au premier abord, mais si vous commencez à l'exécuter étape par étape, vous obtiendrez un succès sans trop de maux de tête. En cas de difficulté, vous pouvez toujours poser une question sur le forum XDA Developers.

Rut ou pas rut?

Les avantages de l’enracinement pour prolonger la durée de vie de la batterie, l’installation d’applications root, un micrologiciel spécial, l’overclocking du processeur, la fin des logiciels encombrants et inutiles, l’amélioration des performances et la possibilité de mettre à jour votre gadget à tout moment. Si vous n'êtes pas impressionné par ces perspectives, alors, très probablement, l'enracinement n'est pas pour vous.

Privilèges de superutilisateur sous Linux

Il est très long d’énumérer ce qu’un utilisateur Linux ordinaire ne peut pas énumérer, il est plus facile de dire à quoi il a le droit, à savoir, avec le paramètre d’autorisation standard pour les fichiers sous Linux, un utilisateur ordinaire peut:

  • Lire, écrire et modifier les attributs de fichier dans votre répertoire
  • Lire, écrire, modifier les attributs de fichier dans le répertoire / tmp
  • Exécuter des programmes où il n'est pas interdit d'utiliser l'indicateur noexec
  • Lire les fichiers pour lesquels l'indicateur de lecture est défini pour tous les utilisateurs.

Si vous avez besoin de faire quelque chose de plus, nous avons besoin des privilèges root de l'utilisateur Linux. Root a le droit de tout faire dans votre système de fichiers, quels que soient les droits définis sur le fichier.

Connexion super utilisateur

Pour vous connecter en tant que root, vous pouvez basculer vers l'une des consoles virtuelles, par exemple, à l'aide du raccourci clavier Ctrl + Alt + F1, puis entrez le nom d'utilisateur et le mot de passe root de l'utilisateur.

Vous obtiendrez un environnement racine complet avec la possibilité d'exécuter toutes les actions, mais cette méthode est très peu pratique car vous perdez tous les avantages liés à l'utilisation de l'interface graphique.

Vous pouvez faire exactement le contraire, entrez le nom d'utilisateur et le mot de passe root dans le gestionnaire de connexion graphique, de sorte que l'environnement de bureau fonctionne en tant que root, et nous obtenions toutes les autorisations root sur Linux, mais cette option est hautement recommandée et très dangereuse, vous pouvez tout endommager accidentellement. le système. Par conséquent, cette méthode a été désactivée dans de nombreux gestionnaires de connexion.

Passer au superutilisateur dans le terminal

Nous arrivons maintenant à un sujet plus intéressant et pratique. À l'aide d'utilitaires spéciaux, vous pouvez basculer l'émulateur de terminal actuel vers l'environnement de superutilisateur et exécuter toutes les commandes suivantes, non pas pour vous, mais pour celui-ci, conférant ainsi au programme des privilèges linux. Il existe un utilitaire su pour cela. De manière générale, cet utilitaire permet non seulement de basculer vers l'utilisateur root, mais également vers tout autre utilisateur, mais que root est utilisé par défaut. Voyons cela plus en détail. La commande su linux a la syntaxe suivante:

$ su options utilisateur

Voici ses principales options:

  • -c, --command - exécuter la commande
  • -g, --group - définir le groupe d'utilisateurs principal (uniquement pour root)
  • -G --supp-group - groupes d'utilisateurs supplémentaires (uniquement pour root)
  • -, -l, --login - en mode connexion, toutes les variables d'environnement seront effacées et initialisées en tenant compte du nouvel utilisateur, et le répertoire de base sera également modifié
  • -p, --preserve-environment - sauvegarder les variables d'environnement
  • -s, --shell - définir le shell de connexion
  • --version - afficher la version du programme.

Essayons maintenant un peu de comprendre le fonctionnement de la commande su linux.

D'abord, exécutez su sans paramètres, mais créez d'abord une variable d'environnement pour vérifier comment cette commande les gère:

Voyons maintenant ce qui s'est passé:

whoami
$ pwd
$ echo $ VAR
$ echo $ PATH
$ exit

A partir de ces commandes, nous voyons que nous sommes maintenant l'utilisateur root, mais le répertoire de notre utilisateur précédent est considéré comme le répertoire de base et notre variable n'a pas été enregistrée. La variable PATH a également changé. Le chemin / sbin est ajouté à cet emplacement.

Nous utilisons maintenant le login en mode login:

Et répétez la même combinaison:

whoami
$ pwd
$ echo $ VAR
$ echo $ PATH
$ exit

La même situation, mais cette fois, le répertoire de base du répertoire racine a également été modifié. Mais nous pouvons sauvegarder nos variables d'environnement si nécessaire. Pour cela, il y a l'option -p:

Comme vous pouvez le constater, notre variable reste. Vous pouvez également basculer vers un autre utilisateur. Par exemple:

L'obtention des privilèges superutilisateur de cette manière est utilisée dans de nombreuses distributions, telles que Debian, OpenSUSE, ArchLInux, Gentoo, etc. Mais sous Ubuntu, en tant que kit de distribution pour les débutants, la connexion root est désactivée. Ceci est fait parce que ce n’est pas non plus très sûr, vous pouvez oublier que vous exécutez une commande à partir de la racine et faites quelque chose sur le système. Par conséquent, nous passons au programme suivant.

Obtention des privilèges root sans basculer

Pour mettre en œuvre l'interface la plus sécurisée permettant de travailler avec les privilèges de superutilisateur sous Linux, la commande sudo a été développée. Regardons ce qu'est sudo. Cette commande est écrite avant chaque commande devant être exécutée pour le compte du super-utilisateur. Pour l’exécuter, vous devez entrer le mot de passe qui n’est plus root, mais uniquement votre utilisateur. Comme dans le précédent, cet utilitaire a ses propres options. Tout d'abord, considérons la syntaxe:

Commande $ sudo options

  • -b - exécuter l'utilitaire lancé en arrière-plan
  • -E - sauvegarder les variables d'environnement
  • -g - lancer une commande depuis un groupe
  • -H - utiliser le répertoire personnel
  • -l - afficher la liste des autorisations dans sudo pour l'utilisateur actuel
  • -r - utiliser le rôle SELinux pour l'équipe
  • -s - utiliser une coquille
  • -u - lance la commande en tant qu'utilisateur, sinon la racine est utilisée
  • -i - n'exécute pas la commande mais entre le shell, équivalent à su -

Vous pouvez effectuer les mêmes expériences, uniquement pour cette commande, pour comprendre comment utiliser la commande sudo. Par exemple:

L'utilisation de sudo est la méthode recommandée pour exécuter des commandes en tant que root sous Linux. Ainsi, vous n'oublierez pas votre problème et le moindre risque est de nuire au système. Mais il y avait une autre question non résolue - qu'en est-il des utilitaires graphiques? Après tout, la commande sudo ne les démarre pas et l’exécution du shell graphique en tant que root n’est pas sans danger. Nous allons examiner cela plus loin.

Graphiquement les applications en tant que root

Il existe des utilitaires spéciaux pour l'exécution d'applications graphiques pour le compte du superutilisateur. Ils conservent toutes les variables d'environnement et autorisations nécessaires. Dans KDE, il s'agit de la commande kdesu, et dans Gnome, de la commande gksu.

Tapez simplement gksu ou kdesu puis la commande souhaitée:

Cette commande lancera le gestionnaire de fichiers KDE avec les privilèges de superutilisateur. Dans Gnome, cela ressemblera à ceci:

Le programme vous demandera le mot de passe, déjà dans la fenêtre graphique, puis le gestionnaire de fichiers s'ouvrira.

C'est tout. Maintenant que vous savez comment obtenir les privilèges de super-utilisateur sous Linux, vous savez utiliser la commande sudo et quelle est la différence entre sudo et su. Désormais, les programmes nécessitant des privilèges supplémentaires dans le système ne vous poseront aucun problème. Si vous avez des questions, écrivez dans les commentaires!

Aucun article lié

15 commentaires

Cher Sergey Vous avez certainement besoin d’un correcteur - il y a au moins cinq fautes d’orthographe dans chaque article (je ne mentionne même pas les virgules). La modification proposée par Ctrl + Entrée cesse bientôt de fonctionner: la protection anti-spam est activée. Souhaitez-vous utiliser mes services de relecture? Vous augmentez les connaissances en informatique des abonnés, c'est formidable, mais vous devez faire attention à l'alphabétisation ordinaire. Cordialement, Oleg.

Bonsoir Oleg! Je serai très reconnaissant si vous aiderez à corriger les erreurs sur le site. Inscrivez-vous et dites-moi votre identifiant.

Au fait, oui, il a raison. Moi-même, je remarque souvent des erreurs en vous)) Je vous serais reconnaissant d'améliorer votre alphabétisation. Les articles sont très utiles, et je veux voir un texte russe propre et alphabète!))

BEAUCOUP cher administrateur! Dis-moi, les problèmes avec la langue russe sont une maladie qui touche tous les informaticiens? Pour qui écrivez-vous tout cela? Essayez de lire à distance ce que vous avez écrit du point de vue d’une théière! Voici quelques unes de vos perles:
. définir la variable d'environnement. Quel est l'environnement? Qui a entouré qui? Les Allemands près de Moscou ou quoi? ou -s-use shell quel shell? Coquilles d'oeufs? Éplucher des pommes de terre? Ou peut-être un préservatif? -Aussi un coquillage. Et comment l'utiliser?
Correctement écrit à BVZ, sinon vous êtes tout simplement INCROYABLE.

Oui! Vous devez connaître le tapis. partie et être capable de rechercher, sinon tous les articles seront 100500 caractères long et ne sera pas assez de temps pour les écrire. Environnement - https://losst.ru/peremennye-okruzheniya-v-linux, Shell - https://losst.ru/evolyutsiya-komandnyh-obolochek-linux

Étrange, j'ai commencé Thunar par le sudo et toutes les règles ont fonctionné, je ne connaissais pas le gksu. Quelle est la différence? Je suis un noob, si ça.

Le fait est que sudo est conçu pour exécuter des commandes de la console et que les variables d'environnement spéciales telles que DISPLAY, etc. ne sont pas définies ici Si vous essayez d'exécuter une application graphique via sudo dans Gentoo ou ArchLinux. Gksu et kdesu sont spécialement conçus pour exécuter des applications graphiques.

Il existe une version d'Ubuntu 18.04.1 LTS. La commande Gksu ne fonctionne pas

Cher Sergey! Merci beaucoup pour votre site. Je viens de commencer à apprendre Linux MX17 (XFCE). Face à un problème - certains programmes ont cessé de fonctionner à partir de raccourcis (tout va bien dans le terminal). Причиной, наверное, является запуск SU без черточки, что повлекло изменение PATH для Root и прав на запуск этих программ. Как можно решить эту задачу (развернутая аналогичная ОС имеется на другом разделе)? Огромное спасибо за ответ и удачи.

Уважаемый Сергей! Выяснил дополнительно следующее:
1. При вводе su - выдает "сбой при проверке подлинности".
2. Программы, требующие привилегий (ввода пароля администратора) через графический интерфейс не запускаются. При этом, с терминала их запуск происходит нормально, запуск же программ, требующих привилегий root - без проблем.
3. Смена паролей пользователя и root результатов не дала. Пользователь (основной) - в группе sudo есть, команды sudo, sudo su работают, содержание файла etc/sudoers, значение $PATH проверил - соответствуют исходным данным.

Я не понимаю что у вас там происходит с ярлыками. Попробуйте сбросить настройки XFCE, вряд-ли тут su или sudo виноваты.

Сбросил. Без изменений. Все равно огромное спасибо и удачи. Буду искать дальше.

Merde, c'est ton article, coquine tout écrire. Besoin plus facile. Ce ne sont pas tous les mêmes miracles que vous

Cher monsieur BVZ!

Permettez-moi de corriger votre commentaire conformément aux règles de communication acceptées dans la société des personnes.
Il me semble que vous devriez exprimer vos pensées comme suit:

"Cher Asdmin! Acceptez les sincères droits de superutilisateur pour votre article sur un sujet aussi important pour les utilisateurs de Linux. Malgré les avantages indéniables de votre travail, permettez-moi de formuler quelques remarques critiques au mieux de mes compétences. Il me semble que votre style de présentation un peu compliqué pour ceux qui utilisent «Linux». J'espère que vos prochains articles seront plus compréhensibles pour moi (par exemple). Permettez-moi encore une fois de vous remercier pour votre Linux, si nécessaire pour nous. , Travail. Sincèrement, BVZ ".

Cher BVZ, si tu veux écouter tes paroles et te percevoir comme une personne, pas comme un animal, apprends à être poli et cultivé.

Cher administrateur!
Merci beaucoup pour votre article. Après tout, nous, ceux qui commencent à utiliser Linux, ne savons pas grand-chose, nous avons donc besoin d’articles comme le vôtre, comme air.
Cordialement, A.N. Light