ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

Самый простой способ найти текущего пользователя – это открыть терминал, который покажет имя пользователя и имя хоста.

Запутался? Позвольте нам показать вам:

andreyex@destroyer:~$

 

где:

 

Другой способ – использовать переменную среды $USER.

Но что, если вы хотите использовать эти данные в bash-скрипте? Или вы хотите найти текущего пользователя в bash-скрипте? Что ж, в этой статье такие вопросы будут рассмотрены более подробно.

 

Найти текущую учетную запись пользователя в Linux

В этой статье мы расскажем вам о следующих способах поиска текущей учетной записи пользователя в Linux:

 

Каждое из этих пояснений к командам будет включать выполнение командной строки, а также то, как это можно использовать в скрипте bash, чтобы вы могли получить максимальную отдачу от каждого из них.

 

1. Используя команду who

Чтобы узнать текущего вошедшего в систему пользователя с помощью команды who, все, что вам нужно сделать, это выполнить команду who следующим образом:

who
andreyex   :1      2024-03-11 12:45 (:1)

 

Вы увидите текущего пользователя вместе с некоторой дополнительной информацией, где:

 

Если бы вы использовали команду who только для получения имени пользователя, вам пришлось бы внести некоторые изменения.

Здесь я использовал команду awk, чтобы напечатать только имя пользователя, удалив всю остальную дополнительную информацию:

who | awk '{print $1}'

 

andreyex@destroyer:~$ who | awk '{print $1}'

andreyex

 

С помощью команды who в скрипте bash

Чтобы использовать команду who для поиска текущей учетной записи пользователя, вы можете использовать команду who с аргументом awk и присвоить его переменной, как показано здесь:

#!/bin/bash

# Получите текущую учетную запись пользователя, используя who и awk
current_user=$(who | awk '{print $1}')

echo "The current user is: $current_user"

 

При выполнении это выдаст вам следующий результат:

andreyex@destroyer:~$ ./who.sh

The current user is: andreyex

 

2. Использование команды whoami

В отличие от команды who, когда вы выполняете команду whoami в Linux, она выводит только имя пользователя текущего вошедшего в систему пользователя:

whoami

 

andreyex@destroyer:~$ whoami

andreyex

 

Да, никаких дополнительных флагов не требуется! Сразу к делу.

 

С помощью команды whoami в скрипте bash

Если вы хотите найти текущую учетную запись пользователя с помощью команды whoami, ее можно вычислить в скрипте bash следующим образом:

#!/bin/bash

# Получите текущего пользователя, вошедшего в систему, с помощью whoami
current_user=$(whoami)

echo "The currently logged-in user is: $current_user"

 

Если вы решите использовать приведенный выше скрипт, ожидайте следующего вывода:

andreyex@destroyer:~$ ./who.sh

The currently logged-in user is: andreyex

 

3. Использование переменной среды $USER

Чтобы использовать переменную среды $USER в скрипте bash для поиска текущего пользователя, вам нужно соединить ее с командой echo, как показано на рисунке:

echo $USER

 

andreyex@destroyer:~$ echo $USER

andreyex

 

Теперь давайте посмотрим на ту часть скрипта bash, где он предназначен для использования!

 

Используя переменную среды $USER в скрипте bash

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

Конечно, вы можете добиться аналогичных результатов с помощью команд (используя $(command)), но все же мы считаем это самым простым способом.

Вот как вы можете использовать переменную среды $USER в скрипте bash:

#!/bin/bash

echo "The current user is: $USER"

 

Да, простая однострочная команда, и при выполнении она даст вам те же результаты, что и две предыдущие команды:

andreyex@destroyer:~$ ./USER.sh

The current user is: andreyex

 

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

Если вы системный администратор и хотите, чтобы пользователи принудительно меняли свой пароль при следующем входе в систему, вот подробное руководство, объясняющее, как заставить пользователей изменить пароль:

Вы также можете удалять учетные записи пользователей с помощью команды userdel:

Вы также можете изменять учетные записи пользователей с помощью команды usermod:

Мы надеемся, что вы найдете это руководство полезным.

Exit mobile version