sudo su不会更改mysql用户


13

昨晚,在我的服务器上,我做了:

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

/ etc / passwd对于mysql:

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

有没有人见过这样的行为?

Answers:


19

su如中所述调用另一个用户的登录shell /etc/passwd。在这种情况下,/bin/false您将不会获得任何交互式外壳。

采用

sudo -u test /bin/bash

要么

sudo -u test /usr/bin/mysql

或类似的东西。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.