Как узнать, вошел ли пользователь в UNIX - PullRequest
1 голос
/ 08 февраля 2012

Я пытаюсь обновить сценарий оболочки UNIX для запуска, только если пользователь НЕ вошел в свою учетную запись UNIX. Я рассмотрел использование палец

Тогда поищите текст "Вкл с" ...

Однако я обнаружил, что когда я перебираю конкретную учетную запись пользователя, в которую я только что вошел через Putty, этот пользователь предположительно «Никогда не входил в систему».

Как кто-то увидит, если пользователь физически вошел в систему UNIX ??

Спасибо,

Ответы [ 4 ]

3 голосов
/ 08 февраля 2012

"кто-а" ...? Показывает также связанный терминал для подключенного пользователя.

2 голосов
/ 08 февраля 2012

Используйте who. http://linux.die.net/man/1/who

1 голос
/ 08 февраля 2012

Может быть полезна команда last, которая рассказывает историю, когда кто-то вошел в систему и как он туда попал. Например, вы можете определить, удаленный вход в систему (ssh) или терминал (настоящий tty) и т. Д.

0 голосов
/ 22 ноября 2012

В качестве альтернативы вы можете легко написать свой собственный скрипт на Perl / php / Python для прямой проверки журналов Utmp на предмет того, вошел ли пользователь в данный момент, например,

Python: isLoggedIn.py [идентификатор пользователя]

#!/usr/bin/python
from pyutmp import UtmpFile
import sys

for utmp in UtmpFile():
    # utmp is a Utmp object
    if utmp.ut_user_process:
        if utmp.ut_user in sys.argv:
            print "User: %s  is logged in\n" % (utmp.ut_user)
            sys.exit(0)
print "Not logged in\n"
sys.exit(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...