প্রক্রিয়া যুক্তি সকল ব্যবহারকারীর কাছে দৃশ্যমান, তবে পরিবেশটি কেবল একই ব্যবহারকারীর কাছে দৃশ্যমান ( কমপক্ষে লিনাক্সে এবং আমি প্রতিটি আধুনিক ইউনিক্স বৈকল্পিকের জন্য ভাবি)। সুতরাং এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে পাসওয়ার্ড দেওয়া নিরাপদ। যদি কেউ আপনার পরিবেশের ভেরিয়েবলগুলি পড়তে পারে তবে তারা আপনার মতো প্রক্রিয়া চালাতে পারে, সুতরাং এটি ইতিমধ্যে শেষ game
পরিবেশের বিষয়বস্তুগুলি অপ্রত্যক্ষভাবে ফাঁস হওয়ার কিছুটা ঝুঁকির মধ্যে রয়েছে, উদাহরণস্বরূপ আপনি যদি ps
কিছু তদন্ত করতে যান এবং দুর্ঘটনাক্রমে কোনও পাবলিক জায়গায় গোপনীয় পরিবেশের ভেরিয়েবলগুলি সহ ফলাফলটি অনুলিপি করে আটকে দেন। আরেকটি ঝুঁকি হ'ল আপনি পরিবেশের পরিবর্তনশীল এমন একটি প্রোগ্রামে পাস করুন যার প্রয়োজন নেই (প্রক্রিয়াটির শিশুদের সহ যা পাসওয়ার্ডের প্রয়োজন হয়) এবং সেই প্রোগ্রামটি তার পরিবেশের পরিবর্তনশীলগুলি প্রকাশ করে কারণ এটি তাদের গোপনীয় হওয়ার আশা করেনি। মাধ্যমিক ফাঁসের এই ঝুঁকিগুলি কতটা খারাপ তা নির্ভর করে পাসওয়ার্ড সহ প্রক্রিয়াটি কীভাবে চালায় (এটি কতক্ষণ চলবে? এটি কী উপ-প্রক্রিয়া চালায়?)।
পাসওয়ার্ড দুর্ঘটনাক্রমে এমন কোনও চ্যানেল যা কোনও পাইপের মতো নকশাকৃত নকশাকৃত নকশাকৃত নয় এমন কোনও চ্যানেল দিয়ে পাস করার মাধ্যমে এটি নিশ্চিত হওয়া সহজ। প্রেরণ পক্ষের পক্ষে এটি করা বেশ সহজ। উদাহরণস্বরূপ, যদি আপনার শেল ভেরিয়েবলের পাসওয়ার্ড থাকে তবে আপনি এটি করতে পারেন
echo "$password" | theprogram
যদি theprogram
তার স্ট্যান্ডার্ড ইনপুটটিতে পাসওয়ার্ডটি আশা করে। মনে রাখবেন যে এটি নিরাপদ কারণ echo
একটি বিল্টিন; এটি বাহ্যিক কমান্ডের সাহায্যে নিরাপদ হবে না কারণ ps
আউটপুটটিতে যুক্তিটি প্রকাশিত হবে । একই প্রভাব অর্জনের আরেকটি উপায় হ'ল একটি নথির সাথে:
theprogram <<EOF
$password
EOF
কিছু প্রোগ্রাম যাদের পাসওয়ার্ডের প্রয়োজন হয় এটি নির্দিষ্ট ফাইল বর্ণনাকারীর কাছ থেকে পড়তে বলা যেতে পারে। আপনার যদি অন্য কোনও কিছুর জন্য স্ট্যান্ডার্ড ইনপুট প্রয়োজন হয় তবে আপনি স্ট্যান্ডার্ড ইনপুট ব্যতীত কোনও ফাইল বর্ণনাকারী ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এর সাথে gpg
:
get-encrypted-data | gpg --passphrase-fd 3 --decrypt … 3<<EOP >decrypted-data
$password
EOP
প্রোগ্রামটি যদি কোনও ফাইল বর্ণনাকারীর কাছ থেকে পড়তে বলা যায় না তবে একটি ফাইল থেকে পড়তে বলা যেতে পারে তবে আপনি des / dev / fd / 3 এর মতো ফাইলের নাম ব্যবহার করে একটি ফাইল বর্ণনাকারীর কাছ থেকে পড়তে বলতে পারেন।
theprogram --password-from-file=/dev/fd/3 3<<EOF
$password
EOF
Ksh, bash বা zsh এ, আপনি প্রক্রিয়া প্রতিস্থাপনের মাধ্যমে আরও স্পষ্টভাবে এটি করতে পারেন।
theprogram --password-from-file=<(echo "$password")