Как определить текущую учетную запись пользователя в Linux

Если Linux что-то значит, это означает выбор. Вы можете решить даже простую задачу, например, идентифицировать текущего пользователя разными способами. Из этого туториала Вы узнаете, как использовать самые быстрые и простые методы.

Зачем вам нужно узнавать личность текущего пользователя? Во многих случаях владелец компьютера является единственным пользователем, и, не вдаваясь в экзистенциальную роль, они, вероятно, знают себя. Возможно, но люди также часто создают дополнительные учетные записи, чтобы члены семьи имели доступ к компьютеру. А если вы подключены к удаленной оболочке на каком-либо сервере, вам может потребоваться быстрое напоминание имени пользователя, под которым вы вошли в систему. Если вы видите, что сеанс вошел в систему без присутствия никого, как определить текущего пользователя из командной строки?

Давайте сначала попробуем самый простой вариант. Все, что нам нужно сделать, это посмотреть в командной строке. По умолчанию для дистрибутивов Linux имя пользователя отображается в приглашении. Просто. Нам даже не нужно было ничего печатать.

Имя пользователя отображается в командной строке

Если пользователь изменил свое приглашение на другой формат, нам нужно попробовать что-то еще. Команда who предоставит нам информацию, которую мы ищем.

who

Вывод команды who

Вывод who дает вам имя текущего пользователя, терминал, на котором они вошли в систему, дату и время, когда они вошли в систему. Если это удаленный сеанс, он также сообщает нам, откуда они вошли в систему.

  Как получить доступ к Facebook Messenger на рабочем столе Linux с помощью Caprine

Для сравнения: команда whoami дает очень емкий ответ:

whoami

Вывод команды whoami

Вы можете получить тот же ответ из одного слова, выведя на экран эхом переменную среды $ USER.

echo $USER

Использование echo для отображения переменной пользовательской среды

Однобуквенная команда w требует меньше ввода и предоставляет больше информации.

w

Вывод команды w

Команда w предоставляет нам имя пользователя, которое мы хотели, и бонусный набор данных для этого пользователя. Обратите внимание: если в систему Linux вошли несколько пользователей, команда w перечислит их всех. Вам нужно будет знать, в какой терминал вошел в систему интересующий вас пользователь. Если они вошли непосредственно на сам компьютер Linux, это будет pts / o, поэтому ищите: 0 в выходных данных w.

Команда w предоставляет время загрузки, время безотказной работы и среднюю нагрузку за предыдущие пять, десять и пятнадцать минут, а также следующую информацию о текущем пользователе.

ПОЛЬЗОВАТЕЛЬ: имя пользователя.
TTY: Тип терминала, на котором они вошли в систему. Обычно это будет pts (псевдотелетайп). : 0 означает физическую клавиатуру и экран, подключенные к этому компьютеру.
ОТ: Имя удаленного хоста, если это удаленное соединение.
LOGIN @: время, когда пользователь вошел в систему.
IDLE: время простоя. Это показывает? Xdm? на снимке экрана, потому что мы работаем под управлением диспетчера отображения X-windows, который не предоставляет эту информацию.
JCPU: Общее время ЦП, это время ЦП, используемое всеми процессами, подключенными к этому терминалу. Другими словами, общее время ЦП этого пользователя в данном сеансе авторизации.
PCPU: время ЦП процесса, это время ЦП, используемое текущим процессом. Текущий процесс указан в столбце ЧТО.
ЧТО: командная строка текущего процесса этого пользователя.

  Как перезагрузить или выключить Linux с помощью командной строки

Теперь, когда мы знаем, кто этот пользователь, мы можем получить о нем больше информации. Команда id — хорошее место для начала. Введите идентификатор, пробел, имя пользователя и нажмите ввод.

id dave

Вывод команды id

Это дает нам их идентификатор пользователя (uid), идентификатор группы (gid) и группы, в которые они входят. Менее загроможденное отображение групп может быть получено с помощью команды groups.

groups dave

Вывод команды groups

Хорошая сводка дает команда finger. Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте вместо этого инструмент управления пакетами вашего дистрибутива Linux.

sudo apt-get install finger

После того, как вы установили finger, вы можете использовать его для отображения некоторой информации о данном пользователе.

  Как установить тему Ambiance Crunchy Grub2 в Linux

палец Дэйв

Вывод команды finger

В большинстве систем Linux некоторые из этих полей будут пустыми. Офис, ФИО и телефоны по умолчанию не заполняются. Поле «Без плана» относится к старой схеме, по которой вы могли предоставить несколько заметок для всех, кто был заинтересован, о том, над чем вы работали или планируете сделать. Если вы редактируете файл .plan в своей домашней папке, содержимое этого файла добавляется к выходным данным finger.

Чтобы быстро отобразить имя вошедшего в систему пользователя с рабочего стола GNOME, используемого в Ubuntu и многих других дистрибутивах Linux, щелкните системное меню в правом верхнем углу экрана. Нижняя запись в раскрывающемся меню — это имя пользователя. В других средах рабочего стола Linux ваше имя пользователя должно отображаться в столь же удобном для поиска меню.

Системное меню с указанием имени пользователя

Это было легко, всего в один клик. Но где в этом веселье?

Вы не почувствуете себя цифровым детективом так же, как при использовании оболочки Bash.