"সুডো-রু মূল প্রতিধ্বনি` হুয়ামি "কেন মূলটিকে ফেরত দেয় না?


11

আপনি উবুন্টুতে প্রকৃত রুট ব্যবহারকারী হিসাবে কমান্ড চালাতে sudo ব্যবহার করবেন কীভাবে? আমি প্রথমে ভেবেছিলাম এটি সুদোর ডিফল্ট আচরণ, যতক্ষণ না আমি দৌড়েছি:

myuser@localhost:~$ sudo echo `whoami`
myuser

myuser@localhost:~$ sudo -u root echo `whoami`
myuser

তবে, এটি আমি চাই আচরণের ধরণ, তবে কেবল একটি লাইনে:

myuser@localhost:~$ sudo su -
root@localhost:~# echo `whoami`
root

11
প্রতিধ্বনি কেন whoami? শুধু সুডো হোয়ামি বলুন .. মূলটি ফেরান
নিও

উত্তর:


26

আসলে এটা করে তাদের রুট হিসাবে চালাতে। তবে, আপনার সাথে যা ঘটছে তা হ'ল পিছনের টিকগুলি রান করার আগে মূল্যায়ন করা হচ্ছে sudo, কারণ কমান্ডটি মূল্যায়ন করার জন্য তাদের প্রয়োজন। আরও সরাসরি, কেন শুধু এটি নয়:

sudo whoami

আপনার whoamiপিছনে টিকগুলি প্রকৃত ব্যবহারকারীর হিসাবে একটি সাব-শেলের মধ্যে মূল্যায়ন করা হয়, এজন্য আপনি কী করেন তা দেখেন।


2
এটা ভুল. sudo রুট সুবিধাগুলি দিয়ে চলে তবে মূল হিসাবে নয়।
মানফ্রেড মোশার

@ মোসার, তার আদেশ কেন "রুট" মুদ্রণ করে?
সেরিন

4
@ManfredMoser: এটা এর ইউআইডি সঙ্গে রান 0(শূন্য), যা হয় ঠিক কি মানুষ "মূল" কল। (আপনি যদি সত্যই ইউআইডি পরিবর্তন না করে sudoকেবল তার সক্ষমতা বাড়িয়ে থাকেন তবে আপনি ঠিকই থাকতেন But তবে এটি তা করে না))
ব্যবহারকারী ১166

1
এম মোসার সম্ভবত প্রক্রিয়াটির কার্যকর ব্যবহারকারী আইডি পরিবর্তন করার জন্য সেট-ইউআইডি সম্পর্কে একটি বক্তব্য রেখেছিলেন , প্রক্রিয়াটি নিজেই সত্যিকারের মতোই বাস্তব ব্যবহারকারী আইডি পরিবর্তন করার প্রয়োজন sudoহয়। তবে জাইআর উত্তর পড়া থেকে মনে হয় না এটি আসলে ঘটেছে।
JdeBP

7

সাব-শেল ( whoami) প্রথমে কার্যকর করা হবে, আপনার মতো এবং ফলাফল ( myuser) sudoকমান্ডে স্থাপন করা হয় ; যা sudoদেখছে তা হচ্ছে echo myuser। এটিকে শর্টকাট হিসাবে মনে করুন:

tmpvar=`whoami`
sudo echo "$tmpvar"

1

এখানে কিছুটা চমকপ্রদ চলছে বলে মনে হচ্ছে…

ব্যাকটিকস স্পষ্টতই অন্যেরা যা বুঝিয়েছিলেন তা করছেন, whoami'সুডো' বলার আগে প্রসারিত হয়েছে , এবং প্রত্যাশা অনুযায়ী ব্যাকটিক্সকে 'রুট' ছাড়বেন।

কিন্তু আসলে সুডো (8) এর সাথে কী ঘটছে তা বোঝা দরকারী। আমি আসলে ম্যান পেজ তাকান!

"প্রকৃত এবং কার্যকর ইউআইডি এবং গিড লক্ষ্য ব্যবহারকারীদের সাথে মেলে ...

সুতরাং দেখা যাচ্ছে যে কার্যকর এবং বাস্তব ব্যবহারকারী আইডির মধ্যে পার্থক্যটির সাথে পর্যবেক্ষণ করা আচরণের কোনও সম্পর্ক নেই।

এটি "সুডো প্রিন্টেনভ" করা এবং কেবল "প্রিন্টেনভ" এর সাথে তুলনা করা উদাহরণস্বরূপ যা আসলে আমাকে কিছুটা অবাক করেছিল। এটি দেখায় যে [i] কিছু [/ i] রফতানি ভেরিয়েবলগুলি পাওয়া যায় এবং অন্যগুলিও নেই: এটি অনুরোধকারী ব্যবহারকারীর হোম, পাথ, পিএস 1, শেল, টার্ম এবং এডিটোরের প্রতিবেদন করে, তবে মনপথ, সিভিস্রুট, এলডি_লিবারি_প্যাথ, বা অন্যদের মতো নয় ENV। এটি কিছুটা অদ্ভুত বলে মনে হচ্ছে, কারণ এটি প্রোগ্রামগুলির মূল ব্যবহারকারী হিসাবে বা মূল হিসাবে তুলনায় আলাদা আচরণ করতে পারে।


0

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

এই সেটআপটি মূল পাসওয়ার্ডগুলি ভাগ করার চেয়ে ভাল। এর ফলে এটি উবুন্টু সহ অনেকগুলি ডিস্ট্রিবিউশনে রুট ব্যবহারকারী থাকার পরিবর্তিত হয়েছে।

অন্যদিকে sudo su আপনাকে মূল ব্যবহারকারী করে তোলে এবং তাই সত্যই ব্যবহার করা উচিত নয়।

এই পার্থক্যটি আপনার পর্যবেক্ষণ (সঠিক) আচরণও ব্যাখ্যা করে।


6
না। আচরণটি কী ব্যাখ্যা করে তা শেলের মধ্যে কমান্ড প্রতিস্থাপন কীভাবে কাজ করে তা একটি খুব সাধারণ বিষয়। সুবিধাগুলি নিয়ে এটি করার কিছুই নয়।
JdeBP

-2

সুডো অস্থায়ীভাবে যাকে আপনি হন (প্রথমে আপনাকে সুডোর অনুমতি দেওয়া হয়) মূল স্তরের সুযোগগুলি দেয়।

রুট হওয়ার জন্য আপনাকে ডিফল্টরূপে উবুন্টুতে অবরুদ্ধ রুট হিসাবে লগ ইন করতে হবে।

আপনার এটির সাথে সতর্কতা অবলম্বন করা দরকার, সুডো মূল নয়। আপনি যদি সেই ফ্রেডকে কিছু উপস্থাপন করছেন তা sudo হিসাবে দেখাতে চান, SUDO এনভায়রনমেন্ট ভেরিয়েবলগুলি che3d করুন, SUDO_COMMAND সবচেয়ে কার্যকর হতে পারে।


উবুন্টুতে রুট অবরুদ্ধ? আপনি কি এ ব্যাপারে নিশ্চিত? আমি জানি যে এটি নিরুৎসাহিত হয়েছে, তবে আমি ভেবেছিলাম তারা কোনও ইউইউডি ব্যবহার করে একটি অস্পষ্ট পাসওয়ার্ডটি সেট করে কোনও নবজাতকের পক্ষে এটিকে কিছুটা আরও কঠিন করে তুলেছে, যা সাধারণ পদ্ধতিগুলি ব্যবহার করে পরিবর্তন করা যেতে পারে।
মার্টি ফ্রাইড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.