“sudo su -s /bin/bash - <用户名>”有什么作用?

Dae*_*ung 5 sudo

有好心人能给我解释一下这个命令的含义吗?

sudo su -s /bin/bash - foo
Run Code Online (Sandbox Code Playgroud)

有人告诉我,如果我想在这种情况下切换到不同的帐户“foo”而不知道其密码,请使用此命令。

小智 4

sudo是一个命令,它以另一个用户的身份执行后面的任何命令(如果没有给出用户名,如本例所示,则该用户是root) - 为了能够执行此操作,正在sudo执行的帐户需要具有必要的权限设置(请参阅/etc/sudoers

su在不同的用户 ID 下启动新的 shell

-s /bin/bash指定要启动的shell,即/bin/bash

-使该 shell 成为登录 shell

foo是将使用其用户 ID 和组 ID 启动新 shell 的用户

  • 它也太长了。如果“sudo”配置为让您以任何用户身份运行任何命令,则只需使用“sudo -u foo -i” (2认同)