কোনও ব্যবহারকারী যুক্ত করার জন্য যথাযথ sudoers বাক্য গঠন কী?


50

/etc/sudoers(ফেডোরা 13) এর মন্তব্য অনুসারে :

## Syntax:
##
##    user  MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.

আমার দুটি সম্পর্কিত প্রশ্ন:

  1. ALL=(ALL) ALLনিম্নলিখিত লাইনের অর্থ কী :

    root  ALL=(ALL)   ALL
    
  2. আমি এই দুটি লাইন পরীক্ষা করেছি তবে সেগুলি কীভাবে কার্যকরীভাবে আলাদা তা বুঝতে পারি না:

    superadm    ALL=(ALL)    ALL
    superadm    ALL=ALL
    

আমি ম্যানুয়ালটি পড়েছি কিন্তু সিনট্যাক্সের স্পেসিফিকেশন অনুসরণ করা কঠিন। আমি আবিষ্কার করেছি যে (ALL) ALLঅংশটি হ'ল কমান্ড এবং ট্যাগ স্পেসিফিকেশন তবে এখনও আমি আমার মাথা পেতে পারি না।

উত্তর:


91

দ্রষ্টব্য: আমি 1 টি উত্তর দিচ্ছি , যেহেতু Ignacio ইতিমধ্যে 2 জবাব দিয়েছে

নিম্নলিখিত sudoপ্রবেশে:

superadm  ALL=(ALL)   ALL

এখানে চারটি ক্ষেত্র রয়েছে:

  • প্রথমটি এমন কোনও ব্যবহারকারী নির্দিষ্ট করে যা কিছু আদেশ (গুলি) এর জন্য অনুমোদিত হবে granted
  • দ্বিতীয়টি খুব কমই ব্যবহৃত হয়। এটি হোস্টনামগুলির একটি তালিকা যার উপর এই সুডো এন্ট্রি কার্যকর হবে। স্ট্যান্ডার্ড সেটআপগুলিতে কেবলমাত্র একটি হোস্ট প্রাসঙ্গিক (লোকালহোস্ট) তাই এই ক্ষেত্রটি সাধারণত হিসাবে ছেড়ে যায় ALL
  • চতুর্থ ক্ষেত্র কমান্ড তালিকা superadmউবু অধিকারসহ চালানোর জন্য সক্ষম হবে। ALLসব কমান্ড মানে। অন্যথায় কমান্ড-বিচ্ছিন্ন কমান্ডের তালিকা ব্যবহার করুন।
  • তৃতীয় ক্ষেত্র (written (…)চ্ছিকভাবে লিখিত একটি ) ব্যবহারকারী কোন ব্যবহারকারী (এবং গোষ্ঠী) superadmনীচের কমান্ডগুলি চালাতে সক্ষম হবে তা নির্দিষ্ট করে । ALLএর অর্থ তারা কোনও কিছু বাছাই করতে পারে (বাধা না দিয়ে)। এটি এই ক্ষেত্রটি বাদ দেওয়া হয়েছে, এর অর্থ একই (root)

উদাহরণ:

alan   ALL = (root, bin : operator, system) /bin/ls, /bin/kill

এখানে, alanদুটি কমান্ড চালানোর অনুমতি দেওয়া হয়েছে /bin/lsএবং (বা ) /bin/killহিসাবে সম্ভবত অতিরিক্ত বা গোষ্ঠী সুবিধাগুলি রয়েছে।rootbinoperatorsystem

সুতরাং ব্যবহারকারী হিসাবে alanচালানো এবং এর মতো গ্রুপের সুবিধাগুলি সহ চয়ন করতে পারেন :lsbinoperator

sudo -u bin -g operator /bin/ls /whatever/directory

যদি -uবাদ দেওয়া হয় তবে এটি একই রকম -u root। যদি -gবাদ দেওয়া হয় তবে অতিরিক্ত কোনও গ্রুপের সুযোগ দেওয়া হবে না।


1
ঠিক আছে, এটি সম্ভবত সেরা উত্তর ...
ডেভিড বেটজ

1
আমি লক্ষ্য করেছি যে \nsudoers বা /etc/sudoers.d/your_file_name এ প্রবেশের শেষে একটি নতুন লাইন চরিত্রটি বাধ্যতামূলক
রামনরাইল

এছাড়াও আপনি হোস্টের নাম, পথের নাম এবং কমান্ড লাইন আর্গুমেন্টে ওয়াইল্ডকার্ড ব্যবহার করতে পারেন। এখানে লাইক /bin/cat /var/log/messages.?বা /bin/ls /var/log/*আরও তথ্য
অ্যালেক্স

9

থেকে sudoers(5)মানুষ পাতা, বর্ণনা অধ্যায়, Runas_Spec উপধারা:

প্রথম Runas_List ইঙ্গিত যা ব্যবহারকারীদের কমান্ড মাধ্যমে হিসাবে চালানো হতে পারে sudo'র -uবিকল্প।

...

যদি কোনও রুনাস_স্পেক নির্দিষ্ট না করা থাকে তবে কমান্ডটি চালানো যেতে পারে rootএবং কোনও গোষ্ঠী নির্দিষ্ট করা যাবে না।

তাই কোন কার্মিক পার্থক্য যখন যেমন কমান্ড চালানোর চেষ্টা আছে rootযখন ব্যবহার করছেন না, অর্থাত -uসঙ্গে sudo। অন্যান্য ব্যবহারকারী হিসাবে কমান্ড চালানোর চেষ্টা করার সময় পার্থক্যটি গুরুত্বপূর্ণ; পরবর্তীকরা এটি প্রতিরোধ করবে, তবে পূর্ববর্তী এটি অনুমতি দেবে।

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