Linux-эквивалент команды Unix who -m, чтобы показать оригинальный идентификатор пользователя перед su?

Я пытаюсь найти эквивалент Linux для запуска who -m в Unix. В Unix who -m дает первый идентификатор пользователя, который вы использовали для входа, перед началом любых новых сеансов оболочки через su, так далее.

-m переключиться на who имеет другой эффект в Linux, и я пока не могу найти что-то, что соответствует моим потребностям, на страницах руководства.

1 ответ

Решение

Обновление: мой ответ (кто я) правильный, ваш терминал сломан или неправильно настроен для поддержки функциональности.

Основываясь на комментариях, я провел еще несколько исследований и попросил Matthew Ife помочь. Вы не говорите, какой терминал вы используете, но он, вероятно, делает то же самое, что и gnome-терминал.

Что касается gnome-терминала*, когда терминал запущен, он не обновляет файл utmp. Похоже, это дизайнерское решение. Позже, когда кто читает utmp, чтобы узнать соответствующую информацию, его там нет, поэтому он просто выходит и ничего не печатает.

* Я пробую xterm, konsole и ssh в различных дистрибутивах.


Ты хочешь who am i который печатает вызывающего пользователя, а не whoami который говорит вам имя пользователя текущего эффективного пользователя

Если задано два аргумента, не являющихся опциями, "who" печатает только запись для пользователя, который ее запускает (определяется из его стандартного ввода), с предшествующим именем хоста. Традиционно приводятся два аргумента "я", как в "кто я".

Это похоронено в info coreutils 'who invocation' Так интересно (в системе на основе linux coreutils) who xyzzy plugh работает так же.

Другие вопросы по тегам