বাশ স্ক্রিপ্ট থেকে আপনি আসলে কী সম্পাদন করছেন তা যাচাই করার জন্য কি কোনও পদ্ধতি আছে?
আপনার ব্যাশ স্ক্রিপ্ট বিভিন্ন কমান্ড কল করছে বলুন (উদাহরণস্বরূপ: tar
, mail
, scp
, mysqldump
) এবং আপনি কি নিশ্চিত যে করতে ইচ্ছুক tar
প্রকৃত হয়, বাস্তব tar
, যার দ্বারা অবধারণীয় হয় root
ব্যবহারকারী ফাইল এবং পেরেন্ট ডাইরেক্টরি মালিক এবং শুধুমাত্র লেখার অনুমতিসহ এক হচ্ছে এবং কিছু মালিক বা মালিক হওয়ার /tmp/surprise/tar
সাথে নয় ।www-data
apache2
অবশ্যই আমি PATH
ও পরিবেশ সম্পর্কে জানি , আমি এটি জানতে আগ্রহী যে চলমান ব্যাশ স্ক্রিপ্ট থেকে এটি অতিরিক্তভাবে চেক করা যায় কিনা এবং যদি তা হয় তবে ঠিক কীভাবে?
উদাহরণ: (সিউডো কোড)
tarfile=$(which tar)
isroot=$(ls -l "$tarfile") | grep "root root"
#and so on...
which
কি tar
করবে তা সঠিকভাবে না বলা ছাড়াও ls
ফাইল (গুলি) সম্পর্কে কোনও মিথ্যা তথ্য ফেরত দিতে হ্যাক করা যেতে পারে। grep
মিথ্যা তথ্য ফেরত দেওয়ার জন্যও হ্যাক করা যায়; পরিবর্তে শেল ম্যাচিং ব্যবহার করে এড়ানো যেতে পারে তবে শেলটি হ্যাক হতে পারে। এবং শেলটি type
প্রথম স্থান থেকে ভুল ফলাফল দেওয়ার জন্য হ্যাক করা যেতে পারে - বা পুরোপুরি প্রতিস্থাপন করা হয়েছে যেহেতু শেলটির পুনঃস্থাপনযোগ্যতা 50 বছর বয়সী ওএসের তুলনায় ইউনিক্সের একটি গুরুত্বপূর্ণ উদ্ভাবন ছিল। কেন থম্পসনের 1984 টিউরিংয়ের ঠিকানাটি দেখুন। এটি পুরো কচ্ছপ
TE
) নামে একটি উপাদান রয়েছে - এতে স্বাক্ষরযুক্ত একটি ডাটাবেস থাকে (যেমন, এমডি 5 চেকসামের চেয়ে আরও বিস্তৃত T যখন টিই সক্রিয় থাকে এবং কোনও ফাইল ডাটাবেজে থাকে আপনি বেছে নিতে পারেন) প্রোগ্রামটি চলমান কিনা - বা কেবলমাত্র সতর্ক করে যে এটি ডাটাবেসের সাথে মেলে না Further আরও দুটি সেটিংস রয়েছে: TEP
(বিশ্বস্ত এক্সিকিউশন PATH) এবং TLP
(বিশ্বস্ত LIBrary PATH) T কেবলমাত্র টিইপিতে প্রোগ্রামগুলি কার্যকর করা যেতে পারে এবং লাইব্রেরিগুলি কেবল এর সাথে লোড হতে পারে ডিরেক্টরিটি টিএলপিতে অন্তর্ভুক্ত করা হয়েছে Linux লিনাক্সে আমি 'অ্যাপআর্মার' নামে কিছু আছে যা আপনাকে সাহায্য করতে পারে