sudo su 不会改变 mysql 的用户

sudo su 不会改变 mysql 的用户

昨晚,我在我的服务器上执行了以下操作:

sudo su - mysql 

更改为 mysql 用户,以便我可以运行 mysql 客户端,该客户端设置为仅从 mysql 帐户进行身份验证。我成功运行了 mysql 客户端并对数据库进行了更改。服务器上一夜之间没有任何变化。

今天,我尝试了各种方法都无法让我切换到 mysql 用户。它似乎成功了,给出了有关没有主目录的消息,但whoami仍然报告我的用户 ID,尝试运行 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

mysql 的 /etc/passwd:

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

有人见过这样的行为吗?

答案1

su调用 中给出的其他用户的登录 shell /etc/passwd。 在你的情况下,/bin/false你不会得到任何交互式 shell。

使用

sudo -u test /bin/bash

或者

sudo -u test /usr/bin/mysql

或者类似的东西。

相关内容