Comment me déconnecter de `sudo su`?

90

J'utilise sudo supour commencer mysqlet faire des devoirs avec elle.

Quand j'ai fini avec mysql(ou toute autre commande), alors je suis toujours dans sudo.

Comment puis-je me "déconnecter" pour que mon invite revienne de #à $?

KDecker
la source
6
Utilisez la commande de sortie ..
11
exitou un simple Ctrl + D. Je me souviens de la première découverte de ce dernier et ma vie est dix fois plus simple :-D.
Daniel Andersson
1
Outre les bonnes réponses ci-dessous, il reste un point: si vous avez besoin d'un shell avec des permissions root sur Ubuntu, vous le tapez sudo -i(et le laissez avec CTRL + D)
guntbert

Réponses:

110

Vous n'avez pas besoin d'utiliser sudoet suensemble - suchange votre compte d'utilisateur (sans arguments, cela vous permet de passer à la racine). sudoélève simplement vos privilèges à root pour la commande en cours.

Il est recommandé d'utiliser à la sudoplace de susi possible, mais pour revenir à votre compte normal après avoir appelé su, utilisez simplement la exitcommande

Paul
la source
9
sudo subasculera vers le compte root même si vous ne connaissez pas le mot de passe root.
Rob
1
Il existe des différences entre sudo su, sudoet su, et il est intéressant de connaître ces différences pour des raisons de sécurité, mais également pour votre commodité. johnkpaul.tumblr.com/post/19841381351/su-vs-sudo-su-vs-sudo-ui
Jeff Welling
@Rob mais il ne peut toujours pas définir l'environnement de la manière souhaitée - utilisez-le sudo -iplutôt (sous Ubuntu, le compte root est désactivé par défaut = il n'existe aucun mot de passe valide)
guntbert
2
@Rob ou sudo -spour l enfer.
Joel Mellon
Rien de suggéré ici ne fonctionne
Totty.js
16

Utilisation

su username

pour revenir à votre niveau d'utilisateur (ou à un utilisateur différent)

Ou appuyez simplement sur Ctrl-D pour sortir de la racine


la source
7
vous ne voulez pas aller plus loin ... Ctrl-D ou exister ou se déconnecter sont de bons choix
Ram
@Ram - vous avez fait valoir un point important. Mais il y a une faute de frappe dans votre commentaire. Il devrait être exit(pas exister).
MountainX
faute de frappe @MountainX ... CTRL-D, sortie, déconnexion, etc.
Ram
C'est la seule réponse qui fonctionne réellement.
Totty.js
1
@ Totty.js Ensuite, vous utilisez sumal.
Nic Hartley
6
  • logout si utilisé sudo su -
  • exit si utilisé sudo -s
Nakilon
la source
0

Il n'y a aucune raison d'utiliser sudoou sud'exécuter le client de ligne de commande MySQL. Il utilise par défaut votre utilisateur Unix actuel comme utilisateur MySQL, mais vous devez plutôt le transmettre à l'utilisateur auquel vous souhaitez vous connecter en tant qu'argument:

$ mysql -u root # connect as MySQL's root user (without password)
$ mysql -u root -p # -p means prompt for a password

Si tout va bien, votre compte racine MySQL a un mot de passe et vous devrez utiliser le second formulaire.

Sinon, si vous devez exécuter MySQL sous sudo (par exemple, pour les droits d'accès aux fichiers), procédez comme suit:

$ sudo -u unix-user mysql -u mysql-user -p

Vous pouvez omettre les arguments (sudo sera par défaut utilisateur root, MySQL utilisera par défaut le même utilisateur que sudo).

derobert
la source