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

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

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

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

12
задан 11 April 2014 в 22:54

1 ответ

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

Используйте

sudo -u test /bin/bash

или

sudo -u test /usr/bin/mysql

или что-то подобное вместо этого.

0
ответ дан 11 April 2014 в 22:54

Другие вопросы по тегам:

Похожие вопросы: