/ ইত্যাদি / সুডোরগুলিতে NOPASSWD যুক্ত করা কার্যকর হয় না


45

14.04 এ এখানে। আমি আমার মেশিনে এসএসএড করেছি, নিম্নলিখিত লাইনটি এতে যুক্ত করেছি /etc/sudoers:

myuser   ALL=NOPASSWD: ALL

এবং তারপরে দৌড়ানোর চেষ্টা করেছেন:

sudo mkdir /etc/blah

... এবং আমাকে আমার পাসওয়ার্ড জিজ্ঞাসা করা হচ্ছে কেন?!?

আমি না এই অপারেশন করছেন আমার পাসওয়ার্ডটি জন্য জিজ্ঞাসা করা চাই। দয়া করে মনে রাখবেন যে আমি যখন দৌড়ান তখন ls -ltr /আমি পাই:

drwxr-xr-x 94 root root  4096 Jul 30 13:28 etc

তবে আমি এই বিষয়গুলি মনে করি না কারণ আমি নিজেকে "সুডোর" হিসাবে সেট করেছি, তাই না?

আরও গুরুত্বপূর্ণ বিষয় হল, পাসওয়ার্ড না জিজ্ঞাসা করে আমি sudo mkdir /etc/blahআমার বর্তমান ব্যবহারকারী ( myuser) হিসাবে চালাতে পারি যাতে আমার কী করা দরকার ?

আমার সম্পূর্ণ /etc/sudoersফাইলটি এখানে :

#
# 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"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root      ALL=(ALL:ALL) ALL
fizzbuzz  ALL=NOPASSWD: ALL
chadmin   ALL=NOPASSWD: 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

আপনি কি আপনার sudoers ফাইল পোস্ট করতে পারেন? নির্দেশটি সঠিক, তবে প্রসঙ্গের কারণে এটি কাজ করতে পারেনি।
লেটি

ধন্যবাদ @ লেটিজিয়া - দয়া করে আমার আপডেট দেখুন, কিছু আপনার থেকে ঝাঁপিয়ে পড়েছে?
জ্যাক

আমি আরো উল্লেখ্য যে, আমি না না ব্যবহার visudoকিন্তু এই ফাইলটি করা হয় নি কোনো স্বনির্ধারিত সম্পাদনাগুলি কপি-এন-পেস্ট কাজ, আমি হল সবকিছু টাইপ করা। তবে visudoএগুলি ছাড়াও অন্যান্য ফাইলগুলি সম্পাদনা করা যায়? এটি হতে পারে ...
জ্যাক


এছাড়াও, যে কোনও ফাইল চেক করুন /etc/sudoers.d/, এগুলি হতে পারে/etc/sudoers
টোকল্যান্ড

উত্তর:


68

এটি নিয়মের ক্রম / ক্রম যা এই কারণে ঘটেছিল caused শেষ নিয়মটি অগ্রাধিকার নেয়।

আপনার সমস্যা সমাধানের জন্য, কেবল আপনার লাইনগুলি সরিয়ে দিন,

fizzbuzz  ALL=NOPASSWD: ALL
chadmin   ALL=NOPASSWD: ALL

থেকে sudoersফাইলে

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

এটি sudoersএকটি সরল পাঠ্য সম্পাদক দ্বারা ফাইল সম্পাদনা করার চেয়ে ভাল পদ্ধতির । যদি আপনি দুর্ঘটনাক্রমে ফাইলটিতে ত্রুটি sertোকান তবে আপনি আর চালাতে পারবেন না sudo। সর্বদা ব্যবহার করুন visudo, যাতে বাক্য গঠন পরীক্ষা করা হয় এবং আপনি ভুল সম্পর্কে সতর্কতা পান!

আপনার নির্দেশনা কাজ করে না কারণ এটি এর দ্বারা ওভাররাইড হয়ে গেছে:

%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

আপনি যদি groupsকমান্ডটি চালনা করেন আপনার দেখতে হবে যে আপনার ব্যবহারকারী এই গোষ্ঠীগুলির অন্তর্ভুক্ত।


ফাইলটির নাম একটি সম্মেলনের অনুসরণ করা উচিত nn-somename, উদাহরণস্বরূপ/etc/sudoers.d/20-myoverrides
শিমাতাই

হ্যাঁ, অবশ্যই, যদি আপনার একাধিক ফাইল থাকে তবে এগুলি সাজানো লেজিকাল ক্রমে পার্স করা হয়েছে, সুতরাং একটি সংখ্যা ব্যবহার করা ভাল অভ্যাস এবং এটি ক্রমটি জানার পক্ষে সহজ হবে।
লেটি

21

তাহলে myuser হয় উবুন্টু গ্রুপ, তারপর লাইনের এই আদেশ, passwordless অ্যাক্সেস (যেমন ফ্লোরিয়ান Diesch দ্বারা লক্ষনীয়) প্রদান করবে না কেননা 3rd লাইন 1st এক ওভাররাইড করে।

myuser    ALL=(www-data:www-data) NOPASSWD: ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

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

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
myuser    ALL=(www-data:www-data) NOPASSWD: ALL

অধীনে myuser অ্যাকাউন্ট ব্যবহার sudo -lকি অনুমতি চেক করতে myuser হয়েছে।


10

যদি একাধিক এন্ট্রি কোনও ব্যবহারকারীর সাথে মেলে তবে সর্বশেষটি ব্যবহৃত হবে। সুতরাং fizzbuzzএবং যদি chadminগ্রুপগুলির সদস্য হয় adminবা sudoতাদের এখনও একটি পাসওয়ার্ড জিজ্ঞাসা করা হবে।

লাইনের sudoersপরে ফাইলটির শেষে দুটি লাইন রাখুন #includedir


প্রকৃতপক্ষে, সুতরাং @ লেটিজিয়াসহ আপনার উত্তরগুলির সংমিশ্রণটি সেরা, যেহেতু ডিফল্টরূপে #includedirএটিই শেষ প্রবেশ sudoers
মুরু

0

আদর্শভাবে যদি আপনি কমান্ডগুলি পরিচালনা করতে পারেন তা কাস্টমাইজ করে থাকেন তবে আপনার সরাসরি ফাইল সম্পাদনা করার পরিবর্তে sudoএকটি পৃথক ফাইলে এই পরিবর্তনগুলি করা উচিত । আপনার ফাইল (গুলি) সম্পাদনা করতে সর্বদা ব্যবহার করা উচিত । আপনাকে এটার অনুমতি কখনও উচিত উপর কমান্ড।/etc/sudoers.d/sudoersvisudoNOPASSWDALL

উদাহরণ: sudo visudo -f /etc/sudoers.d/mynotriskycommand

অনুমতি দেওয়ার জন্য আপনার লাইনটি প্রবেশ করান: myuser ALL= NOPASSWD: /bin/mkdir

তারপরে সংরক্ষণ করুন এবং প্রস্থান করুন এবং visudoআপনার যদি কোনও সিনট্যাক্স ত্রুটি থেকে থাকে তবে আপনাকে সতর্ক করবে।

sudo -lআপনার ব্যবহারকারীর যে অনুমতি পেয়েছে তা দেখতে আপনি দৌড়াতে পারেন , যদি কোনও নির্দিষ্ট নির্দিষ্ট NOPASSWDকমান্ড %groupyouarein ALL=(ALL) ALLআউটপুটে কোনও আদেশের আগে উপস্থিত হয় তবে আপনাকে আপনার পাসওয়ার্ডের জন্য অনুরোধ করা হবে।

যদি আপনি নিজেকে এই প্রচুর sudoers.d ফাইল তৈরি করে দেখতে পান তবে সম্ভবত আপনি তাদের ব্যবহারকারী হিসাবে নাম তৈরি করতে চান যাতে সেগুলি ভিজ্যুয়ালাইজ করা সহজ হয়। মনে রাখবেন যে ফাইলের মধ্যে ফাইলের নাম এবং বিধিগুলির ক্রমটি অত্যন্ত গুরুত্বপূর্ণ, সর্বশেষের একটি বোঝা বিজয়ী, এটি পূর্ববর্তী এন্ট্রিগুলির চেয়ে আরও বেশি বা কম অনুমোদিত ive

আপনি 00-99 বা এএ / বিবি / সিসির উপসর্গ ব্যবহার করে ফাইলের নাম ক্রমটি নিয়ন্ত্রণ করতে পারেন, তবে এও মনে রাখবেন যে আপনার যদি এমন কোনও ফাইল থাকে যার সংখ্যার উপসর্গ থাকে না, তবে তারা সংখ্যায়িত ফাইলের পরে ওভাররাইড করে লোড করবে সেটিংস। এটি কারণ আপনার ভাষা সেটিংসের উপর নির্ভর করে "লেজিকাল বাছাই" শেলটি প্রথমে ধরণের সংখ্যা ব্যবহার করে এবং তারপরে "আরোহী" ক্রম অনুসারে বাছাইয়ের সময় উপরের এবং ছোট হাতের অংশটি আন্তঃবিবাহ করতে পারে।

দৌড়াতে চেষ্টা করুন printf '%s\n' {{0..99},{A-Z},{a-z}} | sortএবং printf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sortআপনার বর্তমান ভাষার প্রিন্টগুলি AaBbCcইত্যাদি প্রিন্ট রয়েছে কিনা তা পরীক্ষা করে দেখুন বা ABCতারপরে abcব্যবহারের সেরা "শেষ" বর্ণের উপসর্গটি কী হবে তা নির্ধারণ করুন।

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