শিকড় অ্যাকাউন্টের জন্য বর্তমান অক্ষমতা /etc/passwd
হল root:x:0:0:root:/root:/bin/bash
।
সেট করে দিই না কেন root:x:0:0:root:/root:/usr/sbin/nologin
?
শিকড় অ্যাকাউন্টের জন্য বর্তমান অক্ষমতা /etc/passwd
হল root:x:0:0:root:/root:/bin/bash
।
সেট করে দিই না কেন root:x:0:0:root:/root:/usr/sbin/nologin
?
উত্তর:
যদি এমনটি হয় sudo
তবে আপনি একবারে একটি দিয়ে কমান্ড চালাতে সক্ষম হবেন তবে আপনি কোনও রুট শেল শুরু করতে পারবেন না। একটি রুট শেল অনেক ক্ষেত্রে সুবিধাজনক, উদাহরণস্বরূপ আপনি যদি একাধিক কমান্ড একটি সারিতে রুট হিসাবে চালানোর পরিকল্পনা করছেন।
বিশেষত, আপনি দৌড়াতে পারেন নি sudo -i
, যেমন অ্যালেক্সপি উল্লেখ করেছে। থেকে man sudo
:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bash
কাজ করে না?
sudo -s
আমার মনে হয় এর চেয়ে বেশি হবে (একটি রুট শেল, তবে কোনও রুট লগইন শেল নয়) যদিও এটি একটি ভাল পয়েন্ট - এবং বাস্তবে sudo -s
মূলের শেল থাকা সত্ত্বেও কাজ করে বলে মনে হচ্ছে/usr/sbin/nologin
-i
, -s
, /bin/bash
, এবং তাই শুধু কমান্ড একটি পরিচ্ছন্ন তালিকা অনুমতি দিয়ে উপর, sudoers ফাইলের জন্য ডকুমেন্টেশন দেখুন। এটি এত সূক্ষ্ম দানযুক্ত, উদাহরণস্বরূপ ব্যবহারকারীদের চালানোর অনুমতি /etc/init.d/someservice restart
না দিয়ে রুট হিসাবে চালানো সম্ভব /etc/init.d/someservice stop
। তবে উবুন্টু ডিফল্ট কেবল কোনও পাসওয়ার্ড সেট করা root
এবং অ্যাডমিন ব্যবহারকারীদের সুদো দিয়ে সবকিছু করার অনুমতি দেওয়ার জন্য নয় । সম্ভবত যুক্তি ক) একাধিক প্রশাসক ব্যবহারকারী এবং খ) প্রশাসক ব্যবহারকারীর মূল অ্যাকাউন্টের জন্য দ্বিতীয় পাসওয়ার্ড মনে রাখার দরকার নেই।
আলবার্তো শান্তিনির সুডো উত্তর ছাড়াও আরও একটি উত্তর (আরও ভাল) রয়েছে। যদি রুটের শেলটি এমন কিছুতে সেট করা থাকে যা শেল নয়, তবে একক ব্যবহারকারীর বুট করা কাজ করে না। sulogin
অ-এক্সট্যান্ট শেল বা সম্পূর্ণ ভাঙ্গা শেলের মতো জিনিসগুলির জন্য পুনরুদ্ধার রয়েছে , তবে শেলটি বৈধ শেল হিসাবে দেখা গেলেও বাস্তবে এটি শেল না হলে এটি কাজ করবে না।
আপনি এখনও sudo
সরাসরি শেলটি নির্দিষ্ট করে শেলটি পেতে sudo
পারেন যাতে এটি এমনকি ভাল সুরক্ষাও নয়।
sudo -i
?