PDA

Bekijk Volledige Versie : Hoe een service linken aan een file/script?



axeos
14/06/07, 11:47
Ik vraag me al een tijdje af of het mogelijk is om een bepaalde service die draaid op de server, te linken aan een bestand op de server.

Voorbeeld: ik gebruik het 'top' commando om te zien welke services draaien, en zie :

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12067 nobody 16 0 4100 2804 1496 R 21.0 0.3 2:19.11 perl

Conclusies:
- Het zal een perl script zijn.
- De user nobody draaid het.. dus het wordt tijd om phpsuexec te configureren.

Mijn vraag: is het mogelijk aan de hand van de PID bijvoorbeeld te zoeken welk script gedraaid wordt? Ik zou verwachten dat ergens /scripts/test.pl staat welke 2:19.11 geleden gestart is, maar hoe vindt ik die?

Technotop
14/06/07, 11:59
lsof -p 12067 |grep perl

ga dan naar de /tmp dir of /var/tmp (zelfde) en kijk wat er allemaal in staat met ls -a en dan de rechten bekijken met ll -a, veel scripts zie je door de schrijf en executie rechten en zijn *vaak* groen gekleurd.

Die bestanden zijn daar niet voor niets gekomen dus zoek in de access_logs naar aanwijzingen, verder staat er in de dir van de website die het heeft veroorzaakt vaak ook het een en ander, dus ga direct zoeken naar perl of tar.gz files.

Mount je /tmp dir noexec en zet er mod_security op, that will geek the most off :)

axeos
14/06/07, 16:19
Geweldig! Bedankt Technotop!

wonko
14/06/07, 16:48
Ook kan je wat info halen via het commando ps (ps -auxwww | grep <processid>) en anders kan je ook in /proc/<processid> terecht voor wat extra informatie (ls die directory eens, je zal enkele andere directories zien staan, waaronder de werkdirectory bvb)...