LINUX.ORG.RU

cron и запись в файл

 , ,


0

1

Здравствуйте. В общем были проделаны следующие действия в CentOS 6.2: 1. Создан файлик userlog.bash для крона следующего содержания:

#!/bin/bash history > /var/log/history/$USER/$USER-$(date +%d-%a-%T).log

Чтобы держать логи команд вводимых пользователем в соответствующей папке.

2. В крон добавлена соответствующая команда на выполнение этого файла: 30 * * * * pasha /usr/local/bin/userlog.bash

3. При запуске этого не хитрого механизма, крон создавал файл /var/log/history/pasha/pasha-11-Thu-16:57:01.log

НО, создаваемые файлы все без исключения пустые. При этом если в ручную ввести команду как в скрипте, то всё отлично работает. В чём может быть проблема?

 history

Это встроенная команда.

Чтобы держать логи команд вводимых пользователем в соответствующей папке.

man bash

Homura_Akemi ()

жесть какая, ты таким незатейливым образом за пользователями пытаешься следить что-ли?

zolden ★★★★★ ()
Ответ на: комментарий от leoneed

мм...это настолько феерично, что я даже не знаю что сказать
сделай скрипт обёртку, которая логирует что к чему
например /bin/rm переименовываешь в /bin/newrm, и делаешь скрипт
#!/bin/bash
echo всёчтонадо > log
/bin/newrm

zolden ★★★★★ ()
Ответ на: комментарий от Homura_Akemi

я в курсе, просто мне нужно узнать в какой период времени пользователь чистит bash_history и сопоставить с тем кто был в системе в данный момент (за этим у меня сислог следит уже). history удобен тем что пишет все команды в реальном времени, независимо от .bash_history

leoneed ()

может проще юзеру прописать в .bash_login запуск /usr/bin/script

sdio ★★★★★ ()
Ответ на: комментарий от leoneed

оно случаем не автоматом чистится? (см. .bash_logout) ну и намомню о accton, sa и подобном.

beastie ★★★★★ ()
Ответ на: комментарий от beastie

Если пользователь делает «unset HISTFILE» это не поможет.

mky ★★★★★ ()
Ответ на: комментарий от leoneed

История команд это «собственность» шелла. Поэтому history нужно выполнять из того шелла, чью историю комманд нужно получить. Можно проборовать засунуть нужные команды в переменную «PROMPT_COMMAND», правда про этом пользователь может узнать. Ну или патчить и перекомпилировать bash...

mky ★★★★★ ()
Ответ на: комментарий от mky

История команд это «собственность» шелла.

понятно, спасибо. Значит этот «механизмус» изначально был обречён. Буду думать дальше.

leoneed ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.