Linuxでユーザー登録後の操作記録を表示
linuxシステムの環境では、rootユーザーでも他のユーザーでもシステムにログインしてからアクセス操作しかできません.historyにコマンドして履歴を表示することができますが、1台のサーバに複数の人がログインした場合、ある人が誤って操作したために重要なデータが削除されます.
この場合、履歴(コマンド:history)を表示することで意味がありません.登録後のIPアドレスやあるユーザー名を記録して操作した履歴を実現する方法はありますか?あります.
/etc/profileに次のコードを追加することで実現できます.
この場合、履歴(コマンド:history)を表示することで意味がありません.登録後のIPアドレスやあるユーザー名を記録して操作した履歴を実現する方法はありますか?あります.
/etc/profileに次のコードを追加することで実現できます.
- PS1="`whoami`@`hostname`:"'[$PWD]'
- history
- USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
- if [ "$USER_IP" = "" ]
- then
- USER_IP=`hostname`
- fi
- if [ ! -d /tmp/dbasky ]
- then
- mkdir /tmp/dbasky
- chmod 777 /tmp/dbasky
- fi
- if [ ! -d /tmp/dbasky/${LOGNAME} ]
- then
- mkdir /tmp/dbasky/${LOGNAME}
- chmod 300 /tmp/dbasky/${LOGNAME}
- fi
- export HISTSIZE=4096
- DT=`date " %Y%m%d_%H%M%S"`
- export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
- chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
, /tmp dbasky , IP , ? 。