LinuxForum.Fans
Тема

Узнать кто авторизовался в системе

Автор: marsello 35 сообщений 6449 просмотров
#386522

Здравствуйте, уважаемые знатоки. Хочу задать вам вопрос: как можно узнать, какой пользователь прошел аутентификацию в настоящий момент и кто не прошёл (неудачная попытка входа). Знаю, как узнать это через файлы логов, проблема в том, что на устройстве для которого пишется программа, они не доступны.
Работаю на Red Hart, пишу на с++
Заранее спасибо за ответ!

#386526
"marsello" написал:
на устройстве для которого пишется программа, они не доступны

Это как? Подробнее пожалста!

#386527
"marsello" написал:
проблема в том, что на устройстве для которого пишется программа, они не доступны.

Если это подразумевает, что на устройстве нет root'а, то без специальной настройки, скорей всего, — ни как...

я бы смотрел в сторону настройки pam'а. Например pam_exec может исполнять произвольный скрипт...

#386528

Список залогиненых пользователей можно посмотреть командой users.
А вот неудачные попытки без логов дейтсвительно невозможно узнать.

#386532

"Vascom" написал:
А вот неудачные попытки без логов дейтсвительно невозможно узнать.
Но есть команда faillog которая облегчает это. :) Также может пригодиться команда last которая выводит историю входа в систему
#386538

А где эта команда faillog есть? Можно ссылку?

#386539
Vascom написал:
А где эта команда faillog есть? Можно ссылку?

[console]/home/lupo/ pacman -Qo `which faillog`
/usr/bin/faillog принадлежит shadow 4.2.1-1[/console]

#386545

А shadow это что за ПО?
Вы не думайте что я издеваюсь, но в Fedora этого нет, а ссылку так ни кто и не дал пока.

#386552
Vascom написал:
А shadow это что за ПО?
Вы не думайте что я издеваюсь, но в Fedora этого нет, а ссылку так ни кто и не дал пока.

[console]~lupo/ pacman -Qi shadow
Название : shadow
Версия : 4.2.1-1
Описание : Password and account management tool suite with support for shadow files and PAM
Архитектура : x86_64
URL : http://pkg-shadow.alioth.debian.org/
Лицензии : BSD
Группы : base
Предоставляет : Нет
Зависит от : bash pam acl
Дополнительно : Нет
Требуется пакетами : util-linux
Дополнительно для : Нет
Конфликтует с : Нет
Заменяет : Нет
Установленный размер: 4114,00 KiB
Сборщик : Dave Reisner <dreisner@archlinux.org>
Дата сборки : Сб 10 май 2014 16:23:52
Дата установки : Пт 16 май 2014 07:52:08
Причина установки : Явно установлен
Установочный скрипт : Yes
Проверен : Подпись[/console]

#386553

"Vascom" написал:
Вы не думайте что я издеваюсь, но в Fedora этого нет, а ссылку так ни кто и не дал пока.
Попробуйте найти
text
yum provides \*/faillog

У меня в debian [console]$ which faillog
/usr/bin/faillog[/console]

#386554

Vascom,

text
shadow-utils

В новых федорах (да и много где) пакеты собраны по какой-то причине без /usr/bin/faillog.

#386555

Искал, не находит.
Нда, при сборке удаляется с комментарем
# Remove binaries we don't use.

Ну да ладно.

#386558

Vascom,
Из ченджлога:

text
* Wed Feb 09 2011 Peter Vrabec <pvrabec@redhat.com> - 2:4.1.4.2-11
- useradd man page (-m option)
- create home directory on fs with noacl
- remove faillog app (pam_tally.so is no longer shipped)
  Resolves: #523265, #622320

# Remove binaries we don't use.

Ну да ладно.

Ага.

#386560

Кстати в debian,е команда faillog принадлежит пакету login
[console]$ apt-file search faillog
bash-completion: /usr/share/bash-completion/completions/faillog
login: /usr/bin/faillog
login: /usr/share/man/cs/man5/faillog.5.gz
login: /usr/share/man/cs/man8/faillog.8.gz
login: /usr/share/man/de/man5/faillog.5.gz
login: /usr/share/man/de/man8/faillog.8.gz
login: /usr/share/man/fr/man5/faillog.5.gz
login: /usr/share/man/fr/man8/faillog.8.gz
login: /usr/share/man/it/man5/faillog.5.gz
login: /usr/share/man/it/man8/faillog.8.gz
login: /usr/share/man/ja/man5/faillog.5.gz
login: /usr/share/man/ja/man8/faillog.8.gz
login: /usr/share/man/man5/faillog.5.gz
login: /usr/share/man/man8/faillog.8.gz
login: /usr/share/man/pl/man5/faillog.5.gz
login: /usr/share/man/pl/man8/faillog.8.gz
login: /usr/share/man/ru/man5/faillog.5.gz
login: /usr/share/man/ru/man8/faillog.8.gz
login: /usr/share/man/sv/man5/faillog.5.gz
login: /usr/share/man/sv/man8/faillog.8.gz
login: /usr/share/man/zh_CN/man5/faillog.5.gz
login: /usr/share/man/zh_CN/man8/faillog.8.gz[/console]
Подозреваю что в федоре это можно сделать используя journalctl

#386608
stranger написал:
[quote="marsello"]на устройстве для которого пишется программа, они не доступны

Это как? Подробнее пожалста![/quote]

Ну в общем Fat-Zer написал правильно, устройство должно работать в штатном режиме не от root'a. а от обычного пользователя

#386609

Спасибо за наводки) буду пробовать

#386610

stalker_tk написал:
[quote="Vascom"]А вот неудачные попытки без логов дейтсвительно невозможно узнать.
Но есть команда faillog которая облегчает это. :) Также может пригодиться команда last которая выводит историю входа в систему[/quote]

Но ведь и faillog и last также считывают инфу из файлов :(
#386615

"marsello" написал:
устройство должно работать в штатном режиме не от root'a. а от обычного пользователя
Вы про android что-ли ? Можно подробней что за устройство?
#386619
"marsello" написал:
устройство должно работать в штатном режиме не от root'a. а от обычного пользователя

А что, кто-то обычно работает от рута? И таки не от рута или без рута?

#386636

stalker_tk написал:
[quote="marsello"]устройство должно работать в штатном режиме не от root'a. а от обычного пользователя
Вы про android что-ли ? Можно подробней что за устройство?[/quote]

Нет не андроид, пульт с ОС МСВС, которая в свою очередь тот же Red Hart. Предназначается сей военным, точно описать не могу, так как с ним работаю только на последнем этапе, набираю готовую программу. Про закрытые логи было дано в ТЗ :(

Я практикант, работаю 2 неделю, что наверное многое объясняет)
Войдите или зарегистрируйтесь, чтобы ответить.