টার্মিনালে সুডোর সুবিধা থাকলে কীভাবে সতর্ক করা হবে এবং আরও কতটা সময় বাকি রয়েছে তাও দেখানো হবে?


10

টার্মিনালে আপনি কীভাবে দেখতে পাচ্ছেন যে আপনার সুডোর সুবিধা রয়েছে? (সুতরাং আমার এই সুবিধাগুলি রয়েছে তা জেনে আমি কেবল টাইপ করতে পারি sudo -k) টার্মিনালেও খুব বেশি তথ্য না যুক্তি দেওয়া ভাল, কেবল এক ধরণের সাধারণ এবং ছোট সতর্কতা!

বেঁচে থাকার সময়টি কি অসম্পূর্ণ, তাই না?

এছাড়াও, সেই নির্দিষ্ট টার্মিনালের সেই সুবিধাগুলি নিয়ে আমার এখনও কতটা সময় আছে তা কীভাবে দেখব? (যাতে আমি এটি টাইপ না করে কেবল শেষ করতে পারি sudo -k)। আমি মনে করি যে প্রতিটি সময় আমি এন্টার কী টিপে বাকি সময়টি প্রদর্শিত হতে পারে।

সম্পাদনা: আমি আরও গবেষণা করে দেখেছি যে /var/lib/sudo/$USER/$nPts(যেখানে do nPts বর্তমান টার্মিনাল pts এর হিসাবে রয়েছে ps -p $$) প্রতিবার একটি sudo কমান্ড জারির সাথে সাথে তার টাইমস্ট্যাম্প আপডেট হয়, এবং আপনি যদি একটি sudo কমান্ড ব্যবহার করেন তবে এটি কেবল অ্যাক্সেসযোগ্য তাই বাকী সময়টি সর্বদা থাকবে একটি কনফিগার ...

PS: এর পরিবর্তে, আমি চেষ্টা করেছি alias sudo='sudo -k'তবে প্রতিটি কমান্ডের জন্য পাসওয়ার্ড লিখতে পছন্দ করি না ... এবং এটিও alias sudos='sudo -k'(বা alias ssudo='sudo -k', আপনি যদি দীর্ঘ লাইন টাইপ করেন তবে কেবলমাত্র হোম টিপুন এবং 'এর' টাইপ করুন) যদি আপনি কাজ করেন তবে কাজ করে কেবল টাইপ করে একটি কমান্ড জারি করতে চাই sudos। তবে আমি যখন জানাতে পারি যে আমার যখন সাধারণ সুডোর সুযোগসুবিধা রয়েছে তখন আমার অভিনয়ের দরকার আছে ...


2
কেন এই নিচে ভোট হয়েছে? যদিও এটি সবচেয়ে পরিষ্কার পোস্ট নয়, শিরোনামের প্রশ্নটি এখনও আমার কাছে একটি বৈধ প্রশ্নের মতো মনে হচ্ছে (এবং
এটিতে

আপনি কি বলতে পারেন স্পষ্ট করা যেতে পারে? আমার অশিক্ষিত প্রাথমিক পোস্টটি 3 গুণ বড় ছিল এবং আমি এটি আরও সংক্ষিপ্ত করে তুলতে এটি অনেকটা পরিষ্কার করেছি :)
কুম্ভ শক্তি

আমি মনে করি এটি ঠিক দেরি হয়ে গেছে - আমি এটি আবার পড়েছি এবং এটি আরও অর্থবোধ করে।
ডাইম্যকির্বি

উত্তর:


5

[আমি আরও ভাল উত্তর আছে কিনা তা এখনও জানতে চাই।]

আমি একটি উপায় খুঁজে পেয়েছি যা কাজ করে এবং প্রম্পটটি একক লাইনে রাখা হবে:

আপনার ~/.bashrcযোগ শেষে :

function FUNCsudoOn() { 
    if sudo -n uptime 2>/dev/null 1>/dev/null; then 
        echo -ne "\E[0m\E[93m\E[41m\E[1m\E[5m SUDO \E[0m"; 
        #echo #without newline, the terminal seems to bugout with lines that are too big... discomment this if you find any problems...
    fi; 
}
function FUNCpromptCommand () { 
    FUNCsudoOn
}
export PROMPT_COMMAND=FUNCpromptCommand
#export PS1="\`FUNCsudoOn\`$PS1" #this also works, use instead of PROMPT_COMMAND

সম্পাদনা: আমি খুঁজে পেয়েছি যে sudo -n uptimeসুডো টাইমআউট আপডেট হবে, সুতরাং আপনি যখনই এন্টার কী টিপুন তখনই সুডোর সময় আপডেট করা হবে ... যা বাকি সময়টিকে অকেজো করে তোলে, কারণ এটি সর্বদা কনফিগার করা হবে, এটি 15 মিনিটে ডিফল্ট থাকবে .. ।

এবং আপনার স্বাদের জন্য সর্বোত্তম রঙের ফর্ম্যাটিং সন্ধান করতে আপনি স্ক্রিপ্টএকো রঙ ব্যবহার করতে পারেন এর --escapedcharsমতো বিকল্প সহ :

echoc --escapedchars "@{nRlyo} SUDO " #that outputs below...
echo -e "\E[0m\E[93m\E[41m\E[1m\E[5m SUDO \E[0m"

শুধু \E[5mমত জ্বলজ্বলে অপসারণ বন্ধ করতে\E[0m\E[93m\E[41m\E[1m SUDO \E[0m


4

আপনার টার্মিনালে "সুডোর সুবিধাগুলি নেই", যদি না আপনি এটি করার মতো নির্বোধ কিছু sudo bash না করেন!

sudoকমান্ডের সামনে টাইপ করা থেকে বিরত থাকার জন্য আপনাকে "সাধারণ সুডোর সুবিধাগুলি" করতে হলে যা করতে হবে তা হ'ল ।

/usr/bin/idকি sudoকরে তা দেখার একটি ভাল উপায় । উদাহরণ স্বরূপ:

id -a        # returns my UID info
sudo id -a   # returns root's info
id -a        # me again
sudo id -a   # root again

sudoমানুষ পৃষ্ঠাটি জানাচ্ছে "sudoers নীতি, 15 মিনিটের জন্য পরিচয়পত্র ক্যাশে যদি না sudoers (5) ওভাররাইড করা"। এর অর্থ হ'ল ডিফল্টরূপে, আপনি যদি একটি sudoআদেশ জারি করেন (এবং আপনার পাসওয়ার্ড লিখুন), তবে দ্বিতীয় sudoকমান্ড দেওয়ার আগে 14.9 মিনিট অপেক্ষা করুন , আপনাকে আবার আপনার পাসওয়ার্ড প্রবেশ করতে হবে না। আপনি যদি 15.1 মিনিট অপেক্ষা করেন তবে আপনাকে পাসওয়ার্ডটি পুনরায় প্রবেশ করতে হবে। sudo -kকেবল 15 মিনিটের টাইমার অবিলম্বে মেয়াদ শেষ হয়। আমি কেবলমাত্র ব্যবহারের জন্য দেখতে পাচ্ছি sudo -kযদি আপনি বিশ্বাস করেন না এমন কাউকে আপনার আনলক করা টার্মিনাল সরবরাহ করতে চলেছেন UID 0


আপনি বলেছিলেন " sudoকমান্ডের সামনে টাইপ করা থেকে বিরত থাকুন "। তবে আমি যদি আমার ফায়ারওয়াল সংক্রান্ত নিয়মগুলি iptables -Lএটির সাথে পরীক্ষা করতে চাই তবে আমি টাইপ না করে কাজ করব না sudo iptables -L। আমার বক্তব্যটি হল, আমরা কীভাবে আসলে সুডো ব্যবহার এড়াতে পারি?
কুম্ভ শক্তি

এছাড়াও, অবশিষ্ট সময় সম্পর্কে, আমি টার্মিনালের এন্টার কী টিপলে প্রতিবার কত সময় বাকি তা জানতে চাই। সম্পর্কে sudo -k, আমি ক্র্যাকাররা আমার মেশিনকে দূর থেকে অ্যাক্সেস করার চেষ্টা করায় উদ্বিগ্ন (তারা সত্যিই জানতে পারে না যে তারা যেভাবে এটি করতে পারে কিনা ...), অথবা আমার মেশিনটি কয়েক মুহুর্তের জন্য লক না করেই খোলা রাখি ... ভাল, আসল কথাটি হ'ল: আমি এটি এভাবেই করতে চাই! আমি sudo -kআবার আমার পাসওয়ার্ডটি বার বার টাইপ করার বিষয়ে যত্ন নিতে চাই না , যখন আমি এইভাবে এটি করি তখন আমার ভাল লাগে! :)
অ্যাকোরিয়াস পাওয়ার

"সুডো ব্যবহার এড়ানো"? Sudo root- র পাসওয়ার্ড বিতরণ বাইনেরিতে setuid উপার্জন, বা ব্যবহার করার সমাধান ছিল /bin/su। আপনি কি এটিকে বাতিল করতে চান? "দূর থেকে আমার মেশিনটি অ্যাক্সেস করুন ..." এবং, আমি মনে করি, এটি গ্রহণ করব /proc/YourPID/fd/{0,1,2}। না। যদি আপনার মেশিনটি দূর থেকে অ্যাক্সেস করা থাকে তবে খারাপ গায়ের ইউআইডি 0 পাওয়ার সহজ উপায় রয়েছে concern এই স্তরের উদ্বেগের আগে আপনার লিনাক্স-ফু বৃদ্ধি করা উচিত।
ওয়ালটিনেটর

দুঃখিত গলাবাজি জন্য, শোনাচ্ছে মত উচিত alias k=/usr/bin/sudo -k, প্রতিস্থাপন sudoবেনামী বা ব্যাশ ফাংশন যা থেকে কল গোপন কমান্ড /usr/bin/sudoদিয়ে /usr/bin/touch $HOME/tmp/$$/sudotime,, এবং পরিশেষে $ {{সময় (এখন) প্রিন্ট করতে কিছু যোগ - সময় ($ হোম / tmp / '$ আপনার বাশ প্রম্পটে $ / সুডোটাইম)) তুচ্ছ নয়, তবে এটি যদি আপনাকে ভাল বোধ করে, তবে এটির জন্য যান।
ভোল্টিনেটর

এটি আকর্ষণীয়, চেষ্টা করার সময় আমি লগইন করব বা আরও ভাল, যে কোনও নেটওয়ার্ক যোগাযোগ বন্ধ করুন, দুর্দান্ত! তবে আমি যদি sudoকোনও এলামের সাথে কোনও এলোমেলো শব্দের সাথে লুকিয়ে থাকি তবে সেগুলি তার /usr/bin/sudoপরিবর্তে টাইপ করতে পারত sudoএবং এটি এখনও সুডোর মতো কাজ করবে :( যাই হোক আমি ধারণাটি পছন্দ করি ... আমি ভাবছি যদি আমি সত্যটি পরিবর্তন করি তবে /usr/bin/sudoএটি অন্য কিছু ভেঙে যাবে) আমার সমস্ত স্ক্রিপ্ট যা এটি ব্যবহার করে .. যদি আমি এটি করি তাও তারা স্ক্রিপ্টগুলি পড়ে অনুমান করতে পারে যে সুডো কী হয়ে গিয়েছিল ..
কুম্ভ শক্তি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.