পাসওয়ার্ড ছাড়াই sudo ব্যবহার করে অ্যাপ্লিকেশনটি কীভাবে চালানো যায়?


40

... তবে এখনও এমন অ্যাপ্লিকেশনগুলির প্রয়োজন যা অ্যাডমিন সুবিধাগুলি প্রয়োজন?

নিম্নলিখিত অনুমতি দেওয়ার জন্য:

$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

$ sudo !!
sudo apache2ctl restart             #no password asked
$                                   #works!

রেফারেন্সের জন্য আমি অ্যামাজনের ই 3 উদাহরণগুলিতে এই সেটআপটি দেখেছি

কোন ধারণা?


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

উত্তর:


51

আপনার sudoers ফাইল সম্পাদনা করতে হবে। পরামর্শ দিন যে সাফল্য আপনাকে একটি কম সুরক্ষিত সিস্টেম দেয় এবং ব্যর্থতা sudo ভেঙে দিতে পারে। sudo visudoউইসডো ত্রুটিগুলির জন্য যাচাই করে এবং এর সাথে যদি কোনও সন্ধান পাওয়া যায় তবে ফাইলটি সংরক্ষণ করতে পারে না বলে সর্বদা sudoers ফাইলটি সম্পাদনা করে ।

কোনও পাসওয়ার্ড ছাড়াই রুট হিসাবে চালানোর জন্য সমস্ত কিছু দেওয়ার অনুমতি দেওয়া একটি খারাপ ধারণা, যাতে আপনার প্রয়োজনের একটি কার্যকর হতে পারে (অ্যাপাচি 2 সিটিএল); ফাইলটি একেবারে নীচে যুক্ত করুন:

YOURNAME ALL = NOPASSWD: /usr/bin/apache2ctl

আপনি যদি পুরো পাসওয়ার্ডহীন sudo দিয়ে থাকেন তবে আপনি "ALL" দিয়ে এক্সিকিউটেবলের পাথটি প্রতিস্থাপন করতে পারেন।

আপনার ব্যবহারকারী নাম দিয়ে YOURNAME প্রতিস্থাপন করুন এবং সংরক্ষণ এবং প্রস্থান করতে Ctrl+ টিপুন X। যদি কোনও ত্রুটি দেখা দেয় তবে এটি যে কোনও উপায়ে প্রত্যাবর্তন, সম্পাদনা বা সংরক্ষণের প্রস্তাব দিবে।

নিশ্চিত হয়ে নিন যে আপনি নির্বাহযোগ্যের পুরো পথটি ব্যবহার করেছেন:
যেমন। /usr/bin/apache2ctlপরিবর্তে ন্যায়বিচার apache2ctl। এটি গুরুত্বপূর্ণ কারণ কারণ সুডো পাথকে সুস্পষ্টভাবে উল্লেখ না করে ব্যবহারকারীর বর্তমান পাথের অ্যাপাচিটল নামের কোনও প্রোগ্রামকে রুট হিসাবে চালানোর অনুমতি দেবে।


3
মনে রাখবেন যে আপনার ব্যবহারকারীর মতো নামী গোষ্ঠীটিকে%YOURNAME অনুমতি দেবে , যা সাধারণত কোনও সমস্যা হয় না যেহেতু প্রতিটি সাধারণ ব্যবহারকারীর উবুন্টু সিস্টেমে একটি পছন্দ মতো গ্রুপ রয়েছে। আপনার ব্যবহারকারীকে অনুমতি দেওয়ার জন্য, % ব্যতীত নির্দিষ্ট করুন। YOURNAME
ড্যানিয়েল ওয়ার্নার

আরও পুনরুদ্ধার করার উপায় আছে কি? (কেবলমাত্র কার্যকর কার্যকর কিছু ফাংশন)
3pic

1
প্রাচীন পোস্ট, কিন্তু আমি স্পষ্টভাবে যে উত্তর একটি নির্দিষ্ট হোস্ট-নেম অনুযায়ী sudoers 'এন্ট্রি (সম্ভব হলে) সীমাবদ্ধ কর্তৃক প্রদত্ত আর্গুমেন্ট সব সময়ে কোন যুক্তি O (নিম্নলিখিত সম্পন্ন হবে, এবং পারেন apache2ctl), যেমন: YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">। --- সব ক্ষেত্রেই man 5 sudoersরেফারেন্স হয়।
সিবিহে 13

25

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

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

%steroid_users ALL=(ALL) NOPASSWD: ALL

ফাইলের শেষে, প্রস্থান করুন এবং ফাইলটি সংরক্ষণ করুন। যদি সবকিছু ঠিকঠাক হয়, এবং আপনি স্টেরয়েড_উজার্স গ্রুপের সদস্য হন তবে আপনি sudo *some-command*নিজের পাসওয়ার্ড প্রবেশের প্রয়োজনের বিরক্তি ছাড়াই ইস্যু করতে সক্ষম হবেন ।

মনে রাখবেন যে আপনি লগ ইন করার সময় আপনার টার্মিনালে অ্যাক্সেস পেয়েছেন - বা কী-ভিত্তিক লেখকের জন্য যদি আপনি ssh সেটআপ করেন, বা (আরও খারাপ) আপনার পাসওয়ার্ড ফ্রি সেশন লগইন সক্ষম করেছেন - আপনার সম্পূর্ণরূপে সম্পূর্ণ এবং নিরক্ষিত অ্যাক্সেস পদ্ধতি. আপনার সিস্টেমে যদি আপনার একাধিক ব্যবহারকারী থাকে বা এটি ফাইল সার্ভার হয় তবে রুট যে কোনও কিছুই করতে পারে বলে সমস্ত ব্যবহারকারী ফাইলই ঝুঁকির মধ্যে পড়তে পারে !

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

আশা করি এটা কাজে লাগবে.


এটি কাজ করেছিল, আমি এটি নিয়েছিলাম এবং তারপরে আমি "সুডো সার্ভিস সুডো রিস্টার্ট" জিজ্ঞাসাবুন্টু.কোয়েশনস / ১৯২০৫০/২ থেকে ব্যবহার করেছি এবং আমি আমার সক্রিয় উবুন্টু সেশনে এই সমস্তগুলি ব্যবহার করতে সক্ষম হয়েছি। অসাধারণ!
প্যাট্রিক

5

আপনার ব্যবহারকারীর বা গোষ্ঠীর জন্য অনুমোদিত কমান্ডের তালিকার আগে NOPASSWD যুক্ত করার জন্য আপনাকে '/ etc / sudoers' ফাইলটি সম্পাদনা করতে হবে (তার জন্য 'ভিসুডো' কমান্ড রয়েছে)) যদি আপনার ব্যবহারকারী 'প্রশাসক' গোষ্ঠীতে থাকেন - আপনার নিম্নলিখিতগুলি দরকার:

%admin ALL=(ALL) NOPASSWD: ALL

পরীক্ষা করে দেখুন https://help.ubuntu.com/community/Sudoers , BTW।


3

আপনি ব্যবহারকারীর তালিকায় নোপাসউইড ফ্ল্যাগ যুক্ত করতে পারেন তবে এটি জিজ্ঞাসিত সমস্ত পাসওয়ার্ডকে মুছে দেয় না। কেবল প্রথমটিকে জিজ্ঞাসা করা হবে।

  1. Sudoers সম্পাদনা করুন: sudo visudo(আপনি sudo ব্যবহার করতে হবে। এটি একটি অ্যাডমিন ফাইল।)
  2. আপনার ব্যবহারকারীকে অ্যাডমিন লাইনের পরে (শেষে) নোপাস্বড পতাকা সহ যুক্ত করুন। যেমন:
    cyrex ALL = NOPASSWD: ALLবাcyrex ALL = (ALL) NOPASSWD: ALL

2
sudo visudo
%<GROUP> ALL = NOPASSWD: apache2ctl

অথবা

sudo visudo
%<GROUP> ALL = NOPASSWD: /etc/init.d/apache2

আমি মনে করি এটি এটি করবে would

তবে সুডোর জন্য পাসওয়ার্ড অপসারণ সম্পর্কে সতর্কতা অবলম্বন করুন।


2
সুরক্ষার কারণে - আপনার প্রথম উদাহরণে আপনার পরম পথটি নির্দিষ্ট করা উচিত - অসাধু ব্যবহারকারী $ PATH পরিবর্তন করতে এবং একটি অযোগ্য কমান্ড নাম দিয়ে রুট অ্যাক্সেস চুরি করতে পারে।
বিজিওয়গান

0

এখন সরল উত্তরের জন্য! কোনও কিছুর বিড়বিড় করার বা আপনার ইনস্টল আপের সম্ভাবনা নেই way

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

% ব্যবহারকারীর নাম এবং আপনার ব্যবহারকারীর জন্য বৈশ্বিক পরিবর্তনশীল (এটি পছন্দসই ব্যবহারকারীর নাম দিয়ে প্রতিস্থাপন করুন)

পদক্ষেপ 1: একটি টার্মিনাল উইন্ডো খুলুন এবং তারপরে " sudo usermod -a -G root %username%" টাইপ করুন

পদক্ষেপ 2: তারপরে এটি অনুলিপি / পেস্ট করুন ...

sudo sed -i 's/# auth       sufficient pam_wheel.so trust/auth       sufficient pam_wheel.so trust/g' /etc/pam.d/su`

পদক্ষেপ 2 বা টাইপ করুন

sudo nano /etc/pam.d/su`

19 লাইনটি যান এবং "#" মুছে ফেলুন এর আগে # auth sufficient pam_wheel.so trust(কারওর জন্য আলাদা লাইন নম্বর হতে পারে)

* প্রথম কমান্ডটি আপনার "% ব্যবহারকারীর নাম" গোষ্ঠীতে "রুট" এ যুক্ত করে

দ্বিতীয় / তৃতীয় কমান্ডগুলি "রুট" গোষ্ঠীর সমস্ত সদস্যকে পাসওয়ার্ড ছাড়াই সুপারভাইজার হিসাবে অনুমতি দেয়, বনাম কেবল ব্যবহারকারীকে "রুট" su অনুমোদনের জন্য অনুমোদনের অনুমতি দেয়।


প্রান্তটীকা:

এ নিয়ে গোলমাল করবেন না /etc/sudoers... প্রচুর চেক / ব্যালেন্স রয়েছে যেগুলি 'সু' প্রমাণীকরণের মধ্য দিয়ে যেতে হবে। সুপারউজার প্রমাণীকরণ অন্যান্য লগইন প্রমাণীকরণ হিসাবে একই pam.d পদ্ধতি ব্যবহার করে। "/etc/security/access.conf" টিসিপি / আইপি (192.168.0.1) যোগাযোগের মাধ্যমে এবং টেলনেট পরিষেবাদির (tty1 & tty2 & tty3 ... ইত্যাদি) মাধ্যমে অ্যাক্সেস নিয়ন্ত্রণের জন্য লেআউট রয়েছে এটি ট্রান্সপোর্ট প্রোটোকলের মাধ্যমে অ্যাপ্লিকেশনটিতে আরও সুনির্দিষ্ট ফিল্টারিংয়ের অনুমতি দেয়। সুরক্ষা যদি আপনার উদ্বেগ হয় তবে আপনার ঘরটি ছাড়ার পরে আপনার উদ্বেগটি দূরবর্তী / কোড হুমকির বিরুদ্ধে হওয়া উচিত যে কেউ আসলে আপনার কম্পিউটারে স্পর্শ করছে !!!

প্যারানোয়ার খাবার (কেবল এটি পর্যালোচনা করে এটি টাইপ করবেন না):

sudo sed -i 's/#-:ALL EXCEPT (wheel) shutdown sync:LOCAL/-:ALL EXCEPT (wheel) shutdown sync:LOCAL/g' /etc/security/access.conf

System এটি সিস্টেম বা রুটের সদস্য নয় এমন কারও জন্য কনসোল অ্যাক্সেসকে অবরুদ্ধ করে। কখনও কখনও প্রোগ্রামগুলি ব্যবহারকারীর নাম / গোষ্ঠীগুলি ইনস্টল করে যেগুলি শোষণ করা হয়!


2
কোনও সুরক্ষা বিশেষজ্ঞ নন তবে এটিকে কিছুটা স্বজ্ঞাত মনে হচ্ছে। কোনও নির্দিষ্ট অ্যাপ্লিকেশনের জন্য পরিশোধিত সুডোর "জটিলতা" এড়ানোর জন্য কোনও একক ব্যবহারকারীকে পাসওয়ার্ড ছাড়াই একটি নির্দিষ্ট অ্যাপ্লিকেশন চালানোর অনুমতি দেওয়ার জন্য আপনি পুরো গোষ্ঠীর জন্য পাসওয়ার্ড অক্ষম করছেন ? এবং একটি পাবলিক সার্ভার এ সব? স্ক্রিপ্টটি কি আপনার প্রাথমিক বেঁচে থাকার প্রবণতা অক্ষম করেছে? ডিজাইনের মাধ্যমে সুরক্ষা সম্পূর্ণ। মনে রাখবেন, এটি পেঁয়াজের মতো। এটির স্তর রয়েছে এবং এটি আপনাকে কাঁদিয়ে তোলে ... আপোষযুক্ত সার্ভারগুলিতে ডেটা হ্রাস সমীকরণের একমাত্র অংশ। আপনার সিস্টেম থেকে একটি হ্যাকার স্প্রিং-বোর্ডিং আক্রমণ সমান গুরুতর তবে প্রায়শই উপেক্ষা করা হয়
hmayag

2
এটি স্বজ্ঞাত ও সাধারণ জ্ঞানের বিরোধী: এমন কোনও ব্যবহারকারীর জন্য কেবল কুকির জারটি খোলা বেশ দায়িত্বজ্ঞানহীন। আপনি sudoers তালিকায় ব্যবহারকারীদের যুক্ত এবং sudoers ফাইল / ফাইল সম্পাদনা করার পরিবর্তে পাসওয়ার্ড প্রবেশের প্রয়োজন মুছে ফেলতে হবে। "যদি কোনও হ্যান্ডগান বাচ্চাদের পক্ষে অনিরাপদ থাকে তবে তাদের একটি কানন দেবেন না" " -মে
জন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.