sudo su не меняет пользователей на mysql

13

Прошлой ночью на моем сервере я сделал:

sudo su - mysql 

чтобы перейти на пользователя mysql, чтобы я мог запустить клиент mysql, который настроен так, что он будет проходить аутентификацию только из учетной записи mysql. Я успешно запустил клиент MySQL и внес изменения в базу данных. На сервере ничего не изменилось за одну ночь.

Сегодня ничто из того, что я попробую, не позволит моему пользователю mysql измениться. Кажется, что это успешно, учитывая сообщение об отсутствии домашнего каталога, но whoamiвсе еще сообщает мой идентификатор пользователя, и попытка запустить mysql по-прежнему не удается.

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 для mysql:

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

Кто-нибудь когда-нибудь видел такое поведение?

wadesworld
источник

Ответы:

19

suвызывает оболочку входа другого пользователя, как указано в /etc/passwd. В вашем случае это /bin/falseтак, что вы не получите никакой интерактивной оболочки.

использование

sudo -u test /bin/bash

или

sudo -u test /usr/bin/mysql

или что-то в этом роде.

Флориан Диш
источник