web-dev-qa-db-fra.com

Pourquoi la commande 'su' ne fonctionne-t-elle pas dans Ubuntu mais dans d'autres distributions Linux?

Quand je tape la commande su dans un terminal, je reçois

 su: Authentication failure

Pourquoi cela ne fonctionne-t-il pas dans Ubuntu? J'ai essayé cette commande dans une autre distribution Linux (Parrot OS) et cela fonctionne.

10
giga

Parce que dans Ubuntu, par défaut, root n'a pas de mot de passe.

Sans arguments, su signifie "passer de l'utilisateur à la racine". Pour ce faire, vous devez entrer le mot de passe de l'utilisateur root, et non le vôtre. À moins que vous ne donniez un mot de passe à root, il n'en a pas, vous ne pouvez donc pas vous connecter en tant que root.

Voici quelques informations de base:

Dans le monde Unix, il y a toujours eu une division plus grande entre les utilisateurs réguliers et les administrateurs, en raison de l'héritage Unix de plusieurs utilisateurs. L'approche adoptée sous Unix consiste à n'accorder les privilèges de superutilisateur que lorsque cela est nécessaire. Pour ce faire, les commandes su et Sudo sont couramment utilisées.

Il y a quelques années encore, la plupart des distributions Linux utilisaient su pour cela. su n'avait pas besoin de la configuration requise par Sudo, et avoir un compte root est traditionnel dans Unix. Cela a posé un problème. Les utilisateurs étaient tentés de fonctionner inutilement en tant que root. En fait, certains utilisateurs utilisaient leurs systèmes exclusivement en tant qu'utilisateur root, car cela supprime tous ces messages ennuyeux de "permission refusée". C’est ainsi que vous réduisez la sécurité d’un système Linux à celle d’un système Windows. Pas une bonne idée.

Lorsque Ubuntu a été introduit, ses créateurs ont adopté une approche différente. Par défaut, Ubuntu désactive les connexions au compte racine (en ne définissant pas de mot de passe pour le compte) et utilise à la place Sudo pour accorder des privilèges de superutilisateur. Le compte d'utilisateur initial bénéficie d'un accès complet aux privilèges de superutilisateur via Sudo et peut octroyer des pouvoirs similaires aux comptes d'utilisateurs suivants.

~ La ligne de commande Linux

Vous pouvez utiliser su pour changer d'utilisateur, si vous connaissez le mot de passe de l'utilisateur auquel vous souhaitez passer, par exemple, je peux su pixie pour vous connecter en tant qu'utilisateur de sauvegarde.

Normalement, vous devez utiliser Sudo et votre propre mot de passe pour vous authentifier, ou pour démarrer un shell racine, utilisez Sudo -i

20
Zanna

En effet, dans les autres distributions, lors de leur installation, ils vous demanderont généralement de définir un mot de passe root ainsi qu'un mot de passe de compte d'utilisateur. Ubuntu ne demande pas le mot de passe root lors de l’installation, mais seulement le mot de passe du compte utilisateur d’un utilisateur qui aura un accès Sudo laissant le compte root désactivé dans Ubuntu. Si vous souhaitez l'activer, définissez un mot de passe pour le compte root qui activera le compte root permettant à la commande su de fonctionner.

Sudo passwd root

J'espère que cela t'aides!

9
Terrance

Par défaut, sun'a pas de mot de passe. Lorsque vous exécutez cette commande, vous essayez de vous connecter au compte rootcaché sur votre ordinateur. Je suppose que Parrot OS utilise le compte rootou définit son mot de passe sur le vôtre, sinon il ne fonctionnerait pas.

Si vous souhaitez utiliser suname__, vous pouvez exécuter Sudo passwd root et définir le mot de passe que vous souhaitez utiliser pour vous connecter avec suname__. Cela activera également l'utilisateur root en tant qu'utilisateur de compte complet, donc je ne le recommande pas.

Au lieu de cela, lorsque vous avez besoin de privilèges root persistants dans ce shell, utilisez Sudo su. Cela vous permettra de devenir root en utilisant vos propres compte et mot de passe. Sudo -i aura le même effet (et les gens vous recommanderont de l'utiliser à la place).

4
TheWanderer

Brièvement

Le compte racine est désactivé par défaut dans Ubuntu. Par conséquent, aucun mot de passe n'est défini, ce qui entraîne l'échec de l'authentification.

Pour devenir root dans Ubuntu, vous pouvez utiliser cette

Sudo -i
2
jiipeezz

su (authentification de super utilisateur) n'est pas configuré pour la sécurité et l'administration sécurisée. Lorsque vous installez ubuntu, vous obtenez tous les accès d’administration avec Sudo en tant que 'premier utilisateur' [1000]. Le privilège 'root' avec Sudo. Les "utilisateurs invités" [1001,1002,1003, etc.] ne pourront pas effectuer l'authentification de super utilisateur avec Sudo. Admin [utilisateur avec privilège "root"] doit ajouter un autre "utilisateur invité" à "groupe" pour les privilèges de superutilisateur.

Vous pouvez exécuter toutes les commandes suauthentication avec Sudo dans Ubuntu.

Pour les autres distributions Linux, le système lit 'utilisateur racine' comme [500] et 'premier utilisateur' comme [501].

suauthentication vous permet de modifier et de supprimer tout fichier ou dossier en tant qu'utilisateur root.

Vous pouvez vous connecter en tant que superutilisateur par

Sudo -i

Cependant, ce n'est pas recommandé.

1
Rohit Tak