1

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

2

marsello пишет:

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

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

3

marsello пишет:

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

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

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

95% процентов проблем находятся между клавиатурой и стулом.

4

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

5 (12.07.2014 10:53:37 отредактировано stalker_tk)

Vascom пишет:

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

Но есть команда faillog которая облегчает это. ab Также может пригодиться команда last которая выводит историю входа в систему

Hunter, who is on the trail ...

6

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

7

Vascom пишет:

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

 Консоль:
/home/lupo/ pacman -Qo `which faillog`
/usr/bin/faillog принадлежит shadow 4.2.1-1

Был, был и весь вышел...

8

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

9

Vascom пишет:

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

 Консоль:
~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
Проверен : Подпись

Был, был и весь вышел...

10

Vascom пишет:

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

Попробуйте найти

yum provides \*/faillog

У меня в debian

 Консоль:
$ which faillog
/usr/bin/faillog

Hunter, who is on the trail ...

11

Vascom,

shadow-utils

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

12

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

Ну да ладно.

13

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

* 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.

Ну да ладно.

Ага.

14

Кстати в debian,е команда faillog принадлежит пакету login

 Консоль:
$ 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

Подозреваю что в федоре это можно сделать используя journalctl

Hunter, who is on the trail ...

15

stranger пишет:
marsello пишет:

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

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

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

16

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

17

stalker_tk пишет:
Vascom пишет:

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

Но есть команда faillog которая облегчает это. ab Также может пригодиться команда last которая выводит историю входа в систему

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

18

marsello пишет:

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

Вы про android что-ли ? Можно подробней что за устройство?

Hunter, who is on the trail ...

19

marsello пишет:

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

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

20 (13.07.2014 12:18:38 отредактировано marsello)

stalker_tk пишет:
marsello пишет:

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

Вы про android что-ли ? Можно подробней что за устройство?

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

Я практикант, работаю 2 неделю, что наверное многое объясняет)

21 (13.07.2014 12:23:34 отредактировано marsello)

stranger пишет:
marsello пишет:

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

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

В ТЗ сказано без использования файлов логов, таки неиспользование рута вообще не описывается, но думаю подразумевается, из-за чего ещё они могут быть закрыты
Ну то есть да, через рута можно зайти, но обычно работают без него

22 (13.07.2014 12:35:07 отредактировано stranger)

marsello пишет:

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

Начинаем подбираться к сути вопроса. Во-первых, если бы Вы привели тут соответствующую часть ТЗ, всем стало бы легче. Во-вторых, подразумевать что либо в ТЗ вообще последнее дело, нужно не подозревать, а выяснять у заказчика конкретику.

"Без использования" может означать что угодно. Логи не ведутся вовсе. Логи ведутся, но у пользователя нет возможности их видеть. Логи ведутся, но программный продукт (ЗАЧЕМ???) не должен к ним обращаться.

marsello пишет:

практикант, работаю 2 неделю, что наверное многое объясняет

Объясняет, искренне сочувствую.

Щас воткну в виртуалку, попробую понять что к чему...

23 (14.07.2014 03:11:07 отредактировано marsello)

stranger пишет:

Щас воткну в виртуалку, попробую понять что к чему...

Спасибо большое ))

Я перепутал, в ТЗ нет ничего про файлы логов, это руководитель сказал про них
Дословно: "доступа к ним не будет"

24

marsello пишет:

в ТЗ нет нечего про файлы логов, это руководитель сказал

ВоооотЪ... Теперь необходимо спросить его, что он имел ввиду. И заодно, почему он так сказал. Потому, что очень часто человек в уме определил, что для достижения цели нужно решать одну задачу, а на самом деле нужно другую. Руководитель тоже человек и он не занимается непосредственно Вашей, работой, ею Вы занимаетесь.

25

stranger пишет:
marsello пишет:

в ТЗ нет нечего про файлы логов, это руководитель сказал

ВоооотЪ... Теперь необходимо спросить его, что он имел ввиду. И заодно, почему он так сказал. Потому, что очень часто человек в уме определил, что для достижения цели нужно решать одну задачу, а на самом деле нужно другую. Руководитель тоже человек и он не занимается непосредственно Вашей, работой, ею Вы занимаетесь.

Хорошо завтра поподробнее расспрошу его, спасибо Вам ab

26

marsello, пока не за что, МСВС ещё ставится.

27 (13.07.2014 15:31:29 отредактировано stranger)

marsello, поставил МСВС 5, посмотрел, проверил.

Таки да, faillog не при делах, но считывание из last вроде бы вполне решает Вашу проблему, имхо это именно то, что нужно. Скажите спасибо товарищу stalker_tk!

+ вот так

http://s018.radikal.ru/i516/1407/aa/6e3a07026580.png

28

stranger пишет:

marsello, поставил МСВС 5, посмотрел, проверил.

Таки да, faillog не при делах, но считывание из last вроде бы вполне решает Вашу проблему, имхо это именно то, что нужно.

Да, но ведь last считывает из файла /var/log/wtmp кагбы, если доступ к логам буде закрыт то никак ac
И еще  last ведь не выводит неверные попытки ввода пароля, по идее есть команда lastb которая должна читать их из файла /var/log/btmp, но этого файла в мсвс вообще нет, ну да фиг с ними, видимо это особенность

29 (13.07.2014 15:48:46 отредактировано stranger)

marsello пишет:

если доступ к логам буде закрыт то никак

Зачем закрыт? Я потому и говорил, что нужно понять, что значит "без логов". Вы понимаете, что узнать, что происходило, "без логов", назови их хоть журналом, хоть чупакаброй, невозможно в принципе. У шамана спрашивать?

marsello пишет:

last ведь не выводит неверные попытки ввода пароля

Да ну? А слово crash там про что? Я ж уж наверное специально вводил неправильный пароль.

30 (13.07.2014 15:48:23 отредактировано stalker_tk)

Fat-Zer пишет:

я бы смотрел в сторону настройки pam'а

Об этом тоже не стоит забывать, тем более с помощью PAM можно много что сделать: вход по USB-ключу, снимок пользователя при попытке логина и мн. др. Кстати в документации МСВС Pluggable Authentication Modules обозвали просто ПАМ хотя по русски это: Подключаемые Модули Безопасности(Подключаемые модули аутентификации если точно) ag

Hunter, who is on the trail ...