History of all the users in single file with command , date . time , ip and user


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting History of all the users in single file with command , date . time , ip and user
# 1  
Old 03-28-2014
History of all the users in single file with command , date . time , ip and user

HTML Code:
Code:
archive_history() {     HISTORYOLD=${HISTFILE}.archive     CURTIME=`date`     CURTTY=`tty`     IP=$(echo $SSH_CLIENT | awk '{print $1}')        if  [ x$HISTDUMPPED = x ]; then                echo "#-${HOSTNAME}-- ${CURBASHDATE} - ${CURTIME} ($CURTTY) ${USER} ${IP}----" >>   $HISTORYOLD       history $(($HISTCMD-${CURBASHSTART-0})) | sed -e 's/^[ ]*[0-9][0-9]* [ ]*//g'  >> $HISTORYOLD       export HISTDUMPPED=1     fi }  exit () {    archive_history    builtin exit }

then add following line in .bash_logout in each user home's dir.

vi /home/oracle/ .bash_logout
Code:
archive_history >>  .bash_logout

you can see all details by like " command date ipaddress/username"
after doing above all step once login, run some command and then logout and then login
and then check "cat .bash_history.archive"









with your script i am getting output like this :


cat /home/oracle/.bash_history.archive
#-test2.fatima-group.com-- - Thu Mar 27 17:38:23 PKT 2014 (/dev/pts/2) oracle 10.1.8.226----
2014-03-27 17:38:23 logout
#-test2.fatima-group.com-- - Thu Mar 27 17:41:11 PKT 2014 (/dev/pts/4) oracle 10.1.8.244----
2014-03-27 17:41:11 logout
#-test2.fatima-group.com-- - Thu Mar 27 17:52:02 PKT 2014 (/dev/pts/3) oracle 10.1.8.226----
2014-03-27 17:52:02 logout





There are 2 problems , i mean which i want to fulfill my requirement


Problem 1 : i am not getting command which is executed by user


problem2 : i should get all details in .bash_history.archive even if i close my terminal ( i mean i just close my ssh terminal and dont type exit or logout )


thanks in advance




---------- Post updated 03-28-14 at 12:22 PM ---------- Previous update was 03-27-14 at 06:25 PM ----------

You can add this two lines to /etc/profile or /etc/bashrc in order to log all commands executed by bash:
PHP Code:
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print $1}')"                                                                                                   export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local3.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"' 
This will use syslog to record every executed command along with the user who did and it's IP address in a format like this:
PHP Code:
Jan  8 08:43:49 xpto local3.debug rootroot@192.168.x.[29385]: ls -al 
0] Additionally you can add the line below to your syslog configuration ( /etc/syslog.conf ) to redirect the local3 messages to a specific file.
PHP Code:
local3.*                                                /var/log/prompt.log 


i have also followed the code i just typed but it is not showing any output.

can any one help me with this ?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

History of command by date

hi unix expert how can i see the history of command that i entered in past? history (1 Reply)
Discussion started by: abdossamad2003
1 Replies

2. Shell Programming and Scripting

History of all the users in single file with command , date . time , ip and user

HTML Code archive_history() { HISTORYOLD=${HISTFILE}.archive CURTIME=`date` CURTTY=`tty` IP=$(echo $SSH_CLIENT | awk '{print $1}') if ; then echo "#-${HOSTNAME}-- ${CURBASHDATE} - ${CURTIME} ($CURTTY) ${USER} ${IP}----" >> $HISTORYOLD history... (2 Replies)
Discussion started by: rehantayyab82
2 Replies

3. Shell Programming and Scripting

Tracking users through history command

Hi folks, I have the basic query that there are 3 unix boxes having their individual access now in my team there are 4 members who are using the same credentials to access those 3 boxes through putty ssh from their windows desktop , now if i want to check which 4 members have executed the... (1 Reply)
Discussion started by: punpun66
1 Replies

4. UNIX for Dummies Questions & Answers

History to Another file [local user history , but root access]

Hi all, My need is : 1. To know who , when , which command used. 2. Local user should not delete this information. I mean , with an example , i can say i have a user user1 i need to give all the following permissions to user1, : a. A specific directory other than his home... (1 Reply)
Discussion started by: sriky86
1 Replies

5. UNIX for Dummies Questions & Answers

The history command: See other users command history

Can anyone tell this: If two users are logged into the same server from different locations. Is there a way to see the history command of the other user? I tried the history command, but it is showing me only the commands I used. Thanks in advance for your help. Iamnew2solaris (1 Reply)
Discussion started by: iamnew2solaris
1 Replies

6. UNIX for Advanced & Expert Users

History to Another file [local user history , but root access]

Hi all, My need is : 1. To know who , when , which command used. 2. Local user should not delete this information. I mean , with an example , i can say i have a user user1 i need to give all the following permissions to user1, : a. A specific directory other than his home... (3 Replies)
Discussion started by: linuxadmin
3 Replies

7. UNIX for Dummies Questions & Answers

Date, time, users

i need to find out following ways to show out put in a shell script when the user selects that option in a case statement. I have the case statement already started just need to find out how to read the following: current date and time (should it be read date)? users logged in (should it be... (4 Replies)
Discussion started by: vthokiefan
4 Replies

8. HP-UX

How to enforce users not to modify their command history.

As a system administrator. sometimes we see the users are trying some commands dangerous for the system health and remove them from their individual coomand history file. How it is possible to enforce that the normal usres will will not be able to modify the history. Thanks in advance. Partha (4 Replies)
Discussion started by: partha_bhunia
4 Replies

9. UNIX for Dummies Questions & Answers

last login date and time for all users

I need a command that will list all the users and their last login date & time. I was trying the last command and the who command, but can't get exactly what I need. I just need the output to be user name and last login date . Thanks for your help! (3 Replies)
Discussion started by: igidttam
3 Replies

10. Shell Programming and Scripting

Date/Time in history command

Hi, Can we display the Date/time stamp in history command Ex: $history output ----------- vi pr.sh ksh -x pr.sh ksh -n pr.sh nhoup ksh pr.sh & nohup ksh pr.sh & i want the output like this Tue Mar 14 17:18:57 GMT 2006 vi pr.sh HOSTNAME is it possible sir ???? (3 Replies)
Discussion started by: vastare
3 Replies
Login or Register to Ask a Question