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
работает так же.