2011-09-01 12 views
7

मेरी कंपनी में, कुछ आदेशों को sudo, जैसे tcpdump के साथ चलाने की अनुमति है। अन्य नहीं।सूडो के साथ चलने वाली प्रक्रिया को कैसे समाप्त किया जाए? Ctrl + C इसे करें, लेकिन

मुझे थोड़ी देर के लिए tcpdump चलाने की उम्मीद है, और फिर इसे रोकें। जब मैं tcpdump चलाने के लिए, और मैं गर्भपात हो सकता है कि Ctrl + C

साथ मैं इस तरह एक खोल पटकथा लिखी -

#!/bin/sh 
sudo tcpdump -ieth1 -w ~/dump.bin 
sleep 5 
kill -2 $! 

यह वास्तव में काम नहीं करता। टीसीपीडम्प की प्रक्रिया रूट के रूप में चलती है, और वर्तमान उपयोगकर्ता एक सामान्य खाता है।

मेरा प्रश्न है: क्या bash स्क्रिप्ट में ctrl c के बराबर करने का कोई तरीका है?

संपादित करें:

पुनश्च: मेरी कंपनी के सुरक्षा नीति के रूप में, मैं रूट के रूप में मार नहीं चला सकते हैं।

उत्तर

5

-Z विकल्प tcpdump पर आज़माएं। यह रूट विशेषाधिकारों को छोड़ने के लिए tcpdump को निर्देश देता है और तर्क में निर्दिष्ट उपयोगकर्ता के रूप में चलाता है।

sudo tcpdump -Z $USER -ieth1 -w ~/dump.bin 

अब उस प्रक्रिया को मारने का प्रयास करें।

+0

'-Z' एक तर्क लेता है ... –

+0

बढ़िया! यह वास्तव में कारगर है। आपका बहुत बहुत धन्यवाद। – blaketang

5

, बस के रूप में अच्छी sudo के माध्यम से kill चलाएँ:

sudo kill -2 $! 

इस तरह kill प्रक्रिया विशेषाधिकार एक प्रक्रिया है कि रूट के रूप में चलाता है को संकेत भेजते करना होगा।

+2

धन्यवाद Blagovest , मुझे खेद है कि मेरा सवाल स्पष्ट नहीं था! मेरी कंपनी की सुरक्षा नीति के लिए, मैं रूट के रूप में मार नहीं सकता, और sudo config फ़ाइल में कोई भी आदेश नहीं जोड़ सकता। – blaketang

0
sudo tcpdump -ieth1 -w ~/dump.bin 

अपनी स्क्रिप्ट को अवरुद्ध कर देगा, तो आप इसे पृष्ठभूमि में डाल दिया जाना चाहिए:

sudo tcpdump -ieth1 -w ~/dump.bin & 

यह और answer from Blagovest इसे करना चाहिए।

+0

आप सही हैं, और संलग्न किया जाना चाहिए। – blaketang

1

timeout कमांड भी लंबे समय बाद एक कार्यक्रम को समाप्त करता है। sudo timeout 5 tcpdump -ieth1 -w ~/dump.bin को स्क्रिप्ट के समान ही काम करना चाहिए।

+1

टाइमआउट कमांड को पहले sudo config फ़ाइल में जोड़ा जाना चाहिए। मैं कंपनी की सुरक्षा नीति के कारण ऐसा नहीं कर सकता। – blaketang

0
sudo tcpdump -Z root -w ~/dump.bin -n -i eth0 -G 300 -W 1 

जी - समय समाप्त सेकंड (समय समाप्ति की अवधि के बाद स्वचालित रूप से कमांडरों को मार डाला जाता है) Z - बूंद जड़ और उपयोगकर्ता विशेषाधिकार डब्ल्यू के रूप में रन - संख्या फ़ाइलों बचाया जा (एक splitted फ़ाइल के रूप में)

संबंधित मुद्दे