昨晚,在我的服务器上,我做了:
sudo su - mysql
Run Code Online (Sandbox Code Playgroud)
更改为 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
Run Code Online (Sandbox Code Playgroud)
mysql 的 /etc/passwd:
mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false
Run Code Online (Sandbox Code Playgroud)
有没有人见过这样的行为?
Flo*_*sch 19
su
调用其他用户的登录 shell,如 /etc/passwd
. 在你的情况下,/bin/false
你不会得到任何交互式 shell。
用
sudo -u test /bin/bash
Run Code Online (Sandbox Code Playgroud)
或者
sudo -u test /usr/bin/mysql
Run Code Online (Sandbox Code Playgroud)
或者类似的东西。
归档时间: |
|
查看次数: |
14091 次 |
最近记录: |