সুডো ব্যবহারের চেয়ে সুপার-ব্যবহারকারীর অনুমতি কীভাবে দীর্ঘস্থায়ী হয়?


25

এমন কোনও উপায় আছে যার মাধ্যমে আমি sudoকমান্ডটি তার ডিফল্ট সময়ের চেয়ে দীর্ঘ সময়ের জন্য আমাকে অনুমতি দিতে পারি?

sudoঅনেকগুলি প্যাকেজ ইনস্টল করার সময় পাসওয়ার্ডটি প্রবেশ করতে হবে এমন ব্যথা হতে পারে , সুতরাং যদি কোনও আদেশ বা কনফিগারেশন উপস্থিত থাকে যা ব্যবহারের সময়কালকে প্রভাবিত করতে পারে।


3
তো, কেউ আর ব্যবহার করে suনা? কখনো?
মিস্টার লিস্টার

9
@ মিস্টারলিস্টার sudo -iএবং আপনার কাছে একটি মূল শেল রয়েছে, যে কারওর মতো নিজেকে পাদদেশে চমকে দেওয়ার জন্য প্রস্তুত, যতটা সময়
লাগে

1
@ ডেভরবোট, আপনার কি এটির জন্য উত্স আছে? ক্যানোনিকাল এমন একটি গুরুত্বপূর্ণ কমান্ড সরিয়ে ফেলবে বলে বিশ্বাস করা আমার পক্ষে একরকম কঠিন মনে হয়েছে এবং গুগলে আমি এ সম্পর্কে কিছুই খুঁজে পাচ্ছি না।
ডিজেএমসিএমহেম

9
@ ডেভরবোটের suএকটি পাসওয়ার্ড থাকতে রুট দরকার। ডিফল্টরূপে, উবুন্টুর রুট ব্যবহারকারীর পাসওয়ার্ড নেই। অতএব, আপনি suরুট করতে পারবেন না । suএখানে যেমন ইচ্ছা কাজ করছে। যেকোন ব্যবহারকারীর সাথে চেষ্টা করুন যার পাসওয়ার্ড রয়েছে।
মুরু

3
@ গুরু sudo suকিছুটা পুনরাবৃত্তি করলেও ঠিক কাজ করে works
কোটায়ার

উত্তর:


27

আচরণের ফাইলটি sudoকনফিগার করা হয় /etc/sudoers। নেই timestamp_timeoutবিকল্প সময় নির্দিষ্ট পরিমাণ পরে এর পাসওয়ার্ডের জন্য reprompting জন্য দায়ী।

ম্যান সুডোরদের কাছ থেকে

timestamp_timeout
                       Number of minutes that can elapse before sudo will ask
                       for a passwd again.  The timeout may include a frac‐
                       tional component if minute granularity is insufficient,
                       for example 2.5.  The default is 15.  Set this to 0 to
                       always prompt for a password.  If set to a value less
                       than 0 the user's time stamp will never expire.

এই সেটিংটি নিম্নলিখিত পরিবর্তনগুলি করতে:

  1. টার্মিনাল রান sudo visudo। ফাইল visudoসম্পাদনা করতে বিশেষভাবে ব্যবহৃত হয় /etc/sudoersএবং ডিফল্টরূপে nanoপাঠ্য সম্পাদক ব্যবহার হয় ।
  2. দিয়ে শুরু লাইনগুলি সন্ধান করুন Defaults। নিম্নলিখিত লাইন যুক্ত করুন

    Defaults        timestamp_timeout=x
    

    যেখানে এক্সটি এমন পরিমাণ মিনিট যা আপনি পুনরায় জমা দেওয়ার মধ্যে চান

  3. Ctrl+ সহ ফাইলটি সংরক্ষণ করুনO


12

থেকে man sudoers:

timestamp_timeout
                       Number of minutes that can elapse before sudo will ask
                       for a passwd again.  The timeout may include a frac‐
                       tional component if minute granularity is insufficient,
                       for example 2.5.  The default is 15.  Set this to 0 to
                       always prompt for a password.  If set to a value less
                       than 0 the user's time stamp will never expire.  This
                       can be used to allow users to create or delete their
                       own time stamps via “sudo -v” and “sudo -k” respec‐
                       tively.

আপনি দেখতে পাচ্ছেন, ডিফল্ট সময়সীমা sudo15 মিনিট। আপনি এই মানটি পরিবর্তন করতে পারেন /etc/sudoers

আপনি সরাসরি সম্পাদনা করবেন না /etc/sudoers, পরিবর্তে এটি করার visudoজন্য ব্যবহার করুন ।

থেকে man visudo:

     visudo edits the sudoers file in a safe fashion, analogous to vipw(8).
     visudo locks the sudoers file against multiple simultaneous edits, pro‐
     vides basic sanity checks, and checks for parse errors.  If the sudoers
     file is currently being edited you will receive a message to try again
     later.

সুতরাং, sudo visudoএকটি টার্মিনাল টাইপ করুন , যা টেক্সট-সম্পাদক এ /etc/sudoersফাইল খুলবে nano

এই লাইনটি দেখুন:

Defaults    env_reset

আপনি মিনিটে সেট করতে চান এমন সময়টি যেখানে এক্স যোগ করুন ।timestamp_timeout=X

উদাহরণ হিসাবে:

Defaults    env_reset,timestamp_timeout=5

আপনি যদি 0 নির্দিষ্ট করে থাকেন তবে আপনাকে সর্বদা পাসওয়ার্ড জিজ্ঞাসা করা হবে। আপনি যদি একটি নেতিবাচক মান নির্দিষ্ট করে থাকেন তবে সময়সীমা কখনই শেষ হবে না।

একবার হয়ে গেলে, সংরক্ষণ করুন এবং প্রস্থান করুন।

রুটসুডোটাইমআউট দেখুন


আমাকে 29 সেকেন্ডের দ্বারা
মারধর করুন

1
আপনি ভাল -_- বি আমি ল্যাপটপে আছি। । । হতে পারে আমার আরও কফির দরকার আছে
সের্গেই কলডায়াজিনি

আপনি টাইমআউট -1 উদাহরণস্বরূপ সেট করতে পারেন - আপনি যদি কখনও পাসওয়ার্ড প্রম্পট ট্রিগার করতে না চান।
মাইচা wiআইভিয়েস্কি

8

এটা চেষ্টা কর .

  1. টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

    sudo visudo
    
  2. এর মতো দেখতে লাইনে স্ক্রোল করুন:

    Defaults        env_reset
    
  3. উদাহরণস্বরূপ এটিকে পরিবর্তন করুন:

    Defaults        env_reset,timestamp_timeout=30
    

সময়টি 30 মিনিটের মধ্যে, কয়েক মিনিটের মধ্যে পরিবর্তন করুন যে আপনি এটি শেষ হওয়ার আগে অপেক্ষা করতে চান। আপনি সুডো চালানোর সময় পাসওয়ার্ড প্রম্পট চাইলে আপনি এটিকে 0 তেও পরিবর্তন করতে পারেন, বা -1 আপনি কখনও পাসওয়ার্ড প্রম্পট না চাইলে সম্পাদনা শেষ করতে Ctrl+ টিপুন X, পরিবর্তনগুলি সংরক্ষণ করতে Y এবং প্রস্থান করার জন্য এন্টার টিপুন।

এখানে উত্স: http://Livehacker.com/make-sudo-sessions-last-longer-in-linux-1221545774


5

আপনি /etc/sudoersফাইলটি সম্পাদনা করতে পারেন (এর সাথে sudo visudo: সাবধান হন) এবং এর মতো একটি লাইন যুক্ত করতে পারেন

Defaults:myname timestamp_timeout=15 

mynameআপনার ব্যবহারকারী আইডি কোথায় সময়সীমা মান কয়েক মিনিটের মধ্যে হয়। কখনই মেয়াদ শেষ না হতে আপনি -1 এর মান ব্যবহার করতে পারেন, এবং তারপরে sudo -kপ্রমাণীকরণটি মুছে ফেলতে টাইপ করুন , যাতে আপনার আবার একটি পাসওয়ার্ড প্রয়োজন।

অথবা আপনি কোনও নির্দিষ্ট কমান্ডের পাসওয়ার্ডের প্রয়োজন হয় না বলার জন্য একটি এন্ট্রি যুক্ত করতে পারেন।


1
sudo -kক্যাশেড প্রমাণীকরণটিকে ম্যানুয়ালি অকার্যকর করার জন্য উল্লেখ করার জন্য +1 ।
বাইট কমান্ডার

5

আমি বিশ্বাস করতে পারি না যে সহজতম আদেশ:

sudo -s

এখানে উল্লেখ করা হয় না। "-S" স্যুইচ আপনাকে রুট অনুমতি সহ একটি কনসোল দেয় যা আপনি এটি থেকে বের না হওয়া অবধি স্থায়ী হয়। ডিফল্ট সেটিংস দিয়ে আশেপাশে ঝাঁকুনির দরকার নেই।


1
কেন এই ডাউন ভোট দেওয়া হয়?
কোটায়ার

3
আমি ডাউনওয়েট করি নি, তবে এটি ব্যবহারের একটি সুবিধা হ্রাস করে sudo: প্রতিটি একক কমান্ড লগ হয় (যাতে আপনি কী করেছিলেন তা দেখতে পারেন)। আপনি যখন কোনও রুট শেল খুলবেন তখন আপনি সেই লগিংটি হারাবেন।
গুনবার্ট

1
@ গুন্টবার্ট অবশ্যই লগ হওয়া প্রতিটি কমান্ড, তবে মূল ব্যবহারকারীর ইতিহাসে।
অলিভার ফ্রেডরিখ

@ বিউওলোফফ অগত্যা নয় - ব্যাশ ইতিহাস সিস্টেম লগের চেয়ে সম্পূর্ণ আলাদা is
গুটবার্ট

1
সত্যিই, @ গুন্টবার্ট, আপনি যদি এইভাবে লেখক লগ ব্যবহার করেন তবে আপনার বিভিন্ন সমস্যা রয়েছে।
অলিভার ফ্রেডরিখ

1

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

sudo -i

অথবা

sudo bash

অথবা

sudo <your preferred shell here>

যদিও এগুলি সমস্তই কেবল একটি একক প্রক্রিয়াটিকে রুট হিসাবে শুরু করে, প্রশ্নে একক প্রক্রিয়াটি এমনই একটি শেল হয়ে যায় যা আপনাকে রুট হিসাবে পছন্দ মতো আরও অনেকগুলি প্রক্রিয়া আরম্ভ করার অনুমতি দেয় এবং sudoপাসওয়ার্ড টাইপ করার প্রয়োজন নেই । :)

অবশ্যই, দুর্দান্ত শক্তির সাথে মহান দায়িত্ব আসে, বোকা জিনিসগুলি করবেন না ইত্যাদি etc.


1
এটি দিয়ে অত্যন্ত যত্নশীল হন। বাস্তবে আপনি একটি রুট শেল চালাবেন।
hmayag

4
কেন এই নিম্নমানের?
কোটায়ার

@hmayag হ্যাঁ, আপনি যদি একটি রুট শেল শুরু করেন তবে আপনি অবশ্যই একটি রুট শেল চালাবেন। অতএব শেষে সতর্কতার কারণ।
রিয়ারাব

@ কোটায়ার সম্ভবত বিওউফের উত্তর হিসাবে একই কারণে।
গুনবার্ট

1

ব্যবহারকারীরা কনফিগারেশন ফাইলগুলিতে পরিবর্তন করেছেন এবং প্যাকেজ আপগ্রেড হওয়ার পরে কেন তাদের পরিবর্তনগুলি ওভাররাইট করা হয়েছিল তা নিয়ে বিভ্রান্ত হয়েছিলেন এমন অনেকগুলি প্রশ্ন দেখার পরে, আমি নোট করব যে আপনি যদি সংশোধন করতে চান তবে timestamp_timeoutফাইলটি তৈরির /etc/sudoers.dপরিবর্তে এটি করা ভাল is /etc/sudoersসরাসরি পরিবর্তন করুন ।

সুতরাং আপনার করা উচিত

sudo visudo -f /etc/sudoers.d/timeout

(ফাইলের নাম যতক্ষণ আপনি চান তা হতে পারে যতক্ষণ না এটিতে পিরিয়ড ( .) থাকে না বা টিলড ( ~) দিয়ে শেষ হয় না । /etc/sudoersআপনার পছন্দের সম্পাদকটি খোলার পরিবর্তে এটি /etc/sudoers.d/timeoutখালি ফাইল হিসাবে খোলা থাকবে কারণ এটি বিদ্যমান নেই। আপনার রাখুন

Defaults timestamp_timeout=X

এটিতে, এবং যথারীতি সংরক্ষণ করুন তারপরে যদি কোনও নতুন সংস্করণ প্রকাশিত /etc/sudoersহয়, আপনাকে নতুন সংস্করণ ইনস্টল করার বা আপনার পরিবর্তনগুলি বজায় রাখার মধ্যে চয়ন করতে হবে না - আপনার দুটি স্বয়ংক্রিয়ভাবেই থাকবে।


1

আপনি যদি এমন কোনও সমাধান খুঁজছেন যা কনফিগারেশন ফাইলটি পরিবর্তন না করে , উদাহরণস্বরূপ যখন আপনি নির্দিষ্ট সেশনের জন্য টোকেনটি বেশি দিন স্থায়ী করতে চান বা এটি কেবল একটি স্পষ্ট ক্রিয়াকলাপের পরে প্রয়োগ হয় তবে আপনি নিম্নলিখিতটি চেষ্টা করতে পারেন:

# Work as is with Bash 4.1.2(1)-release and later, this might require some adaptation for other shells
(while [ true ]; do sudo -v; sleep $((60*4)); done)&

মূলত পূর্ববর্তী কোডটি ব্যাকগ্রাউন্ডে প্রবর্তন প্রক্রিয়াটির মাধ্যমে প্রতি 4 মিনিটে সুডো টোকেনকে রিফ্রেশ করে

প্রকৃতপক্ষে, sudoম্যানুয়াল অনুসারে : "sudoers সুরক্ষা নীতি জন্য ডিফল্ট পাসওয়ার্ড প্রম্পট সময়সীমা 5 মিনিট ।" সুতরাং সিস্টেম নির্দিষ্ট নীতি উপর নির্ভর করে, আপনি দুটি চক্রের মধ্যে লুপ পাস ঘুমের সময়টিকে কতটা পরিমাণে ঝাপটান।

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