আমি কীভাবে ছদ্মবেশী ব্যাশ সেশন খুলব?


50

এটিতে কোনও ছদ্মবেশী অধিবেশন খোলা সম্ভব bash?

উদাহরণস্বরূপ, যখন আমাদের কমান্ডগুলিতে পাসওয়ার্ড প্রবেশ করতে হবে এবং bashসেগুলি ইতিহাসে যুক্ত করতে চাই না ।


9
cat | bashbashপ্রম্পট, কমান্ড-লাইন সম্পাদনা (কেবল লাইন শৃঙ্খলার অভ্যন্তরীণ সম্পাদক) বা ইতিহাস ছাড়াই একটি অ-ইন্টারেক্টিভ চালাবে ।
স্টাফেন চেজেলাস

আপনার কমান্ডের সামনে একটি স্থান লিখুন: 'সিক্রেটকম্যান্ড'। এখন secrectcommandবাশ ইতিহাসে হবে না।
মার্টিন থোমা

উত্তর:


79

আপনি যখন bashআপনার আদেশগুলি লগ করা বন্ধ করতে চান , কেবলমাত্র HISTFILEভেরিয়েবলটি আনসেট করুন :

HISTFILE=

পরবর্তী সমস্ত কমান্ডগুলি আর লগ ইন করা উচিত .bash_history

অন্যদিকে, আপনি যদি কমান্ডের যুক্তি হিসাবে পাসওয়ার্ডগুলি সরবরাহ করে থাকেন তবে আপনি ইতিমধ্যে কিছু ভুল করছেন। .bash_historyবিশ্ব-পঠনযোগ্য নয় এবং তাই এই পরিস্থিতিতে সবচেয়ে বড় হুমকি নয়:

psএবং /procবড় সমস্যা হ'ল সিস্টেমের সমস্ত ব্যবহারকারীগণ বর্তমানে তাদের সমস্ত যুক্তি দিয়ে যে কমান্ডগুলি চালাচ্ছেন তা দেখতে পাবে । কমান্ড লাইন আর্গুমেন্ট হিসাবে পাসওয়ার্ডগুলি পাস করার জন্য স্বভাবতই সুরক্ষিত নয় । সুরক্ষিতভাবে পাসওয়ার্ড সরবরাহ করতে পরিবেশের ভেরিয়েবল বা কনফিগার ফাইল (আপনার 600 টি chmodded রয়েছে) ব্যবহার করুন।


5
আমি লিনাক্স 10+ বছর ব্যবহার করে আসছি এবং কখনও এই +1 করার কথা ভাবি নি
eyoung100

3
unset HISTFILEএকই প্রভাব আছে। আমি এই জন্য একটি ফাংশন আছে: n() { HISTFILE=; PS1="~${PS1#\~}"; }। আমি "ছদ্মবেশী মোডে" আছি কিনা তা সেভাবে আমি স্পষ্ট দেখতে পাচ্ছি।
লেকেনস্টেইন

13
নিছক প্রশ্নের উত্তর দেওয়ার চেয়ে আসল সমস্যা সমাধানের জন্য +1। শংসাপত্রগুলি পাস করার জন্য অতিরিক্ত বিকল্প হ'ল ইউনিক্স ডোমেন সকেট।
নাথান ওসমান

1
আর একটি দরকারী টিপ হ'ল "হিস্টফিল =" এর আগে একটি স্থান রাখা। স্থান সহ যে কোনও কমান্ড লগ হয় না।
এফইউডি

এ সম্পর্কে আরেকটি দুর্দান্ত জিনিস হ'ল সেই উইন্ডোর পূর্ববর্তী কমান্ডগুলিও উপেক্ষা করা। এটি বিদ্যমান অধিবেশনটিকে ছদ্মবেশে পরিণত করার মতো: পি
উজুমাকি ডি আইচিগো

37
HISTCONTROL=ignorespace

যদি এই বিকল্পটির জন্য ইতিমধ্যে সেট করা না থাকে bash, তবে এটি আপনার প্রয়োজন হিসাবে ঠিক হতে পারে। এটি সমস্ত ইতিহাস অক্ষম করার চেয়ে কম দুর্বল is এই সেটটি দিয়ে, কোনও স্পেস অক্ষর দিয়ে শুরু হওয়া কোনও কমান্ডলাইন ইতিহাসের তালিকায় সংরক্ষণ করা হবে না।

এই সম্পর্কিত লিঙ্কগুলি থেকে:

বাশের কেন একটি HISTCONTROL = উপেক্ষা স্পেস বিকল্প রয়েছে?

বাশ স্পেস দিয়ে শুরু হওয়া কমান্ডগুলি কেন সংরক্ষণ করছে না?


6
নোট করুন এটি প্রায়শই ডিফল্ট হয়।
অ্যাঙ্গেল

3

আপনি সাময়িকভাবে ইতিহাস অক্ষম করতে পারেন: set +o history

set +o history
...
set -o history

ইতিহাসকে অক্ষম করার এবং আনসেট করার মধ্যে পার্থক্য রয়েছে HISTFILE:

HISTFILE=
date
ls
HISTFILE=~/.bash_history
history

এরকম কিছু আউটপুট দেয়:

84  HISTFILE=
85  date
87  ls
88  HISTFILE=~/.bash_history
89  history

অর্থাৎ সমস্ত কমান্ড ইতিহাসের তালিকায় সংরক্ষিত আছে। exitএটি সংরক্ষণ করতে টাইপ করুন।
কিন্তু

set +o history
date
ls
set -o history
history

এরকম কিছু আউটপুট দেয়:

115  set +o history
116  history

সংক্ষিপ্তসার :
set +o historyদীর্ঘ অধিবেশন জন্য।
HISTCONTROLএবং <space>commandঅন্য সময়ে।

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