如何在终端以不同的用户身份登录?

如何在终端以不同的用户身份登录?

我当前以普通用户身份登录 OS X。

我想启动一个终端会话并以用户身份登录foo

这可能吗?

答案1

您尝试过使用吗su - foo

更新根据评论:

-表示su进行完整登录。这意味着(来自手册页),

除了 HOME、SHELL、PATH、TERM 和 USER 之外,环境将被丢弃。HOME 和 SHELL 的修改如上所述。USER 设置为目标登录名。PATH 设置为“/bin:/usr/bin”。TERM 从当前环境中导入。调用的 shell 是目标登录名的,su 将目录更改为目标登录名的主目录。

因此,如果您需要任何其他环境变量,例如DISPLAY打开使用窗口服务器的程序,则必须省略空的-

答案2

在 MacOS X 上使用login


$login
登录名:your username
密码:your password
上次登录: 日 月 日期 HH:MM:SS on ttys000
$whoami
您的用户名

我使用编辑文件nano后遇到了问题。调整窗口大小时,文本会变得乱码。我在下面找到的答案解释了原因,并引导我找到正确的方向。su - admin.bashrc

“终端仿真器将向与终端仿真器一起启动的 shell 发送窗口更改信号 (SIGWINCH)。shell 应该将其传递给其子级 - 但是当您切换到另一个用户帐户(使用 su 或其他方式)时,它将无法向该 shell 发出信号,因为它以不同的用户身份运行。因此,su 的 shell 和从中运行的任何程序将继续使用旧的窗口大小,而忽略了实际窗口大小已发生变化的事实。”——电信公司

答案3

我尝试过su很多次,但发现sudo更容易。你可以试试

sudo -u <username>

相关内容