একটি নতুন ইউএসবি স্টোরেজ ডিভাইস সনাক্ত হওয়ার পরে কীভাবে শেল স্ক্রিপ্টটি চালানো যায়?


17

আমি এমন একটি স্ক্রিপ্ট চাই যা লগটি ডাম্প করে এবং ইউএসবি ভর স্টোরেজ প্লাগ হওয়ার সাথে সাথেই এটিতে লগ করা শুরু করে (এতে 'ওকেডাম্প' ফাইলটি থাকে) .আর যদি কিছু অস্বাভাবিক হয় (দৃশ্যত উপস্থিত একটি ত্রুটির মতো) সনাক্ত হয় তবে আমি চাই এটি স্ক্রিনশট নিতে এবং এটি একই ড্রাইভে সংরক্ষণ করতে।

উত্তর:


13

উদেব ব্যবহার করুন। উদেব একজন ডিভাইস ম্যানেজার ডেমন। অন্যান্য জিনিসগুলির মধ্যে এটি আপনার ডিভাইসগুলির নামকরণের জন্য দায়ী। নিয়ম ডিরেক্টরিতে নির্দিষ্ট সিনট্যাক্স সহ ফাইলগুলি রেখে আপনি উদেব-বিধিগুলি সংজ্ঞায়িত করতে পারেন। নিয়মগুলি অনেক কিছুই করতে পারে - বিশেষত তারা কোনও স্ক্রিপ্টগুলি চালাতে পারে, যখন কোনও নির্দিষ্ট ডিভাইস সংযুক্ত থাকে।

আপনার সমস্যা কীভাবে সমাধান করবেন:

প্রথমে আপনার ডিভাইসে তথ্য সংগ্রহ করা দরকার। আসুন যাক আপনি এটি সংযুক্ত করেছেন, এবং জানেন যে এটি নামে চলে /dev/sdb1। যদি তাই চালান:

udevadm info -a -p $(udevadm info -q path -n /dev/sdb1)

কমান্ডটি আপনার ডিভাইস সম্পর্কিত তথ্য আউটপুট দেবে। এটি একটি দীর্ঘ দীর্ঘ। আপনাকে এমন কিছু সন্ধান করতে হবে যা ডিভাইসটিকে স্বতন্ত্রভাবে সনাক্ত করে। এটি সিরিয়াল ATTRS{serial}=="UA04FLGC"বা অন্যান্য বৈশিষ্ট্যের সংমিশ্রণ ATTRS{idVendor}এবং যেমন হতে পারে ATTRS{idProduct}। বেশিরভাগ নাম কম বেশি স্ব-বর্ণনামূলক। যুক্তিসঙ্গত বলে মনে হয় এমন কয়েকটি বা একটি মিশ্রণ চয়ন করুন - যদি তারা কাজ না করে তবে অন্য কিছু চেষ্টা করুন।

একবার আপনি কোনও অনন্য শনাক্তকারীকে খুঁজে পেলে একটি ফাইল তৈরি করুন /etc/udev/rules.dযা দুটি অঙ্ক দিয়ে শুরু হয় এবং শেষ হয় .rules। দুটি অঙ্ক এই .rules- ফাইলগুলি প্রক্রিয়াকরণের ক্রম নির্দিষ্ট করে - 70-usb-log-custom.rulesআপনার জন্য ভাল পছন্দ হওয়া উচিত। এই নিয়ম ফাইলটির বাক্য গঠনটি খুব জটিল হতে পারে। আপনি যদি আগ্রহী হন তবে গুগল উদেব। সদ্য তৈরি হওয়া ফাইলটি না খুললে এবং এ জাতীয় কিছু দেখতে এটি সম্পাদনা করুন:

# /etc/udev/rules.d/70-usb-log-custom.rules

KERNEL=="sd?1", ATTRS{serial}=="UA04FLGC", ACTION=="add", SYMLINK+="cusb1", RUN+="/home/confus/bin/usb-encrypt.sh add %k"
ENV{ID_FS_USAGE}=="crypto", ACTION=="remove", RUN+="/home/confus/bin/usb-encrypt.sh remove %k"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", GROUP="users", MODE="0666"

এটি আমি ব্যবহার করছি এমন একটি আসল উদেব ফাইল। এটিতে এর তিনটি বিধি রয়েছে। প্রতিটি লাইন তার নিজস্ব একটি নিয়ম। যখনই কোনও এনক্রিপ্টড ডিস্ক সংযুক্ত থাকে তখন প্রথম লাইনটি একটি ডিক্রিপ্টড ডিভাইস তৈরি করতে একটি স্ক্রিপ্ট চালায়। দ্বিতীয় লাইনে ডিক্রিপ্ট হওয়া ডিভাইসটি সরানো হলে ইভেন্টে বিভিন্ন বিকল্পের সাথে একই স্ক্রিপ্টের অনুরোধ জানায়। তৃতীয় লাইনটি অন্য সম্পর্কিত ডিভাইসের জন্য অনুমতি নির্ধারণ করে।

সম্ভবত আপনার কেবল প্রথম লাইনের প্রয়োজন হবে। বাকীটি মুছুন এবং ডান সিরিয়ালটি সন্নিবেশ করুন (বা আপনার ডিভাইসটি সনাক্ত করার জন্য আপনি যে পরামিতিগুলি বেছে নিয়েছেন)।

আমার ফাইলের ব্যাখ্যা:

KERNEL=="sd?1"ডিভাইস আমরা এই নিয়ম খুঁজছেন লাইন বরাবর নামকরণ করা হয় বলে /dev/sda1, /dev/sdc1বা ওই জাতীয় কিছু। প্রশ্ন চিহ্ন যে কোনও চিঠির জন্য একটি ওয়াইল্ডকার্ড। ATTRS{serial}=="UA04FLGC"এখানে অনন্য সনাক্তকারী। অন্যান্য ডিভাইসের জন্য আমি বলছিলাম (তৃতীয় লাইন) আমি সিরিয়াল নম্বরটি ব্যবহার করছি না তবে এটির শনাক্তকরণ SYSFS{idVendor}=="1781"এবং SYSFS{idProduct}=="0c9f"সনাক্তকরণের জন্য।

ACTION=="add"বিধিটি বলছে এটি কেবল তখনই কাজ করা উচিত যখন ডিভাইস যুক্ত করা হয়; এটি মুছে ফেলা হবে না যখন।

SYMLINK+="cusb1"ডিস্ক তাই এক নীচে পাবেন করার জন্য একটি সিমবলিক লিঙ্ক তৈরি করে /dev/cusb1

RUN+="/home/confus/bin/usb-encrypt.sh add %k" স্ক্রিপ্টটি চালায় এবং এতে 'অ্যাড' এবং '% কে' (ডিভাইসের নাম) পাস করে।

আমি আরও বিস্তারিত জানাব না, যেহেতু উদেব বিধি সম্পর্কে দুর্দান্ত টিউটোরিয়াল রয়েছে। আপনি এখানে যা পড়েন তা তাকানোর পক্ষে যথেষ্ট হওয়া উচিত।


দুর্দান্ত উত্তর তবে আমি এখন একটি স্ক্রিপ্ট চাই যা লগইন করে
Amith KK

4
তারপরে আপনাকে এটি লিখতে হবে বা আপনি যা চান ঠিক তা সম্পর্কে আরও সুনির্দিষ্ট হতে হবে। উদাহরণস্বরূপ, স্ক্রিনশট আপনাকে কী বলবে তা আমি দেখতে পাচ্ছি না। এছাড়াও 'সিস্টেম লগ ডাম্প' কোথায়? 'কিছু অস্বাভাবিক' পাশাপাশি একটি বিস্তৃত শব্দও। আমরা আপনার ব্যক্তিগত সেনাবাহিনী নই - বাশ স্ক্রিপ্টিং সম্পর্কে যদি আপনি দুটি বা দুটি জিনিস জানেন তবে এখন নিজেই স্ক্রিপ্টটি লেখার জন্য আপনার কাছে প্রয়োজনীয় সমস্ত সরঞ্জাম রয়েছে।
কনফ-এ-ইউজ

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