sudo su ändert keine Benutzer für MySQL

13

Letzte Nacht habe ich auf meinem Server Folgendes getan:

sudo su - mysql 

Um zum MySQL-Benutzer zu wechseln, kann ich den MySQL-Client ausführen, der so eingerichtet ist, dass er sich nur über das MySQL-Konto authentifiziert. Ich habe den MySQL-Client erfolgreich ausgeführt und die Änderung an der Datenbank vorgenommen. Auf dem Server hat sich über Nacht nichts geändert.

Heute erlaubt mir nichts, was ich versuche, zum mysql-Benutzer zu wechseln. Angesichts der Meldung, dass kein Basisverzeichnis vorhanden ist, scheint der Vorgang erfolgreich zu sein, es wird jedoch whoamiweiterhin meine Benutzer-ID gemeldet, und der Versuch, mysql auszuführen, schlägt weiterhin fehl.

wade@snoopy:~$ sudo su - mysql
[sudo] password for wade: 
No directory, logging in with HOME=/
wade@snoopy:~$ whoami
wade

wade@snoopy:~$ sudo su mysql
wade@snoopy:~$ whoami
wade

wwilliam@snoopy:~$ sudo -s
root@snoopy:/home/wade# 
root@snoopy:/home/wade# su mysql
root@snoopy:/home/wade# whoami
root

/ etc / passwd für mysql:

mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false

Hat jemand jemals ein solches Verhalten gesehen?

wadesworld
quelle

Antworten:

19

suRuft die Anmeldeshell des anderen Benutzers wie in angegeben auf /etc/passwd. In Ihrem Fall erhalten /bin/falseSie keine interaktive Shell.

Verwenden

sudo -u test /bin/bash

oder

sudo -u test /usr/bin/mysql

oder so ähnlich.

Florian Diesch
quelle