sudo su nie zmienia użytkowników mysql

13

Ostatniej nocy na moim serwerze:

sudo su - mysql 

zmienić na użytkownika mysql, abym mógł uruchomić klienta mysql, który jest skonfigurowany tak, aby uwierzytelniał się tylko z konta mysql. Pomyślnie uruchomiłem klienta mysql i dokonałem zmiany w bazie danych. Na serwerze nic się nie zmieniło z dnia na dzień.

Dzisiaj nic, co spróbuję, nie pozwoli mi zmienić się na użytkownika mysql. Wygląda na sukces, biorąc pod uwagę komunikat o braku katalogu domowego, ale whoaminadal zgłasza mój identyfikator użytkownika i próba uruchomienia mysql nadal kończy się niepowodzeniem.

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 dla mysql:

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

Czy ktoś widział takie zachowanie?

wadesworld
źródło

Odpowiedzi:

19

suwywołuje powłokę logowania innego użytkownika, jak podano w /etc/passwd. W twoim przypadku /bin/falsenie ma to żadnej interaktywnej powłoki.

Posługiwać się

sudo -u test /bin/bash

lub

sudo -u test /usr/bin/mysql

lub coś takiego.

Florian Diesch
źródło