使用“su - lfs”命令切换用户时遇到问题

使用“su - lfs”命令切换用户时遇到问题

我正在尝试从头开始使用 Linux。我能够创建用户来管理所有内容(名为 lfs),并且能够使用此命令登录。然后我关闭了电脑的电源,但我无法再切换到该用户。如果我su - lfs在终端中输入,则在正确输入用户密码后会得到输出[1]+ Stopped su - lfs。有什么想法可以解决这个问题吗?谢谢。

答案1

以某种方式SIGSTOP向进程发送信号su。有趣的是,只有root进程才能向 发送信号su。换句话说:它不能是由 启动的 shell su。至少不是直接启动的;必须是某个sudo命令或类似的东西。

您可以这样做:在运行之前,su - lfs运行echo $$以获取 shell 的 PID。然后在另一个终端中运行:

strace -f -tt -p $PID -o shell.strace

然后运行su - lfssu停止后,使用 - 中止straceCtrl查看C文件shell.strace。它应该包含类似以下行

[pid 23558] --- SIGSTOP {si_signo=SIGSTOP, si_code=SI_USER, si_pid=23560, si_uid=0} ---
[pid 23558] --- stopped by SIGSTOP ---

这将为您提供发送信号的进程的 PID。

相关内容