
Я хочу знать, какой пользователь выполнил какую команду на терминале и когда, то есть если кто-либо из пользователей выполняет «rmdir abc» и удаляет определенный каталог, я должен знать, какую команду он выполнил и в какое время. И мне не нужны данные за один сеанс, эти данные должны быть доступны мне, как мы ведем журналы, чтобы я мог проанализировать их за любой момент времени.
Я history
тоже попробовал команду и добавил к ней время, но она не показывает "Пользователей" команды, а также она основана на сеансе, поэтому ее данные не добавляются в ~/.bash_history
файл, пока сеанс не будет завершен. Также ~/.bash_history
не показывает время и пользователя, поэтому она бесполезна. Может ли кто-нибудь мне помочь, пожалуйста. Я просто хочу посмотреть, какой пользователь выполнил какую команду с момента запуска системы и в какое время.
решение1
Вы можете проверить команды, выполненные пользователями, используяsudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
Для получения дополнительной информации вы также можете проверить журналы AUTH.tail /var/log/auth.log | grep username
попробуйте этот похожий вопрос:Как посмотреть временные метки в истории bash?
решение2
Я думаю, что это в файле истории bash каждого пользователя. Вам просто нужно получить список файлов истории .bash и cat их.
cd /home
find |grep .bash_history
выходы:
./gediz/.bash_history
чем кошка это
cat ./gediz/.bash_history
Вы можете сделать это в цикле for
a=find ...
for i in $a
do
echo $a
cat $i
done
Вы можете создать службу или отредактировать файл rc.local для запуска Ubuntu с циклом while, который будет создавать резервные копии всех пользовательских .bash_history в каждом цикле в безопасном месте, так что даже если пользователи удалят свои файлы, вы сможете проверить, что было сделано.