সাসপেন্ড থেকে ওঠার পরে আমি কীভাবে সুদকে সর্বদা একটি পাসওয়ার্ড জিজ্ঞাসা করতে পারি?


15

বলুন আমি এর সাথে একটি কমান্ড কার্যকর করি sudo, তারপরে যদি আমি sudoপরবর্তী 15/5 মিনিটের মধ্যে ব্যবহার করি (এটি আমাকে কতক্ষণ মনে রাখে তা নিশ্চিত না) এটি আমাকে পাসওয়ার্ডের জন্য অনুরোধ করবে না। এটি কেবলমাত্র আমাকে আবার অনুরোধ জানাবে যদি আমি এটি কমপক্ষে এত দিন ব্যবহার না করি।

তবে, যদি আমি আমার মেশিনটি স্থগিত করি, জাগ্রত করি এবং সেই সময়কাল শেষ হওয়ার আগে লগইন করি, আমি কেবল একটি sudoআদেশটি আবার কার্যকর করতে পারি এবং এটি আমার পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে না কারণ আমি এটি নির্দিষ্ট পরিমাণের জন্য রাখিনি have সময়ের।

সুতরাং আমি এটি কীভাবে তৈরি করতে পারি যে আমি যতক্ষণ ব্যবহার না sudoকরুক তা নিশ্চিত না করে একবারে আবার লগ ইন করার পরে সাসপেন্ড হওয়ার পরে এটি অবশ্যই আমাকে একটি পাসওয়ার্ডের জন্য অনুরোধ জানাবে, এমনকি আমি এখনও সেই সময়ের ফ্রেমের মধ্যেই থাকি যেখানে ব্যবহার না করার 15/5 মিনিট sudoএখনও কাটেনি ?

সম্ভবত সবচেয়ে কার্যকর যেটি কাজ করবে তা হ'ল জাগরণের sudoপরে নির্ধারিত একটি নির্দিষ্ট কমান্ড কার্যকর করার জন্য সমস্ত পরিচয় ক্যাচগুলি মুছে ফেলার জন্য একটি কমান্ড কার্যকর করা।

আমি জিনোম 3.18 দিয়ে উবুন্টু জিনোম 15.10 চালাচ্ছি।


1
ভাল প্রশ্ন, কিন্তু আপনি কেন বেহাল? কারণ আপনার ব্যতীত অন্য ব্যক্তি যদি আপনার লগইন পাসওয়ার্ডটি ব্যবহার করা বন্ধ করতে না পারেsudo
এডওয়ার্ড টরভাল্ডস

আপনি যদি কেবলমাত্র টার্মিনাল উইন্ডোটি থেকে প্রস্থান করেন, আপনি যখনই নতুন টার্মিনাল উইন্ডোটি খুলুন তখনই আপনাকে আপনার পাসওয়ার্ডটি পুনরায় টাইপ করতে হবে। আপনি যদি টার্মিনাল উইন্ডোতে কিছু চালাচ্ছেন তবে `সংযুক্ত করুন; প্রস্থান- এবং উইন্ডোটি বন্ধ হয়ে যাবে যখন কমান্ডটি সম্পূর্ণ হবে।
মার্ক

@ মার্ক: আমি জানি, তবে এটি প্রস্থান করার পক্ষে সর্বদা সুবিধাজনক নয় বা sudoপরের বার আপনাকে ম্যানুয়ালি জিজ্ঞাসা করাও নয় । একটি স্বয়ংক্রিয় সমাধান পছন্দ করা হবে।

@ এডওয়ার্টরওয়াল্ডস: ঠিক আছে, আমি আবার লগইন করতে পারলাম এবং তারপরে চলে যাব (এমনটি আমি প্রায়শই করি না) এবং তারপরে যখন কেউ আসে তখন তারা খারাপ ব্যবহার করতে পারে যদি তারা কেবল ব্যবহার করতে পারে sudo। আমি জানি যে এটি আমার নিজের কম্পিউটারের জন্য কিছুটা অদ্ভুত লাগছে, তবে আমি অন্য উবুন্টু কম্পিউটারে কিছু রক্ষণাবেক্ষণের কাজটি করতে পারতাম এবং তারপরে যখন আমি আবার ব্যবহারকারীকে আবার লগ ইন করি তখন টার্মিনালটি বন্ধ করতে অসুবিধা হতে পারে তবে আমি তা করি না তাদের sudoঅধিকার পেতে চান ।

1
সংযোজন `; প্রস্থান (সাত কী-স্ট্রোক) আমার কাছে বেশ সহজ বলে মনে হচ্ছে। আপনি কোন ধরণের রক্ষণাবেক্ষণ থেকে দূরে চলে যান, কারণ মাঝপথে সাসপেন্ড করার বিষয়ে আমি খুব একটা সুযোগ নেব বলে আমি বেশি কিছু ভাবতে পারি না।
মার্ক

উত্তর:


19

থেকে man sudo:

     -K, --remove-timestamp
                 Similar to the -k option, except that it removes the user's
                 cached credentials entirely and may not be used in conjunc‐
                 tion with a command or other option.  This option does not
                 require a password.  Not all security policies support cre‐
                 dential caching.

সুতরাং আপনি যা চান তা আপনার ব্যবহারকারী হ'ল sudo -Kপ্রতিবার সিস্টেম স্থগিত করে।

উবুন্টু 15.04+ (সিস্টেমড)

এটি স্ক্রিপ্ট রেখে উবুন্টু 15.04+ এ করা যেতে পারে /lib/systemd/system-sleep/

  1. চালান sudo nano /lib/systemd/system-sleep/disable_sudo_user( userসুবিধার জন্য আপনার ব্যবহারকারীর ব্যবহারকারীর নাম দিয়ে প্রতিস্থাপন );
  2. নিম্নলিখিত স্ক্রিপ্টে আটকান ( userআপনার ব্যবহারকারীর ব্যবহারকারীর নাম দিয়ে প্রতিস্থাপন ):
#!/bin/sh
case $1/$2 in
    pre/suspend)
        su user -c 'sudo -K'
        ;;
esac
  1. হিট CTRL+ O, ENTERএবং CTRL+X ;

  2. চালান sudo chmod o+x /lib/systemd/system-sleep/disable_sudo_user;


হাইবারনেশন / হাইব্রিড-ঘুমের জন্য এটি সক্ষম করতে, পরিবর্তে এই স্ক্রিপ্টটি ব্যবহার করুন:

#!/bin/sh
case $1 in
    pre)
        su user -c 'sudo -K'
        ;;
esac

পূর্ববর্তী উবুন্টু সংস্করণ (আপস্টার্ট)

এই একটি স্ক্রিপ্ট স্থাপন দ্বারা পূর্ববর্তী উবুন্টু সংস্করণের উপর কাজ করা যেতে পারে /etc/pm/sleep.d/

  1. চালান sudo nano /etc/pm/sleep.d/disable_sudo_user(প্রতিস্থাপন)userসুবিধার জন্য আপনার ব্যবহারকারীর ব্যবহারকারীর নাম দিয়ে );
  2. নিম্নলিখিত স্ক্রিপ্টে আটকান ( userআপনার ব্যবহারকারীর ব্যবহারকারীর নাম দিয়ে প্রতিস্থাপন ):
#!/bin/sh
case $1 in
    suspend)
        su user -c 'sudo -K'
        ;;
esac
  1. হিট CTRL+ O, ENTERএবং CTRL+X ;

  2. চালান sudo chmod o+x /etc/pm/sleep.d/disable_sudo_user;


হাইবারনেশনের জন্য এটি সক্ষম করতে, পরিবর্তে এই স্ক্রিপ্টটি ব্যবহার করুন:

#!/bin/sh
case $1 in
    suspend|hybernate)
        su user -c 'sudo -K'
        ;;
esac

2
আপনি যদি ব্যবহার করেন তবে এটি মজার হত sudo -u user sudo -k। : ডি
মুরু

@ মুরু একই কথা ভেবেছিলেন তবে কিছু কারণে এটি কিছুটা নিরীহ দেখাচ্ছে: ডি
কোস

দুঃখিত, কিছুক্ষণের জন্য কোনও শেল কোড লিখেনি, এটি ঠিক কী করে pre/*)? :)

@ পরানয়েড পান্ডা এটি চলে গেছে, আপডেটটি দেখুন। এখানে দেখুন (বর্ণনা, দ্বিতীয় অনুচ্ছেদ): দুটি আর্গুমেন্ট পাস systemd-suspend.serviceকরার জন্য স্ক্রিপ্টগুলিকে কল করে /lib/systemd/system-sleep/; $1এটি হয় preপ্রাক-ঘুমের ইভেন্টের postজন্য বা ঘুমোত্তর ইভেন্টগুলির জন্য, এবং $2এটি হয় suspend, hybernateবা hybrid-sleep; pre/*সব সমন্বয় ধরা অভিপ্রেত ছিল pre/এবং কোন suspend, hybernateবা hybrid-sleep, কিন্তু যেহেতু আপনি বন্ধের স্পষ্টভাবে জিজ্ঞাসা আমি এটা পরিবর্তিত pre/suspend
কোস

1
আপনি যে বয়স্ক উবুন্টুতে এটিও করতে পারেন তা উল্লেখযোগ্য, এটি কেবল ভিন্ন পদ্ধতি, যেমন /etc/pm/sleep.dস্ক্রিপ্টগুলি ব্যবহার করে ।
हॉবস

3

আপনি যদি সেই ভৌতিক হয়ে থাকেন! আপনি -Kবিকল্পটি ব্যবহার করতে পারেন sudo

-K, --reset-timestamp
       When used without a command, invalidates the user's cached credentials.  
       In other words, the next time sudo is run a password will be required.  
       This option does not require a password and was added to allow a user to revoke
       sudo permissions from a .logout file.

       When used in conjunction with a command or an option that may require a 
       password, this option will cause sudo to ignore the user's cached credentials.  
       As a result, sudo will prompt for a password (if one is required by the 
       security policy) and will not update the user's cached credentials.

       Not all security policies support credential caching.

উদাহরণ স্বরূপ,

sudo -K <command>

অথবা আপনি কেবল রোবট দ্বারা সুরক্ষিত একটি ধাতব বাক্সে আপনার কম্পিউটারটি রেখে যেতে পারেন :)


হুম ... আমি যেমন চাই ঠিক ঠিক তেমন নয়, এটি স্বয়ংক্রিয় করার কোনও উপায় নেই? কারণ এটি সুপারিশ করে যে আমি অবশ্যই জানি যে আমি স্থগিত করতে চলেছি, যদি কোনও কমান্ড চলমান থাকে sudoএবং আমার কোথাও যেতে হবে, তাই আমি মেশিনটি স্থগিত করি, তখন আমি যখন ফিরে আসি এবং মেশিনটি অপসারণ না করি, তখন আমাকে অপেক্ষা করতে হবে কমান্ডটি বা সময় শেষ করার আগে যখন আমি এটি পরবর্তী বারের জন্য আমাকে একটি পাসওয়ার্ড জিজ্ঞাসা করতে পারি? এটি অটোমেটেড হওয়ার জন্য অনেক কারণেই (অনেক বেশি কার্যকর হবে (আমি যখন এটি কোনও জিইউআই দিয়ে অন্য রানলেলে চালাচ্ছি তখন এটি স্থগিতের পরে কোনও পাসওয়ার্ড চাইবে না) সহ) useful

এছাড়াও, আমি আপনাকে বোঝাতে চাই -Kএবং করব না বলে মনে করি -k

ঠিক আছে, এটি যাইহোক আরও কার্যকর হতে পারে।

1

তবুও অন্য একটি পদ্ধতি

'সুডো ভিসুডো' টাইপ করুন

যে লাইনে আছে তাতে যান: 'ডিফল্ট env_reset'

এবং এতে পরিবর্তন করুন:

'ডিফল্ট env_reset, টাইমস্ট্যাম্প_টাইমআউট = 0

তারপরে ফাইলটি সেভ করুন।

টাইমআউট 0 তে সেট করে, সিস্টেমটি আপনাকে প্রতিবার পাসওয়ার্ডের জন্য অনুরোধ করবে।


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