Sponsored Content
Full Discussion: login audit bash script
Top Forums Shell Programming and Scripting login audit bash script Post 302599825 by agama on Saturday 18th of February 2012 06:25:44 PM
Old 02-18-2012
Quote:
Originally Posted by bashily
I have 2 questions:
1- How did you learn bash scripting so well?
Lots of practice. I've been writing code for a very long time now, and still learn something with nearly every post.

Quote:
2- I have to look at the whole /var/log/wtmp files. There are so many of them and I have to add them to one file but I can't Smilie

...

Then I have to add all the logged time of my users together and give a total as output. In your script you just used "last" command. which gives you only information from present machine not all other servers on the network.
correct me if I am wrong....
I see. I didn't grock that you needed to produce output based on all of them, and not just from the most recent.

I think you are on the right track. You might find this a bit easier to manage:

Code:
#!/usr/bin/env ksh

cd /tmp                     # safe place to work
tfile=/tmp/wtmp.$$          # temp file to uncompress into
big_file=/tmp/$USER.wtmp    #collect all output from wtmp into one file

ls /var/tmp/wtmp*bz2 | while read file    # for each wtmp file
do
    bunzip2 -dc $file >$tfile   # uncompress writing output to tmp file
    last -F -a -f $tfile        # run last on it
done >$big_file                 # save all output from last in one file
last -F -a >>$big_file          # append formatted output from current wtmp
rm $tfile                       # tmp file not needed

### parse your big file (/tmp/$USER.wtmp) here #####

# cleanup before exit
rm $big_file

This unzips each bzipped wtmp file directly to a temporary file, and then immediately runs last on it collecting all of the output in one file. A final last is executed which uses the current wtmp file and appends that output to the big file. You can then parse the big file as needed. You won't need a temporary directory because you don't have to copy the files.

Hope this helps.

Last edited by agama; 02-18-2012 at 07:31 PM.. Reason: added some comments
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash script for ssh login-

hi. I need a bash script which can login to an other mashin via SSH and then run some commands and then return the result to my mashine. I dont know where to begin, I think first I will need a ssh connection, dont know how to make it, then , do I need a ftp connection between the 2 mashins to... (5 Replies)
Discussion started by: big_pil
5 Replies

2. Shell Programming and Scripting

bash ssh login script

hello anyone have done ssh login script without "expect" (automatic login from host A / user b to Host B / user b without enter any passwords)? cheers (2 Replies)
Discussion started by: modcan
2 Replies

3. Shell Programming and Scripting

syntax error in audit script

Hi, When I run the following script #!/bin/sh email="rc@dll.com" subject="response times are more than a SECOND" rt=`tail audit.log | grep -i operationResponseTime | awk '{print $2}'` if then ### Mail the file to the mailbox mail -s $subject $email <<-end $rt ~.... (3 Replies)
Discussion started by: openspark
3 Replies

4. Shell Programming and Scripting

BASH ssh login

Ok, there's been a good number of posts about this, but here goes. I want a script to log in to a system via ssh without using keys. This will be used to log in to Cisco IOS devices. I have tried the following, but could not get it to work: SSH login expect shell script to supply username and... (1 Reply)
Discussion started by: mike909
1 Replies

5. Shell Programming and Scripting

Help with Unix bash shell script login

Hi, I am a complete Unix novice and need some help with creating a login shell script. I have created a file with user details i.e. PIN, name etc and require help in recalling the specified details from the file and being prompted for a password on login. Any help would be very much appreciated.... (0 Replies)
Discussion started by: tdsrogers
0 Replies

6. Shell Programming and Scripting

Bash Login tester Script help!

Hello, first of all, I am a pretty experience c++ programmer, but have never really bothered learning bash scripting at all, so I know conceptually things that can be done in c++, but I'm not too sure about bash. I'm trying to learn Bash, and wanted to start out with a practical application. So I... (1 Reply)
Discussion started by: RSPdev
1 Replies

7. AIX

When AIX audit start, How to set the /audit/stream.out file size ?

Dear All When I start the AIX(6100-06)audit subsystem. the log will save in /audit/stream.out (or /audit/trail), but in default when /audit/stream.out to grow up to 150MB. It will replace the original /audit/stream.out (or /audit/trail). Then the /audit/stream.out become empty and... (2 Replies)
Discussion started by: nnnnnnine
2 Replies

8. UNIX for Dummies Questions & Answers

Login PID in sh/bash different

In bourne shell the PID generated for the command "ps" matches my login id PID in the command "who -Hu" but in bash/linux the PID generated with the same commands are different . Why so? (2 Replies)
Discussion started by: asd78in
2 Replies

9. Shell Programming and Scripting

Automate OTPW login to ssh via bash script

Hello everyone. I'm a Linux novice trying out a lot of bash scripting lately, as it is so very addictive. Lately I have been setting up one of my boxes remotely and have been hardening it as much as possible. Please allow me to explain the scenario, as it does tend to become a little... (1 Reply)
Discussion started by: instro
1 Replies

10. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies
WCAT(1) 							   User Commands							   WCAT(1)

NAME
wcat - printout wtmp entries SYNOPSIS
wcat [-w wtmp|-] [-adX[3|4]] [-s start] [-e end] [-b H[:M[:S]]] [--help] [--version] SYNOPSIS
Wcat provides an easy way to recover trimmed information from wtmp binary files. This tool can be useful for scripts that need only partial information from them. Notice that wcat output is binary wtmp entries so if this information is printed out to a terminal or screen it might mess it up. A better use of wcat would be: wcat | rawtmp -w - OPTIONS
-w wtmp|- Read alternate wtmp file. -X[3] Read tacacs 3.x wtmp format. -X4 Read tacacs 4.0 wtmp format. -d Output time in MMM DD HH:MM:SS date format. -a Print contents of ut_addr (if it exists) instead of ut_host. -s start Display accounting info from `start'. -e end Display accounting info up to `end'. -b H:M:S Show accounting info from the last few hours/minutes/seconds. --help Print this help message. --version Print the version of rawtmp. SEE ALSO
sac(8), ac(1), last(1), rawtmp(1), wtmp(5), netdate(8L) FILES
/var/log/wtmp login database /usr/adm/radacct/.../detail Radius accounting logs AUTHOR
The upstream author of wcat is Steve Baker (ice@mama.indstate.edu) This manpage was written by Javier Fernandez-Sanguino based on help2man for the Debian GNU/Linux distribution (but can be used by others). wcat v1.0 (c) 2001 by Steve Baker January 2003 WCAT(1)
All times are GMT -4. The time now is 07:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy