Назад | Перейти на главную страницу

Проблемы с переключением на пользователя с помощью команды «su - lfs»

Пытаюсь сделать linux с нуля. Мне удалось создать пользователя для управления всем (с именем lfs), и я смог войти в систему с помощью этой команды. Затем я перезапустил свой компьютер и больше не могу переключиться на этого пользователя. Если я войду su - lfs в моем терминале я получаю вывод [1]+ Stopped su - lfs после правильного ввода пароля пользователя. Есть идеи, как это исправить? Спасибо.

Как-то SIGSTOP сигнал отправляется su обработать. Интересно то, что только root процессы могут посылать сигналы su. Другими словами: это не может быть оболочка, запускаемая su. По крайней мере, не напрямую; должно быть несколько sudo команда или подобное.

Можно так: Перед тем как бежать su - lfs ты бежишь echo $$ чтобы получить PID оболочки. Затем в другом терминале вы запускаете:

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

Тогда ты бежишь su - lfs. После su был остановлен, вы прерываете strace с участием Ctrl-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 процесса, отправившего сигнал.