ge-sudo-ete Prozesse beenden

Bash, Shell, PHP, Python, Perl, CGI
suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

ge-sudo-ete Prozesse beenden

Post by suntzu » 2008-08-25 18:31

Hi zusammen,

ich starte mit

Code: Select all

sudo /usr/sbin/tcpdump -optionen &

tcpdump, habe auch nur die Berechtigung, tcpdump mit sudo zu starten. Jetzt ist das Problem, dass ich das tcpdump nicht mehr (als normaler Nutzer) beenden kann. Irgendwie logisch, ist ja ein root-Programm. Welche Möglichkeit habe ich als normaler Nutzer jetzt, den tcpdump-Prozess wieder zu beenden?

Danke schonmal,
Dominik

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: ge-sudo-ete Prozesse beenden

Post by EdRoxter » 2008-08-25 18:54

Code: Select all

sudo killall tcpdump
ohne es getestet zu haben.

suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: ge-sudo-ete Prozesse beenden

Post by suntzu » 2008-08-25 18:56

EdRoxter wrote:

Code: Select all

sudo killall tcpdump
ohne es getestet zu haben.

Leider nicht, schon getestet :-) Logischerweise habe ich keinen Zugriff auf killall mHv sudo ... Könnte böse enden *gg*

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: ge-sudo-ete Prozesse beenden

Post by freddy36 » 2008-08-25 19:40

man tcpdump wrote: -Z Drops privileges (if root) and changes user ID to user and the group ID to the primary group of user.

Das dürfte in deinem Fall die leichteste Lösung sein.

Eventuell möchtest du dich (bzw. wer auch immer die Kiste administriert) über POSIX Capabilities informieren, dann läuft tcpdump auch ohne sudo :)
Last edited by freddy36 on 2008-08-25 19:44, edited 1 time in total.

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: ge-sudo-ete Prozesse beenden

Post by EdRoxter » 2008-08-25 19:41

Stimmt. If you type "google" into Google...

Code: Select all

PID=`ps aux | grep -m 1 "sudo tcpdump" | awk '{print $2}'`;sudo kill -9 $PID;

Geht sicherlich eleganter, aber dafür bin ich gerade zu faul.

Edith meint:
-Z Drops privileges (if root) and changes user ID to user and the group ID to the primary group of user.

.. oder so.
Last edited by EdRoxter on 2008-08-25 19:45, edited 1 time in total.

suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: ge-sudo-ete Prozesse beenden

Post by suntzu » 2008-08-25 19:43

EdRoxter wrote:Stimmt. If you type "google" into Google...

Code: Select all

PID=`ps a | grep -m 1 "sudo tcpdump" | awk '{print $2}'`;sudo kill -9 $PID;

Geht sicherlich eleganter, aber dafür bin ich gerade zu faul.

Das geht leider auch nicht. Mit kill und Konsorten komme ich nicht weiter, da kriege ich halt immer den Fehler, dass keine Berechtigung vorhanden ist.

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: ge-sudo-ete Prozesse beenden

Post by freddy36 » 2008-08-25 19:46

SunTzu wrote:Das geht leider auch nicht. Mit kill und Konsorten komme ich nicht weiter, da kriege ich halt immer den Fehler, dass keine Berechtigung vorhanden ist.

Wenn du per sudo nur tcpdump starten darfst und kein Zugriff auf kill, etc. hast kannst du den Prozess nicht mehr selber killen :)

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: ge-sudo-ete Prozesse beenden

Post by EdRoxter » 2008-08-25 19:48

Deshalb ja

Code: Select all

sudo kill

Ich hab mich aber vertan.

Code: Select all

PID=`ps aux | grep -m 1 "tcpdump" | awk '{print $2}'`;sudo kill -9 $PID;

wäre richtiger.

suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: ge-sudo-ete Prozesse beenden

Post by suntzu » 2008-08-25 19:49

Freddy36 wrote:
man tcpdump wrote: -Z Drops privileges (if root) and changes user ID to user and the group ID to the primary group of user.

Das dürfte in deinem Fall die leichteste Lösung sein.

Eventuell möchtest du dich (bzw. wer auch immer die Kiste administriert) über POSIX Capabilities informieren, dann läuft tcpdump auch ohne sudo :)


OK, das hört sich gut an und ein erster, kurzer Test hat die Funktionalität auch bestätigt. Jetzt muss ich erstmal den jetzigen Durchlauf meines Scripts abwarten, danach werde ich das mal "im echten Leben" (tm) ausprobieren.

Und was die POSIX-Sachen angeht: Ich werde nicht den Lehrstuhl-Admin bitten, das Suse so zu modifizieren, dass es POSIX-"konformer" ist *gg*. Never change a running system und so ...

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: ge-sudo-ete Prozesse beenden

Post by oxygen » 2008-08-25 20:57

SunTzu wrote:Und was die POSIX-Sachen angeht: Ich werde nicht den Lehrstuhl-Admin bitten, das Suse so zu modifizieren, dass es POSIX-"konformer" ist *gg*. Never change a running system und so ...

Fragen kostet nichts. Aber ich glaub auch nicht, dass dir der Rainer da weiterhelfen kann.

suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: ge-sudo-ete Prozesse beenden

Post by suntzu » 2008-08-26 00:31

oxygen wrote:Fragen kostet nichts. Aber ich glaub auch nicht, dass dir der Rainer da weiterhelfen kann.

Haben eh die Hiwis gemacht. Aber das mit dem -Z für tcpdump war der entscheidende Hinweis, dann funktioniert ein kill als unpriviligierter User hervorragend.

also, ab sofort ist der Rechner im Studiraum hinten links blockiert ;-)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: ge-sudo-ete Prozesse beenden

Post by Joe User » 2008-08-26 09:08

EdRoxter wrote:

Code: Select all

PID=`ps aux | grep -m 1 "tcpdump" | awk '{print $2}'`;sudo kill -9 $PID;

wäre richtiger.

man pkill
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: ge-sudo-ete Prozesse beenden

Post by EdRoxter » 2008-08-26 15:05

Da war was... ;)

Aber da sich das ja dank privilege dropping eh schon erledigt hat, ist das ja auch egal. :)