একটি স্ক্রিপ্ট পেতে এবং এটি চালান


28

আমি একটি স্ক্রিপ্ট ডাউনলোড করতে চাই: http://dl.roidbox.com/u/11210438/flockonus-stack.sh থেকে এবং এটি সম্পাদন করুন। আমার অনুমান, এটির নামকরণ করে উইজেট ব্যবহার করা, এটি chmod করুন এবং চালিত করুন।

উবুন্টুতে এটি করার জন্য আদেশগুলি কী কী?

উত্তর:


51

সাবধান

স্ক্রিপ্টটি চালানোর আগে, আপনি যে এটি লিখেছেন তার উপর কি বিশ্বাস রাখেন?

উদাহরণস্বরূপ, আপনি কি স্ক্রিপ্টটি এটি ধারণ করবে বলে আশা করেছিলেন?

echo "brain1" > /etc/hostname

এটি আপনার হোস্টের নাম পরিবর্তন করার চেষ্টা করবে।


ভবিষ্যতের রেফারেন্সের জন্য, স্ক্রিপ্টটি যাচাই করার পরে যদি সঠিক হয় এবং দূষিত না হয় তবে আপনি এটি একটি লাইনে এটি চালাতে পারেন:

wget -O - http://dl.dropbox.com/u/11210438/flockonus-stack.sh | bash

তবে এটি আলাদাভাবে ডাউনলোড করুন এবং এটি প্রথমবার চালানোর আগে পড়ুন।

এছাড়াও নোট করুন যে ডাউনলোড করা স্ক্রিপ্টের অভ্যন্তরে ইন্টারেক্টিভ প্রম্পটগুলি এই পদ্ধতিটি ব্যবহার করে সঠিকভাবে কাজ করতে পারে না।


9
এটির সাথে (গুরুত্বপূর্ণ) সুরক্ষা বিষয়গুলি চিহ্নিত করার জন্য +1। আপনি উত্সটি বিশ্বাস করেন একেবারে নিশ্চিত হন। যে echo "brain1" > /etc/hostnameঠিক হিসাবে সহজে হতে পারে rm -rf /
ক্রিস্টোফার ক্যাসেল 22

2
+1 ধন্যবাদ ছেলেরা, এই স্ক্রিপ্টটি আমার কাছ থেকে, এটি নিরাপদ .. ওয়ান-লাইনার পছন্দ করেছে, তবে, এর কিছু ইন্টারেক্টিভ লাইন রয়েছে যা চালিত হয়নি .. ডুনো কেন?
ফাবিয়ানো সোরিয়ানী

1
আপনার apt-get installলাইন? যদি apt-getকোনও অতিরিক্ত নির্ভরতা ইনস্টল করা হয় তবে এটি আপনাকে জিজ্ঞাসা করবে এবং এটি না পারলে এটি নিরাপদ হয়ে প্রস্থান করবে। হয় কমান্ড লাইন আর্গুমেন্টে সমস্ত নির্ভরযোগ্য প্যাকেজ যুক্ত করুন -y, বা যুক্ত করার কথা বিবেচনা করুন , যেমনapt-get -y install...
মাইকেল

বিষয়টি নির্ভরতা সম্পর্কিত নয়, এটি অ্যাপ্লিকেশন ফ্লাশিং স্টিডিনের সাথে সম্পর্কিত।
জোরদাচে

1
মাঝারি আক্রমণে মানুষের কারণে আপনি যদি "উত্সটির উপর বিশ্বাস" করেন তবে আপনি উত্সটিকে বিশ্বাস করতে পারবেন না। এটি বলেছিল, ব্যাশ স্ক্রিপ্টগুলির সাথে এলোমেলো প্রাইভেট ইউআরএলগুলি একটি সংকীর্ণ যথেষ্ট আক্রমণকারী ভেক্টর হওয়া উচিত যা এটিকে টানতে সক্ষমতার সাথে কেউ এটি করার জন্য যথেষ্ট যত্ন করে না।
স্প্যাম্যাপস

9

অ-ইন্টারেক্টিভ স্ক্রিপ্টগুলি

wget -O - http://website.com/my-script.sh | bash

নোট করুন যে এই পদ্ধতিটি ব্যবহার করার সময়, ইন্টারেক্টিভ স্ক্রিপ্টগুলি কাজ করবে না।


ইন্টারেক্টিভ স্ক্রিপ্টস

ইন্টারেক্টিভ স্ক্রিপ্টগুলি কাজ করার জন্য, আপনি এটি ব্যবহার করতে পারেন:

bash <(wget -qO- http://website.com/my-script.sh)

ইন্টারেক্টিভ স্ক্রিপ্টগুলি যেগুলি রুট হিসাবে চালানো দরকার

সতর্কতা: এটি অত্যন্ত বিপজ্জনক। প্রস্তাবিত নয়।

sudo su -c "bash <(wget -qO- http://website.com/my-script.sh)" root

নোট করুন যেহেতু আপনি সাধারণ ব্যবহার করতে পারবেন না sudo bashযেহেতু ব্যবহারটি <(...)ভার্চুয়াল ফাইল তৈরি করবে এবং এর ফাইল বর্ণনাকারী রুট ব্যাশের উদাহরণ থেকে অ্যাক্সেসযোগ্য হবে না। এটি ভার্চুয়াল ফাইলটি পড়ার প্রয়োজন একই ব্যবহারকারীর উপর কার্যকর করা উচিত, সুতরাং এটি রুট ব্যবহারকারীদের শেলের মধ্যে এটির নিজস্ব কমান্ড হিসাবে প্রেরণ করতে হবে।


1
এটি সেরা উত্তর। এটি ইন্টারেক্টিভ বনাম অ-ইন্টারেক্টিভ বনাম সুবিধাপ্রাপ্ত মৃত্যুদন্ডের গুরুত্বপূর্ণ দিকগুলি কভার করে।
লিওনিড মাকারভ

5

এই স্ক্রিপ্টটি আমার কাছ থেকে, এটি নিরাপদ .. ওয়ান-লাইনার পছন্দ করেছে, তবে, এর কিছু ইন্টারেক্টিভ লাইন রয়েছে যা চলেনি .. ডুনো কেন?

যখন dpkg চালায়, অ্যাপ্ট-গেট দ্বারা কল করা হয়, এটি স্টিডিনকে ফ্লাশ করে। আপনি যদি কোনও কমান্ড ব্যবহার করেন curl blah | bashতবে মূলত আপনি পৃষ্ঠার বিষয়বস্তুগুলি STDIN এর মাধ্যমে ব্যাশে পাঠাচ্ছেন। যদি আপনার কমান্ডগুলির কোনও একটি প্রস্তুত হয়, তবে রান করুন, অন্য সমস্ত কিছুই সমাপ্ত হবে।

কৌশলটি হ'ল এইভাবে একটি কমান্ড ব্যবহার করা apt-get install --yes denyhosts </dev/null। এটি এপটি-গেটকে অন্য একটি ইনপুট দেয় এবং এটি আপনার স্ক্রিপ্টের বাকী পরিবর্তে কেবল / ডিভ / নালকে ফ্লাশ করে।

আপনি যদি রিমোট স্ক্রিপ্টের মাধ্যমে কিছু ইনস্টল করার সম্পূর্ণ উদাহরণ দেখতে চান তবে অস্বীকারকারীদের স্থাপনের জন্য আপনি এই স্ক্রিপ্টটি দেখতে চাইতে পারেন

রেকর্ডের জন্য, আমি এর জন্য উইজেটের চেয়ে কার্ল পছন্দ করি তবে উইজেটটিও ঠিক থাকতে হবে।


আমি কিছু ইন্টারেক্টিভ দিয়ে একটি ডামি স্ক্রিপ্ট দিয়ে চেষ্টা করেছি, এটি ডুড কাজ করেছে .. আমি এটি পেয়েছি না xD dl.rodbox.com/u/11210438/lala.sh
ফ্যাবিয়ানো সোরিয়ানী

4
#!/bin/sh
if [ ! -f "/tmp/flockonus-stack.sh" ]
then
    wget -O /tmp/flockonus-stack.sh http://dl.dropbox.com/u/11210438/flockonus-stack.sh
fi

sh /tmp/flockonus-stack.sh

4

এই সমস্ত উদাহরণ একটি মোটামুটি গুরুত্বপূর্ণ পয়েন্ট অনুপস্থিত। আপনি যদি ইউআরএল ব্যবহার করেন http://dl.dropbox.com/u/11210438/flockonus-stack.shতবে প্রতিবার এটি ডাউনলোড করার সময় আপনাকে স্ক্রিপ্টটি নিরীক্ষণ করতে হবে কারণ এটি আপনার এবং ড্রপবক্সের মধ্যে নেটওয়ার্কের পথে থাকা যে কোনও ব্যক্তির দ্বারা সংশোধন করা যেতে পারে। আপনি যদি http s : //dl.roidbox.com/u/11210438/flockonus-stack.sh এ স্যুইচ করেন তবে আপনার কাছে নিরাপত্তাহীনতার উত্স থাকবে না।

(ড্রপবক্স HTTP URL টি https এ পুনর্নির্দেশের চেষ্টা করে তবে কোনও নেটওয়ার্ক আক্রমণের ক্ষেত্রে উইজেট কখনই আসল ড্রপবক্সের সাথে কথা বলতে পারে না এবং পুনর্নির্দেশটি কখনই দেখতে পাবে না)


2
এটি সম্ভবত প্রশ্নের উত্তর হিসাবে নয়, উত্তর হিসাবে খুব ভাল বাম, কারণ এটি প্রশ্নের সঠিক উত্তর দেয় না। তবুও নিশ্চিতভাবে উল্লেখ করার মতো মূল্য!
বিল ওয়েইস

2

আপনি যেমন উইজেটের সাথে নির্দিষ্ট করেছেন ঠিক তেমন ডাউনলোড করার চেষ্টা করুন এবং তারপরে এটি সরাসরি চালিত করুন। আপনি যে স্ক্রিপ্ট ইত্যাদি ডাউনলোড করতে চান তার জন্য আপনি অভিনবতা পেতে পারেন এবং ভেরিয়েবলগুলি ব্যবহার করতে পারেন, তবে এটি কৌশলটি করবে

উদাহরণ স্বরূপ:

!#/bin/bash

#Change to temp directory
cd /tmp

#Download file using wget
wget http://dl.dropbox.com/u/11210438/flockonus-stack.sh

#Execute the file

sh flockonus-stack.sh

আমি কীভাবে আমার সিস্টেমকে বলব যে এটি শুরুতে আসলে এটি করতে?
মেটালকিলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.