[debian] inactieve users verwijderen

Pagina: 1
Acties:

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Hoi,
Ik heb een (klein) probleempje met debian. Ik wil nl dat ik inactieve gebruikers kan killen. (beter nog; dat ze automatisch gekilled worden na verloop van tijd) .

Als ik nu nl who -a intik krijg ik (o.a.)
code:
1
2
3
4
test     + pts/0        Nov 18 15:27   .         19983
           pts/1        Dec  1 23:45              2709 id=ts/1  term=0 exit=0
           pts/2        Nov 18 23:42             22947 id=ts/2  term=0 exit=0
thijs    ? pts/1        Nov 15 12:13   ?         18312


De meeste users kon in gewoon kicken met kill -9 en dan een id wat erachter stond dus (19983 ofzo). Alleen bij deze users lukt dat niet:
code:
1
kill: (19983) - No such process

Enig idee hoe ik deze gebruikers toch kan 'killen' want ik kan nu nl ook geen user remove omdat die nog is ingelogd... beetje vervelend :)

Verwijderd

met het commando "slay" usernaam kun je alle processen van een user killen

Verwijderd

Ben je wel root? ;).

Proces niet kunnen vinden, waarschijnlijk kill je een user die actief is, en dan moet je de parent shell killen, niet een child proces, die verandert nl. steeds (nieuw proces).

  • Wilke
  • Registratie: December 2000
  • Laatst online: 11:43
maak een file /usr/bin/slay en zet daar in:

code:
1
2
3
4
#!/bin/bash
if [ -n $1 ]; then
  ps axu | grep "^$1" | awk '{print $2}' | xargs kill -9
fi


Dan even chmod +x /usr/bin/slay en je kunt doen 'slay username' en die user heeft geen processen meer :)

Owja...het kan slim zijn er even iets in te bouwen dat checkt of je niet per ongeluk 'slay root' doet, da's zo slecht voor je systeem namelijk ;)

Edit: slay heb je niet standaard, hoewel sommige distro's het wel by default installeren (Red Hat misschien?)

[ Voor 13% gewijzigd door Wilke op 02-12-2002 20:47 ]


  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 02 december 2002 @ 20:34:
met het commando "slay" usernaam kun je alle processen van een user killen
server:/# slay test
slay: Nothing done.
server:/# slay thijs
slay: Nothing done.
Verwijderd schreef op 02 december 2002 @ 20:35:
Ben je wel root? ;).

Proces niet kunnen vinden, waarschijnlijk kill je een user die actief is, en dan moet je de parent shell killen, niet een child proces, die verandert nl. steeds (nieuw proces).
... kan je dan wel 1 bepaalde users killen?
zo ja; hoe :)

[ Voor 4% gewijzigd door MadMurdock op 02-12-2002 20:51 ]


  • Wilke
  • Registratie: December 2000
  • Laatst online: 11:43
MadMurdock schreef op 02 december 2002 @ 20:47:
... kan je dan wel 1 bepaalde users killen?
zo ja; hoe :)


Als je geen root bent mag je natuurlijk geen processen van andere users killen.

Als je wel root bent met slay (is bij jou dus blijkbaar al standaard aanwezig, anders scriptje maken zoals hierboven).

offtopic:
Maar dan ook heel erg offtopic....

Eeeeej!!! D'r staat bij ons beneden altijd zo'n blauw-geverfde fiets van [een of ander vaag groepje studenten waar zijn servernaam me aan deed denken :P ]...woon jij op de campus of.... ?

[ Voor 30% gewijzigd door Wilke op 02-12-2002 21:02 . Reden: servernaampje weggepoetst ]


  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
dat # achter de prompt was toch wel subtiel genoeg ;)
en slay heb ik net ff ge-apt-get... met het resultaat zoals hierboven :/

offtopic: had ik net die servernaam weggeedit ... :P, maar 't bakkie staat wel op de campus. Ik zelf zit 'gewoon' in de stad :)

[ Voor 36% gewijzigd door MadMurdock op 02-12-2002 20:55 ]


  • Wilke
  • Registratie: December 2000
  • Laatst online: 11:43
Als 'slay' niet werkt is je computer gewoon vaag.... geen ideeen wat je verder nog zou kunnen proberen, helaas.

offtopic:
Jammer joh :P Vroeg me af of we toevallig geen buren waren...ik woon net buiten de campus, vandaar.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15-05 13:11

deadinspace

The what goes where now?

Je utmp (/var/run/utmp) is waarschijnlijk corrupt. In deze file staat wie er ingelogd zijn, daar halen "w" en "who" die informatie ook vandaan.

Kijk met ps eens of je processes van die user ziet (waarschijnlijk niet als slay niks ziet/doet). Als er geen enkel process van die user draait, dan zit het probleem in je utmp. Een botte manier om dat te fixen is "cat /dev/null > /var/run/utmp" of "echo -n > /var/run/utmp" (wel eerst backupje van die file maken, just to be sure). Misschien zijn er wel nettere methoden ook.

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
deadinspace schreef op 03 December 2002 @ 20:40:
Je utmp (/var/run/utmp) is waarschijnlijk corrupt. In deze file staat wie er ingelogd zijn, daar halen "w" en "who" die informatie ook vandaan.

Kijk met ps eens of je processes van die user ziet (waarschijnlijk niet als slay niks ziet/doet). Als er geen enkel process van die user draait, dan zit het probleem in je utmp. Een botte manier om dat te fixen is "cat /dev/null > /var/run/utmp" of "echo -n > /var/run/utmp" (wel eerst backupje van die file maken, just to be sure). Misschien zijn er wel nettere methoden ook.
Jeee :)

Dat heeft idd gewerkt... Heb vooralsnog geen problemen erdoor gekregen. Dus 't lijkt opgelost te zijn.
Thnx !

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Wilke schreef op 02 December 2002 @ 20:46:
maak een file /usr/bin/slay en zet daar in:

code:
1
2
3
4
#!/bin/bash
if [ -n $1 ]; then
  ps axu | grep "^$1" | awk '{print $2}' | xargs kill -9
fi
Kleinigheidje: zet even een "grep -v grep" ertussen , om te voorkomen
dat grep het process met "grep $1" als eerste ziet en dat afschiet waarna er niets meer gebeurt......dus:
ps axu | grep "^$1" |grep -v grep| awk '{print $2}' | xargs kill -9

(je kent wel die tekenfilms , waarbij je de tak waar je op zit afzaagt.....)

:)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

hmz, ik kan mij herrinneren dat een oude install van suse (6.2 geloof ik) een appje hiervoor had. Weet niet meer hoe het heet, maar was volgens mij een soort getty. Die logte iemand automatisch uit als die langer dan een X aantal <unit> idle was...

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
u_nix_we_all schreef op 04 december 2002 @ 17:50:
[...]


Kleinigheidje: zet even een "grep -v grep" ertussen , om te voorkomen
dat grep het process met "grep $1" als eerste ziet en dat afschiet waarna er niets meer gebeurt......dus:
ps axu | grep "^$1" |grep -v grep| awk '{print $2}' | xargs kill -9

(je kent wel die tekenfilms , waarbij je de tak waar je op zit afzaagt.....)

:)
standaard bij debian (apt-get install slay) krijg je dit scriptje... kan misschien wel efficienter, maar t heeft wel wat geinige functies. butthead-mode :P
Check: Slay :)
Pagina: 1