1

Здравстуйте

Скажите пожалуйста можно ли логировать все действия пользователя в системе? (linux)

2

все логи лежат в /var/log/
дополнительно можно посмотреть

 Консоль:
history

3

как организовать хранение в /var/log/ каждого пользователя в отдельном файле, или всех в одном но чтоб видно было кто есть кто

4

odin пишет:

 Консоль:
history

историю легко очистить  wink

5

логи тоже

6

к тому же если постараться то можно и перенаправить историю в syslog...  wink

7

odin пишет:

логи тоже

еще нужно знать какой там файлик чистить

и нужно знать что за тобой наблюдают, и понимать как это делается  :o

8

T0PT пишет:

Скажите пожалуйста можно ли логировать все действия пользователя в системе? (linux)

прямо уж так и "все"... С какой целью? Просто так?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

9

drBatty пишет:
T0PT пишет:

Скажите пожалуйста можно ли логировать все действия пользователя в системе? (linux)

прямо уж так и "все"... С какой целью? Просто так?

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

10

так history смотрите... а то что не должно никому попадать лучше спрятать....

11

T0PT пишет:

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

неверный подход. ВСЕ команды отследить очень сложно - контролируйте каналы передачи. Например флешки можно (и нужно!) запретить монтировать юзерам. Если-же юзеру это НАДО, разрешите через sudo, но с логом (кто, когда. Тогда в другом логе увидите какая флешка.).

И шифруйте. Чуть более чем всё. Причём - незаметно от юзера.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12 (09.12.2010 10:33:08 отредактировано i2ks)

T0PT, Ведение логов шелла пользователя root через связку auditd и pam

Для OpenSuse
Установка:

 Консоль:

#zypper in audit yast2-audit-laf audit-visualize audit-audispd-plugins pwdutils-plugin-audit audit-libs-python

Далее:

yast2 - Linux Audit Framework

И самый простой вариант, это использовании команды stat, далее читаем man stat

 Консоль:

# stat %n FreeBSD-8.1-RELEASE-i386-dvd1.iso.gz
stat: cannot stat `%n': No such file or directory
  File: `FreeBSD-8.1-RELEASE-i386-dvd1.iso.gz'
  Size: 1996298670      Blocks: 3899032    IO Block: 4096   regular file
Device: 807h/2055d      Inode: 9176192     Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/ useradm)   Gid: (  100/   users)
Access: 2010-12-09 10:03:37.653969245 +0300
Modify: 2010-07-19 04:28:31.000000000 +0400
Change: 2010-12-09 10:03:25.964064883 +0300


Ну во как то так :-) можно было бы еще написать, но проще почитать материал связанный по аудиту пользователtй в linux/unix системах, там более подробно напишут, что и как.

It is good day to die ...
MS Windows 10
Заметки о главном...

13

дабы не ставить лишнего можно просто перенаправить историю в syslog ... кстати, в материале который привел товарищ i2ks есть пример как это делается...

14

напишите пожалуйста подробнее об "аудит пользователей в linux"
гугл дает только аудит для самбы. а мне нужно для консоли

просто перенаправить историю в syslog - очень интересно как

15

просто перенаправить историю в syslog - очень интересно как

сходите по ссылке которую привел i2ks

16

Вы по ссылкам хоть пройдите

17

извините, не заметил...

18 (09.12.2010 11:10:58 отредактировано i2ks)

T0PT пишет:

просто перенаправить историю в syslog - очень интересно как

http://linuxforum.ru/viewtopic.php?pid=120357#p120357 по ссылке идем и читаем заметку, что не понятно? или вам необходимо все здесь расписать?  oO

T0PT пишет:

напишите пожалуйста подробнее об "аудит пользователей в linux"
гугл дает только аудит для самбы. а мне нужно для консоли

oO
Аудит системы Linux в примерах
How to keep a detailed audit trail of what’s being done on your Linux systems
Auditing user sessions
и тд

It is good day to die ...
MS Windows 10
Заметки о главном...

19

что-то не совсем понятно http://welinux.ru/post/3796/
у меня нет директории /etc/profile.d/
есть только файл /etc/profile
ps ` Debian

+ открыть спойлер

Ведение логов шелл пользователя через trap и rsyslog

Настройка в данном варианте будет выглядеть следующим образом.
В директорию /etc/profile.d/ надо добавить файл blog.sh, например вот так nano /etc/profile.d/blog.sh с содержимым из листинга

листинг blog.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    __LAST_COMMAND="$(history 1)"
declare -r BASH_COMMAND
declare -r __TRAP='
__THIS_COMMAND="$(history 1)"
if [ "$__LAST_COMMAND" != "$__THIS_COMMAND" ]
then
    __LAST_COMMAND="$__THIS_COMMAND"
    if [ "$PROMPT_COMMAND" != "$BASH_COMMAND" ]
    then
       '"$(which logger)"' -p local5.notice -- "-- CMD -- '"$(pwd)"' $LOGNAME@$HOSTNAME[$
$]: $__LAST_COMMAND"
    fi
fi'
declare -r PROMPT_COMMAND='trap "$__TRAP" DEBUG'
declare -r HISTCONTROL=''

20

можно и /etc/profile добавить...

21

odin пишет:

можно и /etc/profile добавить...

имееш ввиду добавить к

+ открыть спойлер

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

export PATH

umask 022

еще и

+ открыть спойлер

__LAST_COMMAND="$(history 1)"
declare -r BASH_COMMAND
declare -r __TRAP='
__THIS_COMMAND="$(history 1)"
if [ "$__LAST_COMMAND" != "$__THIS_COMMAND" ]
then
    __LAST_COMMAND="$__THIS_COMMAND"
    if [ "$PROMPT_COMMAND" != "$BASH_COMMAND" ]
    then
       '"$(which logger)"' -p local5.notice -- "-- CMD -- '"$(pwd)"' $LOGNAME@$HOSTNAME[$
$]: $__LAST_COMMAND"
    fi
fi'
declare -r PROMPT_COMMAND='trap "$__TRAP" DEBUG'
declare -r HISTCONTROL=''

а как проверить, так чтоб не обувать валянки и не бежать в холодную серверную ?? smile

22

T0PT, используйте script

DESCRIPTION
     Script makes a typescript of everything printed on your terminal.  It is useful for students who need a hardcopy record of an interactive
     session as proof of an assignment, as the typescript file can be printed out later with lpr(1).

     If the argument file is given, script saves all dialogue in file.  If no file name is given, the typescript is saved in the file typescript.


 Консоль:

# script -q -t tem_info-`date +%d%m%Y`.log 2> typesc-`date +%d%m%Y`.log

пример:

# cat tem_info-09122010.log 
Script started on Thu Dec  9 12:31:30 2010
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root   45 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root   80 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # 
websrv-local:~ # 
websrv-local:~ # 
websrv-local:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1            1011M  204M  756M  22% /
devtmpfs              123M  184K  123M   1% /dev
tmpfs                 123M  4.0K  123M   1% /dev/shm
/dev/sda7             586M   17M  540M   3% /home
/dev/sda6             1.7G  1.1G  594M  64% /usr
/dev/sda5             492M   65M  403M  14% /var
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root  351 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # rm -f typescdate\ +%X.log 
websrv-local:~ # ll
total 36
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root  608 Dec  9 12:32 typesc-09122010.log
websrv-local:~ # rm -f typesc-09122010.log 
websrv-local:~ # exit

перенаправлять вывод можно куда угодно и откуда угодно. Подробно вот здесь вот: Auditing user sessions
P.S. если бы вы были вы внимательны то можно было бы заметь то что данный линк я уже приводил ранее.

It is good day to die ...
MS Windows 10
Заметки о главном...

23 (09.12.2010 13:25:14 отредактировано T0PT)

i2ks пишет:
+ открыть спойлер
i2ks пишет:

T0PT, используйте script

DESCRIPTION
     Script makes a typescript of everything printed on your terminal.  It is useful for students who need a hardcopy record of an interactive
     session as proof of an assignment, as the typescript file can be printed out later with lpr(1).

     If the argument file is given, script saves all dialogue in file.  If no file name is given, the typescript is saved in the file typescript.


 Консоль:

# script -q -t tem_info-`date +%d%m%Y`.log 2> typesc-`date +%d%m%Y`.log

пример:

# cat tem_info-09122010.log 
Script started on Thu Dec  9 12:31:30 2010
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root   45 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root   80 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # 
websrv-local:~ # 
websrv-local:~ # 
websrv-local:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1            1011M  204M  756M  22% /
devtmpfs              123M  184K  123M   1% /dev
tmpfs                 123M  4.0K  123M   1% /dev/shm
/dev/sda7             586M   17M  540M   3% /home
/dev/sda6             1.7G  1.1G  594M  64% /usr
/dev/sda5             492M   65M  403M  14% /var
websrv-local:~ # ll
total 40
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root  351 Dec  9 12:31 typesc-09122010.log
-rw-r--r-- 1 root root  248 Dec  9 12:30 typescdate +%X.log
websrv-local:~ # rm -f typescdate\ +%X.log 
websrv-local:~ # ll
total 36
-rw------- 1 root root  779 Dec  9 12:30 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23  2005 .exrc
drwx------ 2 root root 4096 Dec  8 16:37 .gnupg
drwxr-xr-x 2 root root 4096 Dec  8 16:29 .kbd
-rw------- 1 root root 1349 Dec  9 10:02 .viminfo
drwxr-xr-x 2 root root 4096 Jul  1 19:02 bin
drwxr-xr-x 5 root root 4096 Dec  8 16:09 inst-sys
-rw-r--r-- 1 root root    0 Dec  9 12:31 tem_info-09122010.log
-rw-r--r-- 1 root root 1484 Dec  9 12:30 tem_info-date +%X.log
-rw-r--r-- 1 root root  608 Dec  9 12:32 typesc-09122010.log
websrv-local:~ # rm -f typesc-09122010.log 
websrv-local:~ # exit

перенаправлять вывод можно куда угодно и откуда угодно. Подробно вот здесь вот: Auditing user sessions
P.S. если бы вы были вы внимательны то можно было бы заметь то что данный линк я уже приводил ранее.

извините но не вижу ничего общего с моим вопросом
у меня вопрос как правильно прописать профиль, моя система со статьей немного отличается...
или вы предлагаете более простое решение использовать скрипт
но в вашем ответе не заметил как вести аудит действий пользователя в shell
oO

24

поясните момент с профилем... какой профиль?