Vraag : het toevoegen van sudoinfo aan het rapport van mijn lastlogin

Hallo, maakte ik dit manuscript aan rapport lastlogin, nologin en blokkeerde gebruikers op AIX, maar het omvat geen login gebruikend su.  Vraag: Hoe kan ik su login van uit te sluiten omvatten lastlogin (1st deel van het manuscript)?

This de code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
#! /usr/bin/ksh
# 
PATH=$PATH
de uitvoer WEG
de uitvoer HOSTNAME= `hostname `

als
  [$# - Ne 1]; dan
    echo >&2 „Uso: inactiveusers.ksh „numero_de_dias““
    uitgang 1
FI

getdate ()
{
perl - e '
    gebruik POSIX qw (strftime);
    $mydate = strftime „%c“, localtime ($ARGV [0]); 
    druk $mydate; '$1
}   

now= `datum +%s `
days=$1
als [[$days - le 0]]
dan
echo „FOUT: Grparametro $dias van Introduzca correctamente“
uitgang 1
FI

delta=$ (($days*86400))
refpoint=$ (($now - $delta))
(
echo „********************************************************************“
van echo „Usuarios inactivos (geen login) Engelse los ultimos$days dias Engelse $HOSTNAME“
echo „********************************************************************“

lsuser - een time_last_login ALLEN |
grep - e time_last_login |

terwijl gelezen lijn
   
        plaats $line
        username=$1
        logintime= `echo $2 | awk - F= „{druk $2}“ `
        als [[$logintime - Lt. $refpoint]]; dan
		lsuser - een time_last_logingecos $username  |awk '{druk $1, $2, $3, $4} '|sed - e „s/gecos=/Nombre: /“ - e 's/time_last_login=/LastLogin=/'| terwijl gelezen LOGIN NUM van de REKENING GEBRUIKER; weergalmen $ $ACCOUNT {LOGIN%% [0-9] *} \ „$ (getdate $ {LOGIN##*=}) \“ $NUM $USER; gedaan 
	
        FI
   gedaan
echo

echo „********************************************************“
echo „Usuarios que geen „geopend“ nuncay estan van Se han logueado“
echo „********************************************************“
lsuser - een time_last_login account_locked ALLEN | grep - v time_last_login |
grep vals |
terwijl gelezen lijn
   
         druk $line
   gedaan 

echo 
echo „*************************************“
bloqueadosen van echo „Usuarios este instante: “
echo „*************************************“
lsuser - a account_locked ALLEN|grep waar; lsuser - een unsuccessful_login_count ALLEN|egrep - v 'unsuccessful_login_count=0|unsuccessful_login_count=1|unsuccessful_login_count=2|sed „s/unsuccessful_login_count/No_de_intentos_fallidos: /“ || weergalm „Geen existen usuariosbloqueados Engelse $HOSTNAME“
echo
echo „##########################################################“
 ) 2>&1 | more


Antwoord : het toevoegen van sudoinfo aan het rapport van mijn lastlogin

Hallo opnieuw,

Ik ben een nu verward beetje.

Wilt u rapportering over uitsluiten userids die su'ed aan is geweest?

In dit geval is uw rapport inderdaad fijn.

De „time_last_login“ waarde van een gebruiker wijst niet op het su'ing aan die gebruiker. Het succesvolle gebruik van su stelt de „unsuccessful_login_count“ attributen terug slechts als de gebruiker rlogin en login attributen beide reeks aan vals is.

Natuurlijk wordt de laatste login tijd van de gebruiker die „su“ uitgaf geregistreerd.

Als u over „su“ gebruik wilt rapporteren zult u /var/adm/sulog moeten onderzoeken. Het nadeel met dat dossier is dat de datum in mm/dd hh bevat is: mm formaat - dat is geen seconden sinds tijdvak, en er is geen jaar!

In elk geval - uw manuscript is een echt aardig ding - ik kan niet om het even wat zien verkeerd met het!

wmp

 

Andere oplossingen  
 
programming4us programming4us