পাসওয়ার্ড ছাড়াই সুডো চালাবেন?


292

এই প্রশ্নের দ্বারা অনুপ্রাণিত ....

আমি আমার সিস্টেমটি 12.04 ব্যবহার করে একমাত্র ব্যক্তি।
প্রতিবার আমি একটি sudoআদেশ জারি করি ; সিস্টেমটি ব্যবহারকারীর পাসওয়ার্ড জানতে চায় (যা তার নিজস্ব উপায়ে ভাল)।
তবে আমি ভাবছিলাম; মূল অ্যাকাউন্টটি সক্রিয় না করে; আমি কীভাবে sudo কমান্ডগুলি কার্যকর করতে পারি যা ব্যবহারকারীর পাসওয়ার্ড প্রমাণীকরণের জন্য বলবে না।

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


2
সুতরাং আপনি কেবল টার্মিনালে পাসওয়ার্ডের জন্য জিজ্ঞাসা করতে চান এবং অন্যান্য জিনিসের জন্য নয়, বা অন্যদিকে ?! উভয়
উপায়েই

আমি চাই যে সিস্টেমটি কেবল টার্মিনালে থাকা অবস্থায় পাসওয়ার্ড না চাইতে পারে ... অন্য কোনও কারণে সিস্টেমের অবশ্যই পাসওয়ার্ড জিজ্ঞাসা করতে হবে। এই প্রয়োজনীয়তাটি কেবল অস্থায়ী এবং নতুন সার্ভার ইনস্টল করার সময় এটি ব্যবহার করা যেতে পারে .. নতুন সার্ভার ইনস্টলেশন চলাকালীন সময়ে sudo কমান্ডগুলির সাহায্যে কনফিগার করতে কয়েক ঘন্টা সময় লাগে .. প্রতি 15 মিনিটে পাসওয়ার্ড জারি করা হয়। মাথাব্যথা আমি রুট অ্যাকাউন্ট ব্যবহার করতে চাই না।
ভাवेश দেওয়ান

আপনার এই আলোচনাটি পড়তে হবে: Askubuntu.com/ প্রশ্নগুলি
135428

1
নিশ্চিত আপনি সময়সীমা দীর্ঘায়িত করতে পারেন। এছাড়াও, আপনি যদি প্রায়শই নতুন সার্ভার সেটআপগুলি করেন তবে আপনার প্রক্রিয়াটি স্বয়ংক্রিয় করার বিষয়ে চিন্তা করা উচিত। আপনাকে টাইপ করার জন্য অর্থ প্রদান করা হয় না, সমস্যাগুলি সমাধান করার জন্য এবং আপনাকে সম্পন্ন করার জন্য অর্থ প্রদান করা হয়।
মৌগানরা

উত্তর:


82

sudo -i আপনার সিস্টেমে (বা অন্যান্য সিস্টেমে) সংশোধন করার সময় আপনি যদি প্রতি 10 মিনিটে একটি পাসওয়ার্ড টাইপ করতে না চান এবং আপনি কোনও সিস্টেম ফাইল পরিবর্তন করতে চান না তবে যাবার উপায়।

এটি আপনার sudoব্যবহারকারীর পাসওয়ার্ড ব্যবহার করে আপনাকে রুটে স্যুইচ করবে , যখন আপনি কনসোলটি বন্ধ করেন বা টাইপ করেন exitআপনি নিজের সাধারণ ব্যবহারকারীর কাছে ফিরে আসেন।


2
এটি কি সত্য বলে ধরে রাখবে যে আমি কেবল একবার পাসওয়ার্ড প্রবেশ করেছি ... এবং যতক্ষণ না আমি প্রস্থান করি না; আবহাওয়া 5 ঘন্টা অথবা 15 .... যখন কোনও sudo কমান্ড জারি করা হয় তখন সিস্টেমটি পাসওয়ার্ড দ্বারা প্রমাণীকরণের জন্য জিজ্ঞাসা করবে না।
ভাવેશ দেওয়ান

2
@ Z9iT আপনি টাইপ না করা exitবা টার্মিনাল এমুলেটর উইন্ডোটি বন্ধ না করা পর্যন্ত।
ব্রুনো পেরেইরা

2
ধন্যবাদ .. এই উত্তরটি গৃহীত হয়েছে কারণ এটি এন-ঘন্টার জন্য পাসওয়ার্ড প্রমাণীকরণ ছাড়াই sudo কমান্ড জারি করার উদ্দেশ্যটি সরবরাহ করে যতক্ষণ না আমরা প্রস্থান করব না .. সিস্টেম ফাইলগুলি সংশোধন না করা একটি প্লাস।
ভবেশ দেওয়ান

3
এটি সত্যই প্রশ্নের উত্তর দেয় না, কারণ আপনাকে এখনও সেই পাসওয়ার্ডটি প্রবেশ করতে হবে root
আদম এফ

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

572

আপনি sudoকখনই আপনার পাসওয়ার্ড না চাইতে কনফিগার করতে পারেন ।

একটি টার্মিনাল উইন্ডো খুলুন এবং টাইপ করুন:

sudo visudo

ফাইলের নীচে, নিম্নলিখিত লাইনটি যুক্ত করুন:

$USER ALL=(ALL) NOPASSWD: ALL

কোথায় $USERআপনার সিস্টেমে আপনার ব্যবহারকারী নাম। Sudoers ফাইল সংরক্ষণ করুন এবং বন্ধ করুন (যদি আপনি আপনার ডিফল্ট টার্মিনাল সম্পাদকটি পরিবর্তন না করে থাকেন (যদি আপনার কাছে থাকে তবে আপনি জানতে পারবেন), প্রস্থান করতে সিটিএল + এক্স টিপুন nanoএবং এটি আপনাকে সংরক্ষণের জন্য অনুরোধ করবে)।

উবুন্টু 19.04 অনুসারে, ফাইলটি এখন এমন কিছু দেখাচ্ছে

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOUR_USERNAME_HERE ALL=(ALL) NOPASSWD: ALL

এর পরে আপনি sudo <whatever you want>পাসওয়ার্ডের জন্য অনুরোধ না করে একটি টার্মিনাল উইন্ডোতে টাইপ করতে পারেন ।

এটি কেবলমাত্র sudoটার্মিনালের কমান্ড ব্যবহারের ক্ষেত্রে প্রযোজ্য । যদি আপনি (উদাহরণস্বরূপ) সফ্টওয়্যার কেন্দ্র থেকে কোনও প্যাকেজ ইনস্টল করার চেষ্টা করেন তবে আপনাকে আপনার পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে

গুই পাসওয়ার্ড প্রম্পট


15
sudo visudoএটি সরাসরি সম্পাদনার পরিবর্তে ব্যবহার করার পরামর্শ দেওয়া হচ্ছে । এছাড়াও sudoers এর অনুমতি পরিবর্তন নিজেকে লক আউট হতে পারে। এর সাথে সম্পাদনা করার সময় vim, :wq!কেবলমাত্র পঠনযোগ্য ফাইলগুলিতে লিখতে লিখুন এবং সম্পাদকটি প্রস্থান করুন। এইভাবে, অনুমতিগুলি 644 প্রয়োজন হয় না।
লেকেনস্টেইন

8
এটি একটি গুরুতর সুরক্ষা ঝুঁকি, যে কেউ sudo অধিকারের সাথে যে কোনও অ্যাকাউন্ট গ্রহণ করছে সম্পূর্ণ সিস্টেমের নিয়ন্ত্রণ নিতে পারে এবং এই কম্পিউটারে আরও অ্যাক্সেস লক করতে পারে, গুরুত্ব সহকারে প্রস্তাবিত নয়।
ব্রুনো পেরেইরা

6
@ wil93 আপনি এই পয়েন্টটি মিস করছেন: একটি স্ক্রিপ্ট যা sudo install crapwareআপনাকে এই ক্ষেত্রে পাসওয়ার্ড জিজ্ঞাসা করবে না এবং আপনার যা কিছু আছে তা জবাবদিহি করতে পারে এবং শেষবার যখন আমি পরীক্ষা করেছিলাম তখন স্ক্রিপ্টগুলি বিতরণ করার জন্য আপনাকে শারীরিকভাবে কোনও মেশিনের পাশে থাকতে হবে না। .. এইটা শুধুমাত্র একটা উদাহরণ.
ব্রুনো পেরেইরা

12
@BrunoPereira আপনি অবিশ্বস্ত স্ক্রিপ্ট চলমান পরিকল্পনা, তাহলে যে নিরাপত্তা ঝুঁকি (এমনকি যদি উবুন্টু একটি পাসওয়ার্ড চায় একটি দূষিত স্ক্রিপ্ট সবসময় না পারে rm -rf ~বেশ কিছু জিনিষ আপ তালগোল পাকানো)। সামগ্রিকভাবে, আমি «গুরুতর সুরক্ষা ঝুঁকি su sudo থেকে পাসওয়ার্ড প্রম্পট সরানোর সরল কল করব না।
wil93

5
@ Wil93 এর সাথে সম্মত হন অবিশ্বস্ত স্ক্রিপ্ট চলাকালীন, পাসওয়ার্ড ইনপুট করা প্রক্রিয়াটি বাতিল করার সুযোগ ছাড়া আর কিছু নয়, আমি সন্দেহ করি যে এটি বেশিরভাগ মানুষের পক্ষে অকেজো। মূল বিষয়টি আপনি জানেন যে স্ক্রিপ্টটি কোথা থেকে এসেছে এবং এটি কী করে।
চাদ

36

রুট সুডো সময়সীমা হ'ল এটি করার সবচেয়ে সহজ এবং নিরাপদ উপায় way আমি সমস্ত উদাহরণ পেশ করব তবে আপনাকে সতর্ক করে দেওয়া হবে যে কোনওভাবেই আপনি এটি করেন তবে এই পথটি অনেক বেশি নিরাপদ:

sudo visudo

এটি একটি সম্পাদক খুলবে এবং এটিকে sudoers ফাইলের দিকে নির্দেশ করবে - উবুন্টু ন্যানোর ডিফল্ট, অন্যান্য সিস্টেমগুলি vi ব্যবহার করে। আপনি এখন আপনার সিস্টেমের সর্বাধিক গুরুত্বপূর্ণ ফাইলগুলির মধ্যে একটির একজন সুপার ব্যবহারকারী সম্পাদনা করছেন। ঠিকানা নাই!

(Vi এর সাথে সুনির্দিষ্ট নির্দেশাবলী উল্লেখ করা হয়েছে (vi!) আপনি ন্যানো ব্যবহার করছেন তবে এগুলি উপেক্ষা করুন)

Defaultsলাইনের শেষ দিকে যেতে তীর কীগুলি ব্যবহার করুন ।

(vi!) বর্তমান লাইনের শেষে যেতে এবং সম্পাদনা মোডে প্রবেশের জন্য A (মূল "a") কী টিপুন (লাইনের শেষ অক্ষরের পরে সংযোজন)।

এখন টাইপ করুন:

,timestamp_timeout=X

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

(vi!) কমান্ড মোডে ফিরতে এস্কেপ চাপুন। এখন, আপনি যদি নিজের সম্পাদনায় খুশি হন :w Enterতবে ফাইলটি লিখতে টাইপ করুন এবং :q Entervi থেকে বেরিয়ে আসুন। আপনি যদি ভুল করে থাকেন তবে সম্ভবত সবচেয়ে সহজ উপায় হ'ল শুরু থেকে আবার করা, সংরক্ষণ না করে প্রস্থান করা ( Escapeকমান্ড মোডে প্রবেশের জন্য চাপুন) এবং তারপরে টাইপ করুন: q! Enter

হিট Ctrl+ + X, তারপর Y, তারপর Enterআপনার ফাইল এবং প্রস্থান ন্যানো সংরক্ষণ করুন।

অতিরিক্ত তথ্যের জন্য আপনি sudoers এবং vi ম্যানুয়াল পৃষ্ঠাগুলি পড়তে চাইতে পারেন।

man sudoers
man vi

সময়সীমা মান পুনরায় সেট করুন:

sudo -k

এই নির্দেশাবলী sudo কমান্ড ব্যবহার করার সময় একটি পাসওয়ার্ডের জন্য প্রম্পট অপসারণ করা হয়। যদিও sudo কমান্ডটি এখনও রুট অ্যাক্সেসের জন্য ব্যবহার করা দরকার।

Sudoers ফাইল সম্পাদনা করুন

একটি টার্মিনাল উইন্ডো খুলুন। টাইপ করুন sudo visudo। ফাইলটির শেষে নীচের লাইনটি যুক্ত করুন (শেষ না হলে এটি পরবর্তী এন্ট্রিগুলি দ্বারা বাতিল করা যেতে পারে):

<username> ALL=NOPASSWD: ALL

<username>আপনার ব্যবহারকারীর নামটি ( পরিবর্তিত) দিয়ে প্রতিস্থাপন করুন <>। এটি ধরে নেওয়া হচ্ছে যে উবুন্টু আপনার ব্যবহারকারীর নাম হিসাবে একই নামের একটি গোষ্ঠী তৈরি করেছে, এটি সাধারণ is আপনি বিকল্প গ্রুপের ব্যবহারকারী বা অন্য যে কোনও গ্রুপকে আপনি যেভাবে ব্যবহার করতে পারেন তা সুনির্দিষ্টভাবে নিশ্চিত করুন যে আপনি সেই দলে রয়েছেন। সিস্টেম -> প্রশাসন -> ব্যবহারকারী এবং গোষ্ঠীগুলিতে গিয়ে এটি পরীক্ষা করা যায়।

উদাহরণ:

michael ALL=NOPASSWD: ALL

প্রস্থান করতে X ^ ( Ctrl+ X) টাইপ করুন। ফাইলটি সংরক্ষণের জন্য এটি বিকল্পের জন্য অনুরোধ করা উচিত, সংরক্ষণ করতে Y তে টাইপ করুন।

লগ আউট করুন এবং তারপরে আবার লগ ইন করুন This এটি আপনাকে এখন পাসওয়ার্ডের জন্য অনুরোধ না করে sudo কমান্ড চালানোর অনুমতি দেয়।

মূল অ্যাকাউন্ট

মূল অ্যাকাউন্ট সক্ষম করা হচ্ছে

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

sudo -i

তবে, আপনার যদি অবশ্যই রুট লগইন সক্ষম করতে পারেন তবে আপনি এটি এটি করতে পারেন:

sudo passwd root

আপনার মূল অ্যাকাউন্টটি পুনরায় অক্ষম করা হচ্ছে

যদি কোনও কারণে আপনি আপনার মূল অ্যাকাউন্টটি সক্ষম করে রেখেছেন এবং এটি আবার নিষ্ক্রিয় করতে চান তবে টার্মিনালে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

sudo passwd -dl root

সিস্টেম-প্রশস্ত গ্রুপ সুডো

root$ echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

লগ আউট করুন এবং তারপরে আবার প্রবেশ করুন।

সুডোর সময়সীমা পুনরায় সেট করুন

আপনি সুডো পরবর্তী সময় চালিয়ে পাসওয়ার্ড চেয়েছেন তা নিশ্চিত করতে পারেন:

sudo -k

আমি এটি যুক্ত করার আগে এটি পোস্ট করার আগে, এটি করার জন্য সিস্টেমের বিস্তৃত উপায়ে এবং অন্যরা এখানে পড়েন:
ব্যবহারকারী 209328

এটি একটি দেরী উত্তর ছিল, তবে এটি আপনাকে দেয় বিকল্পগুলির ক্ষেত্রে এটি সবচেয়ে বিস্তৃত।
জেন্মিং

1
হুম, উবুন্টু 18.04 এ मेट করুন এটি পুরোপুরি কাজ করে, উবুন্টুতে একই কাজ করার সময় 18.04 জিনোমের কারণে আমার "" ব্যবহারকারী নামটি সুডার্স ফাইলে নেই ... "সমস্যা নিয়ে রিঙ্কেল সৃষ্টি করেছিল। এখন, এ কারণেই অনেকগুলি পিপল কেবল লিনাক্সকে ঘৃণা করে - কারণ এটি খুব কমই "কার্যকারণীয়": ডি আপনি যদি এর মধ্যে চলে যান ... আপনি কীভাবে সমস্যাটি ঠিক করেছেন: tecmint.com/…
পিটার

EDITOR এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করা সম্পাদক সেট sudo env EDITOR=/bin/nano visudoকরতে পারে ... যেমন ন্যানোতে নির্ভরযোগ্যভাবে সম্পাদনা করতে sudoers। (আপডেট-বিকল্পগুলি সম্পাদকও সেট করতে ব্যবহৃত হতে পারে)
গার্ট ভ্যান ড্যান বার্গ

28

পৃথক (বা গোষ্ঠী) অনুমতি প্রদানের পছন্দের উপায়টি হ'ল ফাইলগুলি যুক্ত করা /etc/sudoers.d

এটি স্থানীয় পরিবর্তনগুলিকে ডিফল্ট নীতি থেকে আলাদা করে এবং বিতরণ সুডোর ফাইলের পরিবর্তনের ক্ষেত্রে সময় সাশ্রয় করে।

বর্তমানে ব্যবহারকারী এএ sudoer এ লগইন করতে এবং sudoতাদের একটি পাসওয়ার্ডের জন্য অনুরোধ না করে, ব্যবহার করুন

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER

এটি একটি ফাইল /etc/sudoers.d/$USER( $USERযা ব্যবহারকারীর ব্যবহারকারীর নাম যেখানে আপনি সেই কমান্ডটি চালানোর সময় লগ ইন করেছিলেন সেখানে) তৈরি করবে, এটি পরিষ্কার করে দিবে কোন ব্যবহারকারীদের অনুমতি দেওয়া হয়েছে।

যদি আপনি এটি অন্য কোনও ব্যবহারকারীর জন্য করতে চান $USERতবে উপরের কমান্ডের সাথে অন্য দুটি ব্যবহারকারীর নাম দুটিই প্রতিস্থাপন করুন ।

echo "otheruser ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/otheruser

একইভাবে, একাধিক নির্দেশনা পরিচালনা করতে একটি ফাইল ব্যবহার করা যেতে পারে:

echo "username ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/local

আরও তথ্যের জন্য দেখুন /etc/sudoers.d/READMEএবং man sudoers


ইকো কমান্ড ব্যর্থ হয়েছে, যদিও আমি মূল হয়েছি। তবে, আমি ফাইলটি যুক্ত করেছি এবং এটি সরাসরি সম্পাদনা করেছি এবং এটি সর্বশেষ উবুন্টুতে কাজ করেছে (যেখানে ব্যবহারকারীদের সাথে সরাসরি যুক্ত করা যায়নি!)
স্কেপ

1
সঠিক উপায় হ'ল teeকমান্ড দিয়ে এটি করা ।
woto

1
এটি কাজ করার একটি আরও ভাল উপায়: sudo sh -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/$(logname)'এরপরেsudo chmod 440 /etc/sudoers.d/$(logname)
প্যারাড্রয়েড

ইন sudo ... >fileশেল ফেরৎ, মূল শেল মধ্যে কার্যকর তাই এটি রুট শেল একমাত্র কাজ করতে পারে।
কনস্ট্যান্টিন পেলেপিলিন

অনুমতি পদ্ধতি ছাড়াই টি পদ্ধতি:echo "username ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/username
কারসন আইপ

7

বর্তমান ব্যবহারকারীটির জন্য সুডো প্রম্পটগুলি অপসারণ করতে চমৎকার এক-লাইনার

sudo bash -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" | (EDITOR="tee -a" visudo)'

2
আমার মনে হয় আপনি শুধু করতে পারে: echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo env EDITOR="tee -a" visudoশুধু visudoদরকার sudoপরে (এবং এমনকি envডিফল্ট কনফিগারেশন, IIRC প্রয়োজন হবে না)।
মুড়ু

এখানে অনেক কিছু ভুল হতে পারে (অবশ্যই সমস্ত ব্যবহারকারীর ত্রুটি sudo visudo), ফলাফলটি পরীক্ষা করার সময় (এখনও সম্পাদকটি খোলা আছে), সুডোয়ার ফাইলটি সরাসরি ( ) সম্পাদনা করার পক্ষে আমার খুব নম্র মতামতকে অগ্রাধিকার দেওয়া হয়েছে , এই নতুন ব্যবহারকারীদের জন্য যারা এই "ওয়ান-লাইনার" চেষ্টা করে প্রলুব্ধ হতে পারে।
মাইকেল 25

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

আপনাকে এখনও sudo chmod 440 /etc/sudoers.d/$(logname)সেই ডিরেক্টরিতে README তে বর্ণিত ফাইল অনুমতিগুলি সংশোধন করতে হবে।
প্যারাড্রয়েড

6

অবশ্যই আপনি যা করতে চান তা প্রস্তাবিত নয়। কিছুক্ষণ পরে, প্রবেশ করানো sudoএতটাই স্বয়ংক্রিয় হয়ে যায় যে এর দরকারীতা হ্রাস পায়।

আর একটি পদ্ধতি হ'ল আপনার sudoers ফাইলটি যেমন হয় তেমনি আপনার উচ্চতম শত সার্ভারকে জটিল কিছু করার সময় প্রবেশ করান sudo bash। এটি আপনাকে এমন একটি শেল দেবে যা আপনি প্রস্থান না করা অবধি রুট হিসাবে প্রমাণীকৃত হবে।


12
sudo -sবা sudo -iসম্ভবত উভয়ই এর চেয়ে ভাল ধারণা sudo bash, কারণ তারা পরিবেশকে বুদ্ধিমান এবং জিনিসগুলি নিশ্চিত করে।
দারেল

2
"বুদ্ধিমান ও জিনিস" সাধারণত "উন্নত ধারণার" ক্ষেত্রের মধ্যে থাকে না, কেউ সুডো বাশের চেয়ে সুডো-এস বা সুডো-আই কেন ভাল তার প্রযুক্তিগত ব্যাখ্যা দিতে পারে? (সম্পাদনা করুন: এখানে একটি প্রাসঙ্গিক প্রশ্ন জিজ্ঞাসা করা হয়েছে জিজ্ঞাসাবাবু / প্রশ্নগুলি / 63719১৯ / / ......... )
নুজোলিও

2
কমান্ডটি সঠিকভাবে চালিত হওয়ার জন্য কয়েকটি sudoকমান্ডের (বিশেষত চিন্তাভাবনা করার sudo pip ...) প্রয়োজন sudo -H(হোম সেট করুন)। অন্যান্য ক্ষেত্রে, sudo -E(এনভিয়েভ সংরক্ষণ করুন) প্রয়োজন হতে পারে। দৌড়ানো sudo bashসম্ভবত বেশিরভাগ ক্ষেত্রেই কাজ করবে তবে সব ক্ষেত্রে তা নয় এবং যখন তা হয় না তবে এটি কেন তা পরিষ্কার হবে না।
মাইকেল 25

1
ভূমিকা পাল্টানো এবং সিস অ্যাডমিনের অভিনয় শুরু করার জন্য sudo su হ'ল traditionalতিহ্যগত উপায়।
ব্যবহারকারী1656671

3

সুপার ব্যবহারকারী থেকে একটি ভাল উত্তর আসে:

STDIN থেকে পাসওয়ার্ড পড়ার জন্য -S সুইচটি ব্যবহার করুন:

echo <password> | sudo -S <command>

<password>আপনার পাসওয়ার্ড দিয়ে প্রতিস্থাপন করুন ।


2
এটি প্রস্তাবিত নয়, কারণ পাসওয়ার্ডটি শেল ইতিহাসের ফাইলের ক্লিটারটাইপে থাকে। পরিবর্তে অন্য যে কোনও সমাধান প্রয়োগ করুন।
হ্যাপি ক্যাকটাস

1
@ হ্যাপি্যাক্যাক্টাস আপনি একবার সামনে স্থান রাখতে পারেন echoযাতে এটি ইতিহাসে প্রদর্শিত না হয়?
WinEunuuchs2Unix

হ্যাঁ এটি ইতিহাসের ফাইলটিতে ক্লিয়ারটেক্সট পাসওয়ার্ড প্রকাশ করা এড়াবে। তবে আপনি কি এটি যুক্ত করতে সর্বদা মনে রাখবেন? :-)
হ্যাপি ক্যাকটাস

@ হ্যাপি ক্যাকটাস আমি দুর্ঘটনার দ্বারা নেতৃত্বাধীন স্থান যোগ করার ঝোঁক এবং তারপরে বিরক্ত হয়ে পড়ি যখন ইতিহাস পুনরায় বলা যায় না :) যাইহোক সুপার ব্যবহারকারীর 129 টি উর্ধ্বতন রয়েছে সুতরাং আমি মনে করি এটি এখানে ছেড়ে দেওয়া ভাল উত্তর। লোকেরা আমাদের মন্তব্যগুলি পড়বে এবং ঝুঁকি এবং ঝুঁকি এড়ানোর পদক্ষেপগুলি জানতে পারবে।
WinEunuuchs2Unix

আমি সম্পূর্ণভাবে রাজী. আপনার দিনটি শুভ হোক!
হ্যাপি ক্যাকটাস

2

এক রৈখিক

sudo sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g'


2

এটি একটি ওলাইন সমাধান যা ফাইলের অনুমতিগুলিও পরিবর্তিত হিসাবে উল্লেখ করেছে /etc/sudoer.d/README:

sudo sh -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/$(logname)' & sudo chmod 440 /etc/sudoers.d/$(logname)

0
  • @ আপ্টেরেক্স ধারণাটি প্রসারিত হচ্ছে।

  • এভাবেই আমি সিআইসিডি পাইপলাইনে ব্যবহারের জন্য একটি অল্পকালীন ডকার ইমেজে অ-মূল, পাসওয়ার্ডহীন ব্যবহারকারীর প্রয়োগ করেছি:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.